Compromission de la chaîne npm : le ver Shai-Hulud infecte 500 paquets
Un ver auto-réplicatif, baptisé « Shai-Hulud », a compromis plus de 500 paquets du registre npmjs.com, le plus grand registre JavaScript au monde, selon l’alerte de CISA.gov. Cette attaque de chaîne d’approvisionnement ne s’est pas limitée au registre ; l’acteur malveillant a exploité les paquets infectés pour scanner l’environnement à la recherche de jetons d’accès sensibles.
Après avoir obtenu un premier point d’entrée, le malware a spécifiquement ciblé les jetons d’accès personnels (PATs) de GitHub ainsi que les clés d’API pour des services cloud majeurs, dont Amazon Web Services (AWS), Google Cloud Platform (GCP) et Microsoft Azure. Le code malveillant exfiltre les identifiants récoltés vers un point de terminaison contrôlé par l’attaquant, avant de les publier sur un dépôt public nommé « Shai-Hulud » via l’API de GitHub.
Le mode de propagation est particulièrement insidieux. Le malware utilise un processus automatisé pour se propager rapidement. Il s’authentifie au registre npm en utilisant les identifiants du développeur compromis, injecte ensuite du code dans d’autres paquets, et publie des versions compromises sur le registre.

Ce qui est touché et la gravité réelle
La gravité réside dans la profondeur de la compromission. Puisque ces paquets sont utilisés dans des projets entiers, l’exposition est massive. Pour contextualiser, des incidents précédents, comme celui impliquant tj-actions/changed-files (CVE-2025-30066), ont montré comment des actions GitHub peuvent scanner la mémoire des runners pour voler des secrets, y compris des clés AWS ou des PATs, si le paquet est référencé par un tag et non par un SHA de commit complet. Cette mécanique de vol de secrets est ici amplifiée par le mécanisme de propagation du ver.
Selon CISA.gov, les organisations doivent impérativement mener une revue de dépendances de tout logiciel utilisant l’écosystème npm. Il faut vérifier les fichiers package-lock.json ou yarn.lock pour identifier non seulement les paquets directement utilisés, mais aussi ceux enfouis dans les arbres de dépendances. Le risque est systémique.
Qui doit agir et comment
La réaction doit être chirurgicale et immédiate. Le conseil le plus pressant, relayé par CISA, est de faire pivoter tous les identifiants de développeur sans délai. Ce geste préventif vise à invalider immédiatement les jetons potentiellement volés.
Au-delà du remplacement des mots de passe, l’hygiène de sécurité des plateformes doit être renforcée drastiquement. Il est recommandé d’imposer une authentification multifacteur résistante au phishing sur tous les comptes de développeurs, en particulier ceux liés à GitHub et npm. De plus, les entreprises doivent auditer leur configuration GitHub pour supprimer les applications et les OAuth inutiles, et vérifier minutieusement les webhooks des dépôts.
Pour contenir l’infection au niveau de l’écosystème, CISA recommande d’« épingler les versions de dépendances npm à des versions connues sûres produites avant le 16 septembre 2025 ». Cela signifie cristalliser l’état de sécurité avant l’apparition du malware.
Il faut aussi surveiller activement le comportement réseau. Le blocage des connexions sortantes vers les domaines webhook.site et la surveillance des logs de pare-feu contre des domaines suspects sont des étapes concrètes pour détecter une activité anormale de communication des paquets infectés.
En parallèle, les développeurs doivent se rappeler que, selon les bonnes pratiques documentées par GitHub, les secrets ne doivent jamais être stockés en clair dans les fichiers de workflow et doivent être périodiquement tournés. Mais face à cette attaque massive, le nettoyage de l’environnement passe avant la perfection des pratiques.
Les équipes doivent aussi mettre en place des règles de protection de branche et activer les alertes de scan de secrets de GitHub pour que l’automatisation agisse comme un filet de sécurité supplémentaire.
Fiche technique
| CVE | Produit | Gravité | Exploitée activement | Versions corrigées |
|---|---|---|---|---|
| CVE-2025-30066 | tj-actions changed-files GitHub Action | Élevée (CVSS 8,6) | Oui (KEV, 18 mars 2025) | tj-actions/changed-files 46.0.1 |
Données : NVD (NIST), catalogue KEV de la CISA (CC0) et GitHub Advisory Database (CC BY 4.0, données adaptées).
Sources
- Widespread Supply Chain Compromise Impacting npm Ecosystem | CISA, cisa.gov
- Secure use reference – GitHub Docs, docs.github.com
- Hardening GitHub Actions Against Outside Threats, Socket, 3 novembre 2026
- GitHub Expands Infra With 4 Mn Cores, Debuts Copilot Fusion for Multi-Model Routing, Analytics India Magazine, 28 octobre 2026
- GhostAction Hacking Wave Fizzles, but Attackers Lurk on in GitHub, Dark Reading, 28 octobre 2026
- GHSA-mrrh-fwg8-r2c3 : tj-actions changed-files through 45.0.7 allows remote attackers to discover secrets by…, GitHub Advisory Database (CC BY 4.0)
- CVE-2025-30066, NVD (NIST)
- CVE-2025-30066 dans le catalogue KEV, CISA



