AsyncAPI npm packages infected with credential-stealing malware
Mis à jour :
Compromission de la chaîne d’approvisionnement AsyncAPI sur npm
Une attaque par compromission de la chaîne d’approvisionnement a visé le gestionnaire de paquets npm, entraînant l’injection de logiciels malveillants dans cinq versions légitimes de paquets AsyncAPI. En exploitant des workflows GitHub Actions mal configurés, les attaquants ont publié des versions “trojanisées” bénéficiant d’attestations de provenance valides, trompant ainsi la vigilance des systèmes de sécurité.
Points clés :
- Vecteur d’attaque : Compromission des pipelines CI/CD (GitHub Actions) et non des comptes développeurs ou des jetons npm.
- Impact : Plus de 2,25 millions de téléchargements hebdomadaires cumulés ont été exposés entre 07h10 et 11h18 UTC le 14 juillet.
- Nature de la menace : Un cheval de Troie d’accès à distance (RAT) modulaire, potentiellement lié à la famille “Miasma”, capable d’exfiltrer des secrets (clés API, identifiants, portefeuilles crypto, données de CI/CD).
- Comportement : Le malware utilise une architecture multi-étapes via IPFS pour télécharger sa charge utile principale, communique via divers canaux (HTTP, Nostr, Ethereum, libp2p) et s’auto-termine s’il détecte une présence en Russie.
Vulnérabilités :
- Aucun identifiant CVE spécifique n’a été attribué à ce stade, la faille reposant sur une mauvaise configuration des workflows GitHub Actions et l’automatisation du processus de publication (GitHub OIDC).
Paquets compromis :
@asyncapi/generator(v3.3.1)@asyncapi/generator-helpers(v1.1.1)@asyncapi/generator-components(v0.7.1)@asyncapi/specs(v6.11.2 et v6.11.2-alpha.1)
Recommandations :
- Assainissement : Supprimer les versions compromises et régénérer les fichiers de verrouillage (lock files) avec des versions saines vérifiées.
- Remédiation système : Identifier et terminer les processus suspects (notamment le fichier
NodeJS/sync.js), puis auditer les systèmes pour détecter toute exécution malveillante. - Rotation des secrets : Considérer comme compromis tous les identifiants, jetons, clés API et données sensibles présents sur les machines où ces paquets ont été installés durant la fenêtre d’exposition.
- Prévention : Renforcer la sécurité des pipelines CI/CD et restreindre les permissions accordées aux workflows de publication automatique.
