🔍 Contexte

Publié le 14 juillet 2026 par Ox Security (Moshe Siman Tov Bustan), cet article documente la compromission de l’organisation npm AsyncAPI, un écosystème de packages JavaScript très utilisé dans le développement d’APIs asynchrones.

📦 Packages affectés

Quatre packages ont été identifiés comme compromis :

  • @asyncapi/generator — version 3.3.1
  • @asyncapi/generator-components — version 0.7.1
  • @asyncapi/generator-helpers — version 1.1.1
  • @asyncapi/specs — versions 6.11.2 et 6.11.2-alpha.1

Ces packages totalisent plus de 2 millions de téléchargements hebdomadaires.

⚙️ Analyse technique

Le malware est décrit comme un dropper multi-étages hautement sophistiqué de 91 973 lignes de code, combinant trois fonctionnalités principales :

  • Info-stealer : vol de configurations cloud et de tokens
  • Crypto-stealer : vol de portefeuilles de cryptomonnaies
  • RAT (Remote Access Trojan) : accès distant complet à la machine compromise

Caractéristiques notables :

  • Le payload malveillant est embarqué directement dans le fichier JavaScript principal, contournant ainsi les restrictions npm v12 sur les scripts post-install
  • Utilisation d’IPFS (ipfs.io) comme infrastructure légitime pour stocker le payload et comme serveur C2 de secours
  • Beaconing via BitTorrent (router.bittorrent.com, router.utorrent.com, dht.transmissionbt.com) pour maintenir les communications même si le C2 principal est bloqué
  • Auto-duplication sur les registres npm, PyPI et Cargo si des tokens valides sont trouvés sur la machine victime
  • Vérifications anti-analyse : détection de VM, présence d’EDR, et vérification de la locale système — le malware se termine si la langue est le russe
  • Serveur C2 principal : 85.137.53.71
  • Adresse de contrat Ethereum embarquée : 0x12c37A86a0Ed0beBe5d1d6a43E42f07860eAc710 (aucune transaction détectée)

🎭 Attribution et déception

Bien que le malware contienne plusieurs références à la chaîne “Miasma” et présente des similarités avec les campagnes Shai-Hulud et Miasma/TeamPCP, les chercheurs précisent explicitement que ce malware n’est pas attribué à ces campagnes. L’utilisation du nom Miasma est interprétée comme une technique délibérée de déception des analystes (false flag).

La présence d’un contrôle de locale russe avec auto-terminaison suggère des créateurs russophones cherchant à éviter d’infecter leurs propres machines.

📋 Type d’article

Il s’agit d’une publication de recherche par un éditeur de sécurité (Ox Security), visant à documenter techniquement une attaque supply chain active et à diffuser les IOCs associés.

🧠 TTPs et IOCs détectés

TTP

  • T1195.002 — Supply Chain Compromise: Compromise Software Supply Chain (Initial Access)
  • T1027 — Obfuscated Files or Information (Defense Evasion)
  • T1497 — Virtualization/Sandbox Evasion (Defense Evasion)
  • T1083 — File and Directory Discovery (Discovery)
  • T1539 — Steal Web Session Cookie (Credential Access)
  • T1552 — Unsecured Credentials (Credential Access)
  • T1071 — Application Layer Protocol (Command and Control)
  • T1102 — Web Service (Command and Control)
  • T1543 — Create or Modify System Process (Persistence)
  • T1080 — Taint Shared Content (Lateral Movement)

IOC

Malware / Outils

  • AsyncAPI npm dropper (loader)
  • Shai-Hulud Miasma evolution (other)

🟡 Indice de vérification factuelle : 58/100 (moyenne)

  • ⬜ ox.security — source non référencée (0pts)
  • ✅ 7411 chars — texte complet (fulltext extrait) (15pts)
  • ✅ 4 IOCs (IPs/domaines/CVEs) (10pts)
  • ✅ 1/4 IOC(s) confirmé(s) (AbuseIPDB, ThreatFox, URLhaus, VirusTotal) (8pts)
  • ✅ 10 TTPs MITRE identifiées (15pts)
  • ✅ date extraite du HTML source (10pts)
  • ⬜ aucun acteur de menace nommé (0pts)
  • ⬜ pas de CVE à vérifier (0pts)

IOCs confirmés externellement :

  • 85.137.53.71 (ip) → VT (15/91 détections)

🔗 Source originale : https://www.ox.security/research-news/asyncapi-npm-organization-compromised-2m-weekly-downloads-affected/