L'alerte a été donnée le Lundi, 08 Septembre 2025, suite à la compromission par un code malicieux, d'une série de packages NPM, packages ayant entre 260 000 et 371 millions de téléchargements par semaine chacun.
Le but de ce malware était d'intercepter directement sur les navigateurs des utilisateurs, des données et des activités concernant la crypto. Selon un rapport publié par société Aikido security, ledit malware fonctionnerait de la manière suivante :
1. Il se télécharge dans le navigateur en se greffant aux fonctions comme fetch, XMLHttpRequest, et aux APIs de portefeuille (window.ethereum, Solana, etc.).
2. Il surveille les données sensibles : en scannant les requêtes réseaux à la recherche des addresse de portefeuilles, des transferts pour des dévises comme l'Ethereum, Bitcoin, Solana, Tron, Litecoin, etc.
3. Il reécrit les adresses de destination des transactions par des adresses de portefeuilles controlées par les pirates
4. Il intercepte et modifie discrètement les détails d'une transaction avant même qu'elle ne soit signée par l'utilisateur.
Déroulement de l'attaque
1. Le maintainer d'un package NPM reçoit un mail malicieux apparement légitime du site officiel de npm ayant la forme support[@]npmjs[.]help. Cet email demandait de mettre-à-jour ses identifiants d'authentification à deux facteurs avant le 10 Septembre
2. En cliquant sur le lien dans l'email, les victimes sont redirigées vers une fausse page d'authentification où leurs identifiants étaient récupérés.
3. L'attaquant se fait passer pour le maintainer légitime et publie une nouvelle version du package contenant un code malveillant.
Conseils pour y remédier :
- Utilisez npm audit pour détecter les vulnérabilités connues.
- Implémentez l'analyse des dépendances dans les pipelines CI/CD.
- Envisagez d'utiliser npm ci avec les fichiers de verrouillage dans les builds de production.
- Activez la provenance des paquets npm lorsque cela est possible.
Les packages affectées et les versions compromises :