Source: SentinelOne (Flash Report, 25 novembre 2025) — Ce rapport Wayfinder TLP:Green analyse une nouvelle vague de compromission de paquets NPM baptisée « Sha1-Hulud » (démarrée autour du 21 novembre 2025), présentant des capacités accrues par rapport à l’attaque « Shai Hulud » précédente.
🚨 Nature de l’attaque et vecteur
- Type d’attaque: attaque supply chain NPM avec exécution en phase
preinstall(au lieu depostinstall). - Composants: téléchargement du runtime légitime Bun (
curl/PowerShell) puis exécution debun_environment.js(JavaScript obfusqué ajouté aux paquets compromis). - Packages affectés: plusieurs projets populaires, dont Postman, Zapier, AsyncAPI (liste complète référencée par SentinelOne).
🧠 Exécution, persistance et exfiltration
- Fichiers créés pour l’exfiltration:
cloud.json,contents.json,environment.json,truffleSecrets.json. - Persistance: ajout d’un workflow
.github/workflows/discussion.yamlcontenant une vulnérabilité d’injection; un message dans les Discussions GitHub peut déclencher l’exécution de code sur l’hôte infecté. - Mécanisme d’implantation: enregistrement d’un runner GitHub Actions self-hosted baptisé
SHA1HULUD(Linux/Windows/macOS), lancé en mode non interactif.
🎯 Impact et objectifs
- Vol de secrets cloud: collecte de secrets AWS, GCP et Azure (stockés notamment dans
cloud.json— le fichier peut être vide selon les cas). - Vol de secrets de développement: usage de Trufflehog pour extraire des secrets et tokens (GitHub, NPM), comme dans l’attaque « Shai-Hulud » précédente.
- Conséquences: vol de propriété intellectuelle et de code privé, et potentielle mouvance latérale dans les environnements cloud; exécution de code sur des hôtes de développement.
🔍 Détection et chasse (posture SentinelOne)
- EPP: détection comportementale d’exécutions de scripts/p paquets malveillants, modifications non autorisées CI/CD, abus d’identifiants/élévations, installations runtime suspectes et exécutions réseau.
- Règles de détection:
- Détection d’exécutions de paquets NPM malveillants liés à Shai-Hulud
- Écriture non autorisée de workflows GitHub Actions et déploiement de payloads
- Installation distante du runtime Bun
- Enregistrement automatisé de runners GitHub
--name SHA1HULUDen mode--unattended
- Hunting queries: recherche de
--name SHA1HULUD/--unattended --token, hash et taille anormale (>7 Mo) debun_environment.js.
🧾 IOCs et TTPs
- IOC (SHA1 de
bun_environment.js):- 3d7570d14d34b0ba137d502f042b27b0f37a59fa
- d60ec97eea19fffb4809bc35b91033b52490ca11
- 8de87cf4fbdd1b490991a1ceb9c1198013d268c2
- f37c6179739cf47e60280dd78cb1a86fd86a2dcf
- 91429fbfef99fa52b6386d666e859707a07844b2
- ba08d2fcc6cd1c16e4022c5b7af092a4034ceedc
- TTPs (extraits):
- Abus de scripts NPM
preinstall - Téléchargement/installation de Bun via
curl/PowerShell - Exécution de
bun_environment.jsobfusqué - Persistance via workflow
.github/workflows/discussion.yamlavec injection - Enregistrement de runners self-hosted GitHub Actions (
SHA1HULUD) - Exfiltration de secrets (AWS/Azure/GCP, GitHub/NPM) et usage de Trufflehog
- Abus de scripts NPM
🛠️ Recommandations (selon le rapport)
- Activer les règles de détection de la plateforme et les mises à jour Live de l’agent.
- Retirer/remplacer les paquets compromis; pinner les versions; désactiver les scripts
postinstallen CI si possible. - Révoquer/régénérer les tokens NPM, secrets GitHub, clés SSH et identifiants cloud; appliquer MFA matérielle pour comptes dev/CI/CD.
Conclusion: Il s’agit d’une analyse de menace (Flash Report) détaillant une variante d’attaque supply chain NPM, ses mécanismes, son impact et les artefacts de détection/hunting associés, afin d’informer sur la détection et la mitigation.
🧠 TTPs et IOCs détectés
TTP
[‘Abus de scripts NPM preinstall’, ‘Téléchargement/installation de Bun via curl/PowerShell’, ‘Exécution de bun_environment.js obfusqué’, ‘Persistance via workflow .github/workflows/discussion.yaml avec injection’, ‘Enregistrement de runners self-hosted GitHub Actions (SHA1HULUD)’, ‘Exfiltration de secrets (AWS/Azure/GCP, GitHub/NPM) et usage de Trufflehog’]
IOC
[‘3d7570d14d34b0ba137d502f042b27b0f37a59fa’, ‘d60ec97eea19fffb4809bc35b91033b52490ca11’, ‘8de87cf4fbdd1b490991a1ceb9c1198013d268c2’, ‘f37c6179739cf47e60280dd78cb1a86fd86a2dcf’, ‘91429fbfef99fa52b6386d666e859707a07844b2’, ‘ba08d2fcc6cd1c16e4022c5b7af092a4034ceedc’]
🔗 Source originale : https://www.sentinelone.com/blog/defending-against-sha1-hulud-the-second-coming/