En bref
Que s'est-il passé ?
L'écosystème JavaScript subit une nouvelle vague du ver Shai-Hulud, baptisée « Sha1-Hulud: The Second Coming » : plus de 70 paquets npm compromis, le code volant puis exposant publiquement les identifiants des développeurs.
L'attaque s'exécute via un preinstall (node setup_bun.js) qui installe silencieusement le runtime Bun depuis bun.sh, puis lance la charge bun_environment.js (10+ Mo), extrêmement obfusquée (tableau hex massif, anti-analyse), ciblant runners CI/CD et postes de dev.
Le ver vole les credentials puis les publie publiquement, signant l'un des incidents de supply chain les plus marquants récents. Le déclenchement au npm install touche aussi bien la CI que les machines des développeurs.
Désactiver les scripts d'installation (ignore-scripts) ou les confiner, identités de publication courtes (OIDC), filtrage de l'egress en CI, et rotation d'urgence des secrets après exposition.
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
Identités de publication courtes (OIDC) ; détection de republication ; confinement du rayon d'explosion (egress filtre).
Les exigences SOCLE qui auraient limité cet incident
Cet incident se rattache à 5 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 :