Selon CyberArk (billet de blog), l’attaque « Shai-Hulud » a frappé l’écosystème npm en septembre 2024, exploitant des faiblesses d’identité (comptes humains, identités machines, relations de confiance logicielle) pour mener une attaque de chaîne d’approvisionnement ayant compromis 500+ paquets en moins de 24 heures.
Le ver 🪱 a été diffusé via des paquets npm trojanisés tels que "@ctrl/tinycolor@4.1.1", livrant une charge utile multi‑étapes. À l’exécution de bundle.js, le malware a collecté des identifiants (fichiers, variables d’environnement, points de terminaison IMDS cloud), s’appuyant notamment sur des outils comme TruffleHog. Les jetons volés (npm, GitHub, cloud) étaient validés, puis les données exfiltrées vers des dépôts GitHub publics et des services de webhooks.
Pour la propagation, Shai-Hulud a utilisé des jetons npm compromis afin de publier des versions backdoorées des 20 principaux paquets des mainteneurs victimes, provoquant une diffusion exponentielle à travers l’écosystème en 24 heures.
L’analyse souligne la nécessité de défenses en couches: authentification forte, gestion des secrets, durcissement CI/CD et gestion des dépendances pour réduire l’exposition aux attaques similaires.
IOC et TTP
- IOCs:
- Paquet trojanisé: “@ctrl/tinycolor@4.1.1”
- Fichier malveillant: bundle.js
- TTPs:
- Diffusion via paquets npm trojanisés (supply chain)
- Collecte d’identifiants (système de fichiers, variables d’environnement, IMDS cloud)
- Usage d’outils de détection de secrets (ex: TruffleHog)
- Validation de jetons (npm, GitHub, cloud)
- Exfiltration vers dépôts GitHub publics et webhooks
- Publication de versions backdoorées via jetons npm compromis (top 20 des paquets)
Il s’agit d’une analyse de menace visant à documenter le mode opératoire, l’impact et les enseignements de l’attaque Shai-Hulud sur l’écosystème npm.
🧠 TTPs et IOCs détectés
TTPs
[‘Diffusion via paquets npm trojanisés (supply chain)’, ‘Collecte d’identifiants (système de fichiers, variables d’environnement, IMDS cloud)’, ‘Usage d’outils de détection de secrets (ex: TruffleHog)’, ‘Validation de jetons (npm, GitHub, cloud)’, ‘Exfiltration vers dépôts GitHub publics et webhooks’, ‘Publication de versions backdoorées via jetons npm compromis (top 20 des paquets)’]
IOCs
[‘Paquet trojanisé: @ctrl/tinycolor@4.1.1’, ‘Fichier malveillant: bundle.js’]
🔗 Source originale : https://www.cyberark.com/resources/blog/sandworm-in-the-supply-chain-lessons-from-the-shai-hulud-npm-attack-on-developer-and-machine-identities