9 septembre 2025 – Une attaque de grande ampleur sur la chaîne d’approvisionnement a visé les packages npm maintenus par Josh Junon (alias Qix), compromettant 20 modules très utilisés (totalisant plus de 2 milliards de téléchargements hebdomadaires). L’attaque s’est appuyée sur une méthode de phishingHameçonnage par emails frauduleux imitant un service officiel. Email se faisant passer pour votre banque. PhishTank sophistiquée, exploitant un email frauduleux pour usurper les identifiants de l’auteur et publier du code malveillant. (turn0view0)
table des matières
ToggleDétails de l’assaut
-
PhishingHameçonnage par emails frauduleux imitant un service officiel. Email se faisant passer pour votre banque. PhishTank ciblé : l’attaquant a envoyé un email prétendant venir de
support@npmjs.help, incitant le co-mainteneur à mettre à jour ses identifiants 2FA. Le lien renvoyait à une page malveillante, probablement orchestrée via un adversarial MITMAttaque où un acteur intercepte une communication entre deux parties. Ecoute des données sur un Wi-Fi public. Cloudflare (man-in-the-middle), pour voler les identifiants et le jeton 2FA. (turn0view0) -
Packages compromis : parmi les 20 modules infectés figurent des dépendances lambda comme ansi-regex, chalk, debug, supports-color ou strip-ansi. Malgré leur simplicité, ces bibliothèques sont omniprésentes dans l’écosystème JavaScript. (turn0view0)
-
Technique de vol : le code malveillant injecté agit comme un intercepteur côté navigateur. Il vérifie la présence d’un environnement Web (via
typeof window !== 'undefined') puis hook les appelsfetch,XMLHttpRequest, etwindow.ethereum.requestpour manipuler les transactions de crypto-monnaie. Le destinataire du transfert est remplacé par une adresse proche de l’original (distance de Levenshtein minimale). (turn0view0)
Implications majeures
-
Cible étendue : toute application web incluant ces modules devient potentiellement vulnérable, surtout si elle interagit avec des wallets ou des APIs crypto.
-
Confiance détournée : le fait que ces packages soient largement utilisés — notamment chalk et debug — multiplie l’impact potentiel de l’attaque.
-
Sophistication technique : le malwareLogiciel malveillant conçu pour endommager, voler ou espionner. Un cheval de Troie bancaire récupère vos identifiants. Symantec joue sur la confiance accordée par les frameworks, en s’insérant via des APIs fetch ou wallet, rendant sa détection subtile.
-
Menace évolutive : il s’agit d’un exemple typique de compromission ciblée de la chaîne d’approvisionnement, utilisée par des groupes persistants et bien financés (ex. Lazarus).
Tableau synthétique
| Élément | Description |
|---|---|
| Cible | 20 packages npm très populaires |
| Échelle | ~2 milliards de téléchargements hebdomadaires |
| Mode opératoire | PhishingHameçonnage par emails frauduleux imitant un service officiel. Email se faisant passer pour votre banque. PhishTank ciblé + usurpation 2FA |
| Infection | Code malveillant interceptant les appels fetch/JS wallet |
| Effet | Vol de cryptomonnaies en modifiant les requêtes réseaux |
| Portée de l’attaque | Fort impact sur les utilisateurs finaux, pas seulement sur les devs |
Bonnes pratiques de mitigation
-
Mettre à jour ou désinstaller immédiatement les versions affectées de ces packages.
-
Auditer les transactions cryptos exécutées dans les applications deployées, en mettant en place des validations de wallet à double confirmation.
-
Renforcer la sécurité des mainteneurs npm :
-
Activer obligatoirement la 2FA.
-
Préférer des jetons d’automatisation au lieu des identifiants classiques.
-
-
Prévenir via la CI/CD :
-
Ajouter des tests détectant les hooks JavaScript malveillants.
-
Filtrer les modules inclus automatiquement pour éviter les différences de dépôt attendues.
-
-
Surveiller en production les appels aux APIs de wallet côté client, en les comparant à un cadre de confiance.
Conclusion stratégique
Cette attaque sur les 20 packages npm met en lumière la fragilité du modèle de confiance “download-left-pad” : un petit composant largement utilisé peut devenir une porte ouverte à des attaques dévastatrices. Face à cette nouvelle onde de choc, la communauté doit renforcer la sécurité des mainteneurs, surveiller la logique de production et limiter la confiance aveugle sur les dépendances.