Selon Socket (Socket Threat Research Team), une opération étatique nord-coréenne en cours arme le registre npm via plus de 338 paquets malveillants totalisant plus de 50 000 téléchargements, dans une campagne « Contagious Interview » visant des développeurs Web3/crypto/blockchain via de faux recruteurs sur LinkedIn.

L’attaque repose sur de leurres de recrutement qui livrent des « tests de code » contenant des dépendances typosquattées. À l’installation, des hooks npm (postinstall) déclenchent des chargeurs malveillants, conduisant à une chaîne d’infection multi‑étapes. La campagne montre une persistance industrialisée avec des envois hebdomadaires de paquets, des techniques de chargeur en évolution et 180+ faux personnages répartis sur de nouveaux comptes npm. ⚠️

Côté technique, trois familles de loaders sont décrites: HexEval (charges utiles encodées en hex décodées à l’exécution), XORIndex (tables d’octets obfusquées par XOR) et des chargeurs chiffrés utilisant des clés/IV AES‑256‑CBC en dur. Après exécution, ils déploient le malware BeaverTail, qui établit un C2 via HTTP/HTTPS et WebSocket, puis récupère le backdoor InvisibleFerret (en Python, multi‑plateforme).

L’infrastructure C2 combine des IP fixes chez des fournisseurs de VPS et des plateformes légitimes comme Vercel, avec des URI imitant des développeurs (par ex. /api/ipcheck, /process-log) et l’usage de ports non standard pour l’évasion.

IOCs observables (extraits de l’étude) 🧩:

  • Chemins C2: /api/ipcheck, /process-log
  • Plateformes utilisées: Vercel, fournisseurs de VPS (IP fixes)
  • Écosystème: npm (paquets typosquattés, hooks postinstall)

TTPs clés 🛠️:

  • Ingénierie sociale: faux recruteurs LinkedIn ciblant devs Web3/crypto/blockchain
  • Chaîne d’approvisionnement: paquets npm typosquattés + exécution via postinstall
  • Obfuscation/chiffrement: HexEval, XORIndex, AES‑256‑CBC (clés/IV hardcodés)
  • Multi‑étapes: BeaverTail (C2 HTTP/HTTPS/WebSocket) → InvisibleFerret (backdoor Python)
  • Evasion: URIs « développeur‑like », ports non standard, hébergement mêlant VPS et plateformes légitimes
  • Opérationnalisation: envois hebdomadaires, 180+ personas, nouveaux comptes npm

Il s’agit d’une analyse de menace visant à documenter une campagne étatique en cours, ses techniques, son infrastructure et son impact sur l’écosystème npm.

🧠 TTPs et IOCs détectés

TTPs

[‘Ingénierie sociale: faux recruteurs LinkedIn ciblant devs Web3/crypto/blockchain’, ‘Chaîne d’approvisionnement: paquets npm typosquattés + exécution via postinstall’, ‘Obfuscation/chiffrement: HexEval, XORIndex, AES-256-CBC (clés/IV hardcodés)’, ‘Multi-étapes: BeaverTail (C2 HTTP/HTTPS/WebSocket) → InvisibleFerret (backdoor Python)’, ‘Evasion: URIs « développeur-like », ports non standard, hébergement mêlant VPS et plateformes légitimes’, ‘Opérationnalisation: envois hebdomadaires, 180+ personas, nouveaux comptes npm’]

IOCs

[‘Chemins C2: /api/ipcheck, /process-log’, ‘Plateformes utilisées: Vercel, fournisseurs de VPS (IP fixes)’, ‘Écosystème: npm (paquets typosquattés, hooks postinstall)’]


🔗 Source originale : https://socket.dev/blog/north-korea-contagious-interview-campaign-338-malicious-npm-packages