Détournement du scope npm Mastra : 144 paquets du framework d'IA piégés (easy-day-js)
Un compte de contributeur détourné a servi à republier 144 paquets du populaire scope npm @mastra (agents d'IA) avec une dépendance malveillante typosquattée, easy-day-js, qui téléchargeait un cheval de Troie d'accès à distance multiplateforme et un voleur de cryptomonnaies sur toute machine de développeur ou système de build qui les installait.
- Victime
- Mastra (scope npm @mastra)
Le 17 juin 2026, le scope npm @mastra — l'espace de noms de paquets de Mastra, un framework open source TypeScript très utilisé pour construire des agents d'IA et des applications dopées à l'IA, maintenu par la startup san-franciscaine Kepler Software (fondée par l'équipe à l'origine de Gatsby) — a été détourné lors d'une attaque sur la chaîne d'approvisionnement logicielle suivie sous le nom easy-day-js. Un attaquant a utilisé un compte de contributeur oublié mais toujours privilégié pour republier 144 paquets du scope, chacun embarquant une unique dépendance malveillante qui livrait un cheval de Troie d'accès à distance et un voleur de cryptomonnaies à quiconque les installait.
Déroulement
La campagne reposait sur deux éléments : un paquet typosquatté et un compte dormant disposant de droits de publication. Le 16 juin 2026, un utilisateur npm nommé sergey2016 a publié easy-day-js, une quasi-copie de la populaire bibliothèque dayjs, sous forme de code propre. Tôt le 17 juin (vers 01:01 UTC), ce paquet a été discrètement mis à jour avec une logique malveillante. Quelques minutes plus tard, entre environ 01:12 et 02:39 UTC, l'attaquant a détourné un compte de contributeur @mastra (ehindero) dont l'accès en publication au scope n'avait jamais été révoqué, lançant une campagne automatisée de 88 minutes qui a republié 142 paquets de l'espace de noms — chacun avec easy-day-js ajouté à sa liste de dépendances.
La charge utile
L'installation d'easy-day-js déclenchait le téléchargement et l'exécution d'un cheval de Troie d'accès à distance multiplateforme doté d'une fonction de vol de cryptomonnaies. Parce que la dépendance malveillante circulait à l'intérieur de paquets @mastra/* de confiance — qui totalisent plus de 1,1 million de téléchargements hebdomadaires — tout poste de développeur, exécuteur de CI ou système de build ayant installé une version concernée après le 16 juin 2026 doit être considéré comme potentiellement compromis.
Pourquoi c'est important
L'incident est un cas d'école de défaillance de la chaîne d'approvisionnement : un unique compte de contributeur oublié et surprivilégié a suffi à militariser tout un espace de noms populaire, et une dépendance transitive typosquattée a dissimulé la charge utile au grand jour. Les intervenants et GitHub ont exhorté les développeurs à revenir aux versions antérieures à l'incident et à renouveler tous les secrets susceptibles d'avoir été exposés sur les machines concernées — jetons npm et GitHub, clés de fournisseurs cloud, clés d'API de LLM, secrets de CI/CD, clés SSH et identifiants de bases de données — et à transférer tous les fonds en cryptomonnaie vers de nouveaux portefeuilles générés sur des appareils sains. C'est aussi un rappel cinglant que l'écosystème florissant de l'outillage d'IA est désormais clairement dans la ligne de mire des attaquants de la chaîne d'approvisionnement.
Chronologie
Un compte npm nommé « sergey2016 » publie « easy-day-js » — un typosquat de la bibliothèque de dates légitime dayjs — vers 07:05 UTC, sous la forme d'une copie propre et pleinement fonctionnelle.
Vers 01:01 UTC, l'attaquant pousse une mise à jour malveillante d'easy-day-js, puis entre environ 01:12 et 02:39 UTC utilise le compte de contributeur détourné « ehindero » du scope @mastra pour republier automatiquement 142 paquets, chacun avec easy-day-js injecté comme dépendance.
Des éditeurs de sécurité et GitHub révèlent la compromission ; les versions concernées sont retirées et il est conseillé aux développeurs de revenir aux versions antérieures à l'incident et de renouveler tous leurs identifiants.
Sources
- orca.securityhttps://orca.security/resources/blog/mastra-npm-supply-chain-attack/
- thehackernews.comhttps://thehackernews.com/2026/06/144-mastra-npm-packages-compromised-via.html
- snyk.iohttps://snyk.io/blog/a-forgotten-contributor-account-compromised-the-entire-mastra-npm-package-scope/
- stepsecurity.iohttps://www.stepsecurity.io/blog/mastra-npm-packages-compromised-using-easy-day-js
- cloudsmith.comhttps://cloudsmith.com/blog/inside-the-mastra-npm-supply-chain-attack
- scworld.comhttps://www.scworld.com/brief/mastra-npm-packages-compromised-in-easy-day-js-supply-chain-attack