đ Contexte
PubliĂ© le 29 avril 2026 par Wiz (Benjamin Read, Merav Bar, Shay Berkovich, Gili Tikochinski), cet article documente une opĂ©ration de supply chain active baptisĂ©e “Mini Shai Hulud”, attribuĂ©e avec haute confiance au groupe TeamPCP.
đŻ MĂ©canisme d’attaque
Des versions malveillantes de packages npm lĂ©gitimes de l’Ă©cosystĂšme SAP ont Ă©tĂ© publiĂ©es avec un script preinstall injectant setup.mjs, exĂ©cutĂ© automatiquement lors de npm install. Ce dropper tĂ©lĂ©charge le runtime Bun puis exĂ©cute un payload obfusquĂ© (execution.js), permettant l’exĂ©cution de code attaquant avant la fin de l’installation.
đ Payload de second stage
Le payload est un stealer de credentials et framework de propagation ciblant :
- Tokens GitHub (PAT, OAuth, Actions secrets)
- Credentials npm
- Secrets cloud (AWS, Azure, GCP)
- Tokens Kubernetes
- Mots de passe de navigateurs (Chrome, Safari, Edge, Brave, Chromium) â nouveautĂ© par rapport aux opĂ©rations prĂ©cĂ©dentes
L’exfiltration s’effectue via des dĂ©pĂŽts GitHub publics contrĂŽlĂ©s par l’attaquant, utilisant l’API GraphQL (Ă©volution par rapport Ă l’API REST utilisĂ©e dans l’opĂ©ration Bitwarden). Les payloads sont chiffrĂ©s avec une clĂ© publique RSA partagĂ©e entre les opĂ©rations TeamPCP.
đ Propagation
Si aucun token PAT/OAuth GitHub n’est trouvĂ© mais que GITHUB_REPOSITORY est dĂ©fini, le malware empoisonne le dĂ©pĂŽt GitHub en y dĂ©posant des fichiers ciblant les utilisateurs de Claude Code et VSCode (hooks SessionStart, tĂąches folderOpen).
đĄïž Guardrail gĂ©ographique
Le malware vĂ©rifie les paramĂštres de locale et les variables d’environnement : si la langue commence par ‘ru’, le payload s’arrĂȘte sans exfiltrer de donnĂ©es.
đŠ Packages affectĂ©s
@cap-js/sqlitev2.2.2@cap-js/postgresv2.2.2@cap-js/db-servicev2.10.1mbtv1.2.48
đ Attribution
Wiz attribue cette campagne Ă TeamPCP sur la base d’une clĂ© RSA publique partagĂ©e, de routines d’encodage communes, de guardrails de rĂ©gion identiques, et du mĂȘme mĂ©canisme de hook npm â dĂ©jĂ observĂ©s dans les compromissions Checkmarx et Bitwarden CLI.
đ° Type d’article
Publication de recherche technique avec IoCs, destinée à permettre la détection et la réponse à incident pour les équipes de sécurité exposées à ces packages.
đ§ TTPs et IOCs dĂ©tectĂ©s
Acteurs de menace
TTP
- T1195.001 â Supply Chain Compromise: Compromise Software Dependencies and Development Tools (Initial Access)
- T1059.007 â Command and Scripting Interpreter: JavaScript (Execution)
- T1555.003 â Credentials from Password Stores: Credentials from Web Browsers (Credential Access)
- T1552.001 â Unsecured Credentials: Credentials In Files (Credential Access)
- T1552.004 â Unsecured Credentials: Private Keys (Credential Access)
- T1567.001 â Exfiltration Over Web Service: Exfiltration to Code Repository (Exfiltration)
- T1027 â Obfuscated Files or Information (Defense Evasion)
- T1497.001 â Virtualization/Sandbox Evasion: System Checks (Defense Evasion)
- T1176 â Browser Extensions (Persistence)
- T1053 â Scheduled Task/Job (Persistence)
IOC
- SHA256 :
1d9e4ece8e13c8eaf94cb858470d1bd8f81bb58f62583552303774fa1579edeeâ VT · MalwareBazaar - SHA256 :
eb6eb4154b03ec73218727dc643d26f4e14dfda2438112926bb5daf37ae8bcdbâ VT · MalwareBazaar - SHA256 :
258257560fe2f1c2cc3924eae40718c829085b52ae3436b4e46d2565f6996271â VT · MalwareBazaar - SHA256 :
a1da198bb4e883d077a0e13351bf2c3acdea10497152292e873d79d4f7420211â VT · MalwareBazaar - SHA256 :
6f933d00b7d05678eb43c90963a80b8947c4ae6830182f89df31da9f568fea95â VT · MalwareBazaar - SHA256 :
86282ebcd3bebf50f087f2c6b00c62caa667cdcb53558033d85acd39e3d88b41â VT · MalwareBazaar - SHA256 :
80a3d2877813968ef847ae73b5eeeb70b9435254e74d7f07d8cf4057f0a710acâ VT · MalwareBazaar - SHA256 :
4066781fa830224c8bbcc3aa005a396657f9c8f9016f9a64ad44a9d7f5f45e34â VT · MalwareBazaar - SHA256 :
14eb4ce01dd4307759887ff819359b70d7d9ff709ecde039a5abâ VT · MalwareBazaar - SHA256 :
927387d0cfac1118df4b383decc2ea6ba49c9d2f98b47098bcbcâ VT · MalwareBazaar - SHA1 :
e80824a19f48d778a746571bb15279b5679fd61câ VT · MalwareBazaar - SHA1 :
ca4a5bb85778ffcd2153ace88fe2d882c8ceeb23â VT · MalwareBazaar - SHA1 :
4b04304f6d51392e3f43856c94ca95800518a694â VT · MalwareBazaar - SHA1 :
7b6a28e92149637e5d7c7f4a2d3e54acd507c929â VT · MalwareBazaar - SHA1 :
bc95cc5dda788295aa0c9456791520599ef99526â VT · MalwareBazaar - SHA1 :
0af7415d65753f6aede8c9c0f39be478666b9c12â VT · MalwareBazaar - SHA1 :
6bc859aaee1f8885eec2a3016226e877e5adba08â VT · MalwareBazaar - SHA1 :
307d0fa7407d40e67d14e9d5a4c61ac5b4f20431â VT · MalwareBazaar - SHA1 :
ff7ed7a0fa1c43eed01809d076feedbaed464fc7â VT · MalwareBazaar - SHA1 :
7b0278216ac31ec18eca9eb8bc1c1261a1b26f6câ VT · MalwareBazaar - MD5 :
e32eaf0c3cde9616831a1e92d42b0058â VT · MalwareBazaar - MD5 :
b523a69b27064d1715d1f0aaffcfae63â VT · MalwareBazaar - MD5 :
d468f16eafccbc54a994f3d675ace8aeâ VT · MalwareBazaar - MD5 :
8cd683f78735c9bfc32600c73d3d9abeâ VT · MalwareBazaar - MD5 :
6fb87d243b011b5445f379f80e1a6b4dâ VT · MalwareBazaar - MD5 :
04d8a99447b16f6839fff3b978f88d7eâ VT · MalwareBazaar - MD5 :
45dc9c02f82b4370ca92785282d43a86â VT · MalwareBazaar - MD5 :
35baf8316645372eea40b91d48acb067â VT · MalwareBazaar - MD5 :
00ca0c04d247ef09f2b2acc452029345â VT · MalwareBazaar - MD5 :
dbb9b09957113463bbeb420c2c4108b5â VT · MalwareBazaar - Fichiers :
setup.mjs - Fichiers :
execution.js - Fichiers :
settings.json - Fichiers :
tasks.json - Chemins :
.claude/execution.js - Chemins :
.claude/setup.mjs - Chemins :
.claude/settings.json - Chemins :
.vscode/setup.mjs - Chemins :
.vscode/tasks.json
Malware / Outils
- Mini Shai Hulud (stealer)
- execution.js (stealer)
- setup.mjs (loader)
đą Indice de vĂ©rification factuelle : 88/100 (haute)
- â wiz.io â source reconnue (liste interne) (20pts)
- â 10658 chars â texte complet (fulltext extrait) (15pts)
- â 39 IOCs dont des hashes (15pts)
- â 1/3 IOC(s) confirmĂ©(s) (MalwareBazaar, ThreatFox, VirusTotal) (8pts)
- â 10 TTPs MITRE identifiĂ©es (15pts)
- â date extraite du HTML source (10pts)
- â acteur(s) identifiĂ©(s) : TeamPCP (5pts)
- ⏠pas de CVE à vérifier (0pts)
IOCs confirmés externellement :
eb6eb4154b03ec73âŠ(sha256) â VT (4/76 dĂ©tections)
đ Source originale : https://www.wiz.io/blog/mini-shai-hulud-supply-chain-sap-npm