Piratage du compte npm d'Axios : RAT via dépendance fantôme et fuite du code Claude
Le 31 mars 2026, des attaquants ont piraté le compte npm du mainteneur d'Axios (jasonsaayman), publiant des versions malveillantes 1.14.1 (dernière) et 0.30.4 (ancienne). Les paquets ont distribué un cheval de Troie RAT pendant trois heures — de 00:21 à 03:15 UTC. Avec 100 millions de téléchargements hebdomadaires, les dégâts potentiels étaient considérables.
Le code d'Axios lui-même est resté intact. Les attaquants ont ajouté une dépendance à [email protected] dans package.json — un paquet créé un jour avant l'attaque. Cette dépendance n'est pas importée dans le code, agissant comme une dépendance fantôme.
Mécanisme de l'attaque
L'installation se déroule comme suit :
npm installtélécharge toutes les dépendances depackage.json.plain-crypto-jsexécute un scriptpostinstall.- Le script télécharge une charge utile depuis un serveur C2.
- Un RAT multiplateforme pour macOS, Windows et Linux est déployé.
- Le script restaure un
package.jsonpropre, masquant les traces.
Une revue de code standard ne détectera pas le problème : les fichiers JS sont propres, et la dépendance suspecte n'est visible que dans le manifeste. Les scanners doivent vérifier les scripts postinstall des paquets transitifs.
Actions immédiates
| Branche | Version malveillante | Version sûre |
|--------|-------------------|--------------|
| dernière | 1.14.1 | 1.14.0 |
| ancienne | 0.30.4 | 0.30.3 |
Vérifiez :
package-lock.json/yarn.lockpour les versions malveillantes.- Présence de
plain-crypto-jsdans les dépendances.
Si trouvé — le système est infecté. Faites tourner les clés, jetons et secrets. Les IOC ont été publiés par StepSecurity, Socket et d'autres.
Attribué à UNC1069/Lazarus — une attaque typique de la chaîne d'approvisionnement via piratage de compte sans compromettre le registre npm.
Fuite du code source Claude via Sourcemap
Le même jour, Anthropic a publié @anthropic-ai/[email protected] avec un fichier cli.js.map de 59,8 Mo. Le sourcemap a révélé ~512 000 lignes de TypeScript, 1 900 fichiers, invites système, logique de mémoire, planification et fonctionnalités non annoncées.
Cause et conséquences
Une erreur dans .npmignore : les source maps n'ont pas été exclues du paquet. Le sourcemap référençait un bucket R2 public d'Anthropic. Le code a été rapidement miroité sur GitHub après un rapport de Chaofan Shou.
Anthropic a supprimé la version et publié un correctif, mais les miroirs se sont propagés. Ce n'était pas un piratage mais une erreur de build.
Implémentation en salle blanche : De la fuite au projet open source
Sigrid Jean (instructkr) a réécrit l'architecture de Claude Code en Python sans copier le code source, évitant le DMCA. Utilisé oh-my-codex pour l'accélération.
Implémenté :
- Harnais d'agent.
- Outils.
- Mémoire et planification.
- Sous-agents en essaims.
Le dépôt claw-code a gagné 50 000 étoiles en 2 heures, 100 000+ en un jour — un record GitHub. Un port Rust est également populaire. Le projet est positionné comme des outils de harnais améliorés.
Points clés à retenir
- Dépendance fantôme dans Axios : RAT se faisant passer pour une bibliothèque crypto, activé via postinstall, multiplateforme.
- Fuite de Claude Code : 512k lignes via sourcemap dû à un .npmignore manquant.
- Approche en salle blanche : Réécrire l'architecture en Python/Rust contourne le DMCA, crée une alternative open source.
- Vérifications des fichiers de verrouillage : Essentiel pour détecter 1.14.1/0.30.4 et plain-crypto-js.
- Audits des comptes npm : Le piratage de mainteneur est un vecteur pour les attaques de la chaîne d'approvisionnement.
— Editorial Team
Aucun commentaire pour le moment.