Le code source du logiciel malveillant Miasma, un outil qui vole des identifiants et qui a ciblé des écosystèmes de logiciels libres, a été publié de manière volontaire sur la plateforme GitHub. Ce code est resté accessible pendant un temps limité.
Les analyses montrent que Miasma représente une évolution d’un ver informatique précédent, nommé Shai-Hulud, dont le code avait aussi fuité. Les deux programmes partagent de nombreuses fonctionnalités, techniques et lignes de code communes.
Ce logiciel infecte d’abord l’ordinateur d’un développeur. Il dérobe ensuite les identifiants de l’environnement de compilation et ceux des services cloud de la victime. Le programme utilise ces accès pour compromettre des dépôts de code et des modules logiciels légitimes. Il publie des versions modifiées qui contiennent des chevaux de Troie, ce qui permet d’infecter d’autres développeurs et de perpétuer le cycle d’attaques.
Ce mécanisme de propagation autonome, qui s’apparente à un ver, peut étendre rapidement la portée d’une intrusion. Une seule compromission initiale peut se transformer en une attaque majeure contre la chaîne d’approvisionnement logicielle.
Dans le passé, ce logiciel malveillant a été associé à des attaques notables, comme celles qui ont visé des modules npm de Red Hat. Plus récemment, il a été utilisé pour compromettre 73 dépôts Microsoft sur GitHub.
Les chercheurs de la société SafeDep ont signalé que le code source de Miasma a été divulgué sur GitHub par le biais de plusieurs comptes de développeurs qui avaient été piratés. Dans chaque compte, les pirates ont créé un dépôt intitulé « Miasma-Open-Source-Release » pour y héberger le code.
Cette méthode indique une publication délibérée du code source par les auteurs de la menace, et non une fuite accidentelle. La situation est similaire à la publication antérieure du code de Shai-Hulud.

Source : SafeDep
L’examen du code a révélé que cette trousse d’outils malveillante n’a pas besoin d’une infrastructure de commande et de contrôle classique pour fonctionner. Elle utilise à la place les fonctionnalités de GitHub pour assurer cette coordination.

Le cadre d’attaque collecte des identifiants auprès de fournisseurs de cloud, de systèmes d’intégration et de déploiement continus, de gestionnaires de mots de passe, d’outils comme Kubernetes et de stockages de secrets. Il détourne ensuite ces accès pour compromettre des modules sur npm, PyPI et RubyGems, ainsi que des dépôts GitHub, des workflows GitHub Actions et des instances JFrog Artifactory.
Le logiciel peut aussi se déplacer latéralement via les protocoles SSH et AWS Systems Manager. Il est capable d’empoisonner les configurations d’outils d’aide au codage par intelligence artificielle, comme Claude, Gemini, Cursor, Copilot, Kiro et Cline.

Source : SafeDep
Le code source divulgué a mis en lumière une fonctionnalité particulière : un « interrupteur de l’homme mort ». Ce composant est installé quand le logiciel malveillant utilise un jeton GitHub volé à une victime comme canal pour exfiltrer des données.
Ce dispositif vérifie la validité du jeton toutes les minutes. S’il détecte que le jeton a été révoqué, il exécute une commande destructrice. Cette commande supprime de manière récursive les fichiers et les répertoires situés dans le dossier personnel de l’utilisateur et dans son dossier Documents.
Le moniteur s’exécute comme un service utilisateur systemd sur les systèmes Linux ou comme un LaunchAgent sur macOS. Il reste actif pendant une durée maximale de 72 heures.
Une autre caractéristique dévoilée concerne un pipeline de compilation en cinq étapes. Ce processus génère des charges utiles uniques pour chaque construction du logiciel.
Selon le rapport de SafeDep, le procédé combine le chiffrement AES-256-GCM des ressources intégrées, l’obscurcissement aléatoire des chaînes de caractères, des transformations du code source, l’obscurcissement du JavaScript et un chargeur auto-extractible. Ce chargeur enveloppe la charge utile finale avec trois couches de chiffrement.
Des clés aléatoires et une couche de codage extérieure elle aussi aléatoire garantissent que chaque échantillon généré est différent des constructions précédentes. Cette technique rend plus difficile la détection basée sur des signatures et l’analyse statique.
La fuite du code de Shai Hulud avait conduit à l’apparition de variants plus avancés, comme Miasma, et à une augmentation du rythme des attaques. De la même manière, la publication du code source de Miasma devrait avoir un effet comparable, car d’autres acteurs malveillants vont probablement l’adopter et le modifier.
Cette situation pourrait avoir des répercussions importantes pour la sécurité de l’écosystème des logiciels libres, qui subit actuellement un nombre record d’attaques contre sa chaîne d’approvisionnement.
Les développeurs de logiciels sont invités à figer les dépendances de leurs projets, à instaurer un délai de plusieurs jours avant d’adopter les mises à jour récentes des modules et à valider les nouvelles constructions dans des environnements de test isolés.
