🔍 Contexte
Source : StepSecurity (blog officiel), publié le 4 août 2026. L’alerte est issue du StepSecurity OSS Security Feed qui a détecté une vague de publications malveillantes entre 09h30 et 11h30 UTC le 4 août 2026. L’investigation est déclarée active au moment de la publication.
🪱 Nature de la menace
ChainDrop est un ver auto-propagant ciblant l’écosystème npm. Il publie des versions compromises de packages légitimes en utilisant des credentials/tokens de mainteneurs volés. La vitesse de propagation et la diversité des scopes de mainteneurs touchés confirment une automatisation de type worm.
⚙️ Mécanisme technique
Les versions compromises introduisent des fichiers fortement obfusqués :
setup.mjsmath_init.js
Ces fichiers s’exécutent automatiquement lors de npm install via un script preinstall. Ils téléchargent un runtime (identifié comme Bun) et exécutent un payload de second stage obfusqué. Le C2 utilise un mécanisme de dead-drop via Ethereum.
📦 Packages compromis (sélection)
Plus de 105 packages sont listés comme compromis, parmi lesquels :
cache-manager7.2cacheable2.5cacheable-request13.0keyv6.0file-entry-cache11.1flat-cache6.1@deliveroo/determinator0.2@hubsync/web-sdk-react6.3- Nombreux packages
@onereach/*et@or-sdk/*
🎯 Objectif du payload
Le titre de l’article qualifie explicitement le malware de “CI/CD credential harvester”, indiquant que l’objectif principal est la collecte de credentials dans les environnements CI/CD (tokens npm, credentials cloud, clés SSH, secrets CI).
📰 Type d’article
Il s’agit d’une alerte de sécurité en temps réel publiée par StepSecurity, visant à informer les équipes de développement et de sécurité de la présence de packages compromis dans leurs arbres de dépendances.
🧠 TTPs et IOCs détectés
TTP
- T1195.001 — Supply Chain Compromise: Compromise Software Dependencies and Development Tools (Initial Access)
- T1059.007 — Command and Scripting Interpreter: JavaScript (Execution)
- T1543 — Create or Modify System Process (Persistence)
- T1552.001 — Unsecured Credentials: Credentials In Files (Credential Access)
- T1102 — Web Service (Command and Control)
- T1027 — Obfuscated Files or Information (Defense Evasion)
- T1078.001 — Valid Accounts: Default Accounts (Defense Evasion)
- T1199 — Trusted Relationship (Initial Access)
IOC
- Fichiers :
setup.mjs - Fichiers :
math_init.js
Malware / Outils
- ChainDrop (other)
- Bun (loader)
🟡 Indice de vérification factuelle : 46/100 (moyenne)
- ⬜ stepsecurity.io — source non référencée (0pts)
- ✅ 6331 chars — texte complet (fulltext extrait) (15pts)
- ✅ 2 IOC(s) (6pts)
- ⬜ pas d’IOC vérifié (0pts)
- ✅ 8 TTPs MITRE identifiées (15pts)
- ✅ date extraite du HTML source (10pts)
- ⬜ aucun acteur de menace nommé (0pts)
- ⬜ pas de CVE à vérifier (0pts)
🔗 Source originale : https://www.stepsecurity.io/blog/chaindrop-npm-worm