🌐 Contexte
Publié le 31 mars 2026 par le Google Threat Intelligence Group (GTIG) / Mandiant, cet article documente une attaque de supply chain active ciblant le package NPM axios, l’une des bibliothèques JavaScript les plus populaires au monde (plus de 100 millions de téléchargements hebdomadaires pour la version 1.x).
🎯 Déroulement de l’attaque
Entre le 31 mars 2026 00:21 et 03:20 UTC, un attaquant a compromis le compte mainteneur du package axios (en changeant l’adresse email associée vers ifstap@proton.me) et introduit une dépendance malveillante nommée plain-crypto-js (version 4.2.1) dans les versions axios 1.14.1 et 0.30.4.
La dépendance malveillante exploite le hook postinstall du fichier package.json pour exécuter silencieusement un dropper JavaScript obfusqué nommé setup.js (SILKBELL) lors de l’installation du package.
🔬 Analyse technique du malware
SILKBELL (setup.js) :
- Utilise une routine d’obfuscation XOR + Base64 pour masquer l’URL C2 et les commandes d’exécution
- Charge dynamiquement
fs,os,execSyncpour évasion d’analyse statique - Détecte l’OS cible et déploie des payloads spécifiques :
- Windows : copie
powershell.exevers%PROGRAMDATA%\wt.exe, télécharge un script PS1 via curl (POST bodypackages.npm.org/product1), exécution avec bypass de politique - macOS : télécharge un binaire Mach-O natif vers
/Library/Caches/com.apple.act.mond(POST bodypackages.npm.org/product0) - Linux : télécharge un backdoor Python vers
/tmp/ld.py(POST bodypackages.npm.org/product2)
- Windows : copie
- Tente de s’auto-supprimer et de restaurer le
package.jsonoriginal après exécution
WAVESHAPER.V2 (backdoor final) :
- Écrit en C++ (macOS), PowerShell (Windows) et Python (Linux)
- Beacon vers le C2 sur port 8000 toutes les 60 secondes en JSON Base64
- User-Agent codé en dur :
mozilla/4.0 (compatible; msie 8.0; windows nt 5.1; trident/4.0) - Commandes supportées :
kill,rundir,runscript(AppleScript),peinject - Persistance Windows : batch caché
%PROGRAMDATA%\system.bat+ clé de registreHKCU:\Software\Microsoft\Windows\CurrentVersion\Run\MicrosoftUpdate - Capacités RAT : reconnaissance système, exécution de commandes (PE injection en mémoire), énumération du système de fichiers
🕵️ Attribution
GTIG attribue cette activité à UNC1069, acteur nord-coréen à motivation financière actif depuis au moins 2018. L’attribution repose sur :
- L’utilisation de WAVESHAPER.V2, évolution directe de WAVESHAPER précédemment attribué à UNC1069
- Le C2
sfrclak.com(142.11.206.73) connecté à un nœud AstrillVPN historiquement utilisé par UNC1069 - Infrastructure adjacente sur le même ASN liée à des opérations passées d’UNC1069
🔗 Contexte élargi
L’article mentionne également UNC6780 (TeamPCP) ayant récemment empoisonné des GitHub Actions et packages PyPI (Trivy, Checkmarx, LiteLLM) pour déployer le stealer SANDCLOCK et mener des opérations d’extorsion.
📋 Type d’article
Il s’agit d’une analyse technique approfondie publiée par GTIG/Mandiant, visant à documenter l’attaque, fournir des IOCs exploitables, des règles YARA et des recommandations de remédiation pour la communauté défensive.
🧠 TTPs et IOCs détectés
Acteurs de menace
- UNC1069 (state-sponsored)
- UNC6780 (cybercriminal)
TTP
- T1195.001 — Supply Chain Compromise: Compromise Software Dependencies and Development Tools (Initial Access)
- T1078 — Valid Accounts (Initial Access)
- T1059.001 — Command and Scripting Interpreter: PowerShell (Execution)
- T1059.004 — Command and Scripting Interpreter: Unix Shell (Execution)
- T1059.006 — Command and Scripting Interpreter: Python (Execution)
- T1027 — Obfuscated Files or Information (Defense Evasion)
- T1070.004 — Indicator Removal: File Deletion (Defense Evasion)
- T1036.003 — Masquerading: Rename System Utilities (Defense Evasion)
- T1547.001 — Boot or Logon Autostart Execution: Registry Run Keys / Startup Folder (Persistence)
- T1105 — Ingress Tool Transfer (Command and Control)
- T1071.001 — Application Layer Protocol: Web Protocols (Command and Control)
- T1082 — System Information Discovery (Discovery)
- T1083 — File and Directory Discovery (Discovery)
- T1055 — Process Injection (Defense Evasion)
IOC
- IPv4 :
142.11.206.73 - IPv4 :
23.254.167.216 - Domaines :
sfrclak.com - URLs :
http://sfrclak.com:8000 - URLs :
http://sfrclak.com:8000/6202033 - SHA256 :
e10b1fa84f1d6481625f741b69892780140d4e0e7769e7491e5f4d894c2e0e09 - SHA256 :
fcb81618bb15edfd - SHA256 :
92ff08773995ebc8 - SHA256 :
617b67a8e1210e4f - SHA256 :
ed8560c1ac7ceb69 - SHA256 :
f7d335205b8d7b20 - SHA256 :
58401c195fe0a620 - MD5 :
04e3073b3cd5c5bfcde6f575ecf6e8c1 - MD5 :
089e2872016f75a5223b5e02c184dfec - MD5 :
7658962ae060a222c0058cd4e979bfa1 - Emails :
ifstap@proton.me - Fichiers :
setup.js - Fichiers :
plain-crypto-js-4.2.1.tgz - Fichiers :
system.bat - Fichiers :
ld.py - Chemins :
%PROGRAMDATA%\wt.exe - Chemins :
%PROGRAMDATA%\system.bat - Chemins :
/Library/Caches/com.apple.act.mond - Chemins :
/tmp/ld.py
Malware / Outils
- WAVESHAPER.V2 (backdoor)
- SILKBELL (loader)
- WAVESHAPER (backdoor)
- SANDCLOCK (stealer)
- plain-crypto-js (loader)
🔗 Source originale : https://cloud.google.com/blog/topics/threat-intelligence/north-korea-threat-actor-targets-axios-npm-package?hl=en