En bref
Que s'est-il passé ?
Le 26 août 2025, le système de build Nx est compromis par un malware voleur de données (compte npm d'un mainteneur compromis via une fuite de jeton). Les versions piégées restent en ligne ~5 heures.
Outre le vol de clés SSH, jetons npm et .gitconfig, le malware détourne des outils CLI d'IA (Claude, Gemini, q) pour la reconnaissance et l'exfiltration, premier cas connu d'assistants IA transformés en agents d'attaque de supply chain.
Une seconde vague (28 août) exploite les identifiants volés pour rendre publics des dépôts privés (renommés s1ngularity-repository-...) et les forker. Avis officiel GHSA-cxm3-wv7p-598c.
Jetons de publication courts (OIDC) et révocation rapide, confiner les outils CLI d'IA (accès secrets et réseau, allowlist de commandes), MFA, et détection de republication et d'exposition de dépôts.
Chronologie de l'attaque
Vers 22h32 UTC, des versions piégées de Nx volent clés SSH et jetons npm et détournent des CLI d'IA ; elles restent en ligne environ 5 heures.
À 20h00 UTC, les identifiants volés servent à rendre publics des dépôts privés (renommés s1ngularity-repository-...).
Comment l'attaquant a procédé
Cet incident met en jeu les vecteurs d'attaque suivants du catalogue SOCLE ; chacun renvoie à sa fiche, où l'on trouve les exigences qui le neutralisent :
La leçon à en tirer
2FA et trusted publishing sur les comptes de publication ; détection de republication anormale.
Les exigences SOCLE qui auraient limité cet incident
Cet incident se rattache à 2 exigences du référentiel, par domaine. Les satisfaire n'aurait pas forcément tout empêché, mais aurait réduit la probabilité de l'attaque, limité son impact ou accéléré sa détection :