Attaque de la chaîne logistique npm via la compromission d’un mainteneur open source
8 septembre 2025
0 minutes de lectureLe lundi 8 septembre, un développeur open source très réputé, ~qix, a été compromis à la suite d’un e-mail d’hameçonnage. ~qix est l’auteur et le mainteneur de nombreux packages npm populaires. Il a été victime de cette attaque après avoir répondu à un message envoyé depuis l’adresse e-mail support [at] npmjs [dot] help.
L’attaquant a ainsi pris le contrôle de son compte npm et a pu publier des versions malveillantes de packages auxquels Qix avait un accès privilégié.
Mise à jour du 9 septembre : ajout des nouveaux packages npm concernés.
Mise à jour du 10 septembre : ajout d’un nouveau package npm concerné.
Que s’est-il passé ?
Le développeur open source a été victime d’un e-mail d’hameçonnage qui a permis à un attaquant d’accéder à son compte npm. L’attaquant a pu injecter du code malveillant dans de nombreux packages npm très populaires, déclenchant ainsi une attaque de la chaîne logistique.
À ce jour, il s’agit du seul mainteneur open source connu à avoir été ciblé. Toutefois, d’autres développeurs très recherchés pourraient également avoir été touchés sans que cela ait encore été signalé.
Comment l’attaque a-t-elle été menée ?
L’attaquant a eu recours à l’ingénierie sociale pour envoyer un e-mail d’hameçonnage à un développeur open source très actif. L’e-mail a incité le développeur à s’authentifier et à contourner les contrôles de sécurité, donnant ainsi accès à son compte à l’attaquant. Celui-ci a alors pu injecter un logiciel malveillant dans n’importe lequel des packages open source populaires pour lesquels le développeur disposait d’autorisations privilégiées, puis publier de nouvelles versions contenant le logiciel malveillant.
Lorsqu’il s’exécute dans un navigateur, le code malveillant surveille le trafic réseau et cible les transactions en cryptomonnaies. Injecté dans les packages, il s’active dès qu’un portefeuille Web3 est présent. Il intercepte alors et modifie toute transaction comportant une valeur en ETH pour la rediriger vers une autre adresse, probablement contrôlée par l’attaquant. Le code malveillant surveille également les transactions d’échange et de transfert afin de les altérer.
Quelles données étaient ciblées ?
L’attaquant ciblait les portefeuilles de cryptomonnaies accessibles depuis les navigateurs des utilisateurs afin d’en dérober les fonds en redirigeant vers ses propres adresses les transactions ou autorisations signées par les utilisateurs. À ce jour, on ne pense pas que l’attaque ait visé d’autres données.
Packages et versions concernés
Chronologie de l’attaque
~13 h 00 UTC : publication du premier lot de packages compromis détectés
14 h 16 UTC : le développeur est alerté d’une possible compromission de son compte sur le réseau social Blue Sky
15 h 16 UTC : le développeur confirme la compromission de son compte dans un post sur Blue Sky et signale l’incident à npm
17 h 17 UTC : npm reconnaît la faille et s’emploie à retirer les packages compromis
19 h 59 UTC : npm informe le développeur que toutes les versions des packages concernés ont été retirées
Indicateurs de compromission (IoC)
L’utilisateur GitHub SindreSorhus a partagé une commande rapide pour vérifier si ce logiciel malveillant se trouve dans votre arbre de dépendances :
Si vous gérez des packages et avez reçu un e-mail de support [at] npmjs [dot] help et suivi ses instructions, il est probable que vous soyez également concerné.
Que devez-vous faire ?
L’incident est toujours en cours. Suivez les mises à jour de cet article et celles du développeur Qix sur GitHub.
Vérifiez si le logiciel malveillant se trouve dans votre arbre de dépendances à l’aide du script partagé par Sindre Sorhus
Utilisateurs de Snyk
Vous pouvez utiliser Snyk SCA et Snyk SBOM pour détecter et surveiller les projets dans toute votre organisation.
Si aucun test n’a été exécuté depuis la publication des avis, relancez un test.
Les projets CLI doivent faire l’objet d’une nouvelle surveillance afin de détecter l’arbre de dépendances actuel.
Rapports Snyk
Un rapport consacré à cet ensemble de vulnérabilités est disponible dans la liste des rapports « Featured Zero-Day » de Snyk. Si vous avez un forfait Enterprise, vous pouvez accéder à ce rapport en cliquant sur « Rapports » dans le menu de navigation de gauche (des rapports sont disponibles aux niveaux Groupe et Organisation). Par défaut, le rapport « Détail des problèmes » s’affiche. Cliquez sur le menu déroulant « Modifier le rapport » à côté du titre, puis sélectionnez « Featured Zero-Day ». Dans l’écran suivant, sélectionnez le rapport « npm Phishing Supply Chain Attack » dans la liste déroulante Zero-Day.

À propos des attaques contre la chaîne logistique
Cet incident s’ajoute à plusieurs autres incidents de sécurité récents de même nature. Nous avons déjà vu des attaques visant des environnements CI et des comptes de mainteneurs, permettant de détourner des publications :
Compromission des mainteneurs d’ESLint/Prettier (juillet 2025) : hameçonnage et typosquattage (npnjs.com) ont permis de dérober des identifiants npm et de diffuser des logiciels malveillants dans des packages populaires. Un rappel de plus : renforcez la sécurité des comptes de mainteneurs avec l’authentification à deux facteurs.
Demandez une démonstration en direct de Snyk pour sécuriser l’open source
Échangez avec nos experts en sécurité pour découvrir comment Snyk vous aide à utiliser l’open source en toute sécurité
