En bref

  • La campagne Hades a infecte 19 packages PyPI via 37 artefacts malveillants contenant un voleur de credentials automatise, dans la continuite du groupe Miasma qui avait compromis 73 depots GitHub de Microsoft debut juin 2026.
  • L'attaque exploite des hooks de demarrage Python (.pth) pour s'executer silencieusement a l'import, puis deploie un runtime Bun pour voler les secrets de developpeurs et d'environnements CI/CD.
  • Les equipes de developpement doivent auditer leurs dependances PyPI et npm (471 artefacts compromis au total) et revoquer immediatement les tokens et secrets potentiellement exposes.

Miasma intensifie sa campagne avec une nouvelle vague PyPI baptisee Hades

Le 8 juin 2026, les equipes de recherche de StepSecurity ont identifie que la version 0.8.101 du package ensmallen — un outil populaire pour l'apprentissage automatique sur graphes — avait ete compromise sur PyPI, le registre officiel des paquets Python. Ce package, utilise dans de nombreux projets de bioinformatique, de data science et de developpement d'agents IA, contenait un payload sophistique attribue au groupe Miasma, deja connu pour avoir infecte 73 depots GitHub d'organisations Microsoft le 5 juin 2026. Cette nouvelle vague d'attaques, baptisee campagne Hades, represente une escalade significative dans la strategie de ce groupe.

L'analyse technique realisee par StepSecurity et Socket.dev revele un mecanisme d'attaque en trois etapes particulierement ingenieux. La premiere etape consiste en l'injection d'un fichier d'extension .pth dans le repertoire site-packages de Python lors de l'installation du paquet. Ce type de fichier, peu connu des developpeurs non specialises, est automatiquement charge par l'interpreteur Python au demarrage, sans qu'aucune action supplementaire ne soit requise — l'infection est donc automatiquement persistante et s'active a chaque execution Python dans l'environnement affecte.

La deuxieme etape consiste en le telechargement et l'installation silencieuse du runtime Bun, un environnement JavaScript leger et rapide. Ce choix technique est delibere : Bun est moins susceptible d'etre detecte par les outils de securite traditionnels que les runtimes Node.js plus connus, et il permet d'executer des scripts JavaScript obfusques sans dependances supplementaires visibles. La troisieme etape est l'execution du payload principal — un voleur de credentials JavaScript obfusque — qui s'active immediatement apres le demarrage du runtime.

Les donnees ciblees par le stealer couvrent un spectre large et particulierement preoccupant pour les environnements de developpement et d'integration continue. Le malware extrait les tokens d'authentification pour les registres de paquets (PyPI, npm, GitHub Packages), les secrets cloud stockes localement (fichiers de configuration AWS, Azure, GCP), les cles SSH, les jetons GitHub et GitLab, les variables d'environnement contenant des credentials, ainsi que les tokens d'acces aux plateformes d'automatisation comme GitHub Actions, CircleCI ou Jenkins. Dans les environnements CI/CD, cette liste represente l'equivalent d'un acces complet a la chaine de livraison logicielle.

La portee totale de la campagne Hades est considerable. Au moment de la publication, les chercheurs de Socket.dev et SOCRadar ont documente 471 artefacts compromis repartis sur deux registres : 411 artefacts npm sur 106 packages et 60 artefacts PyPI sur 37 packages. Le package ensmallen n'est que la tete de pont visible. Parmi les packages affectes, les chercheurs identifient des outils orientes bioinformatique, apprentissage automatique sur graphes, et — fait particulierement notable — des packages utilises dans le developpement d'agents IA et d'outils MCP (Model Context Protocol), ciblant directement les developpeurs de la nouvelle generation d'applications IA.

La connexion avec la vague Miasma du 5 juin est confirmee par les analystes. Lors de cette premiere vague, Miasma avait utilise une technique de worm auto-repliquant pour pousser des commits malveillants dans 73 depots repartis sur quatre organisations GitHub de Microsoft, avant que GitHub ne desactive les depots concernes. La campagne Hades represente une mutation de la strategie : plutot que de cibler directement les depots de code source, elle empoisonne les dependances en amont, touchant potentiellement tout developpeur qui installe ou met a jour ses paquets Python ou JavaScript.

Un aspect particulierement sophistique de la campagne Hades est l'utilisation de techniques dites de misdirection des analystes IA. Selon le rapport de StepSecurity, le payload contient des commentaires et des structures de code concus pour induire en erreur les outils d'analyse statique bases sur des modeles de langage, en faisant apparaitre le code malveillant comme un code de logging legitime lors d'une analyse rapide. Cette technique, qui exploite les biais des modeles d'analyse automatisee, represente une evolution qualitative dans la sophistication des attaques supply chain.

PyPI a confirme avoir supprime les packages identifies comme malveillants et travailler avec les equipes de securite pour identifier d'autres artefacts potentiellement compromis. GitHub a maintenu la suspension des 73 depots Microsoft affectes lors de la vague precedente. Les chercheurs de SecurityWeek notent que la combinaison npm et PyPI augmente considerablement la surface d'attaque et suggere une planification a long terme de la part du groupe Miasma.

La supply chain logicielle : un vecteur en pleine escalade

La campagne Hades s'inscrit dans une tendance structurelle d'intensification des attaques sur la chaine d'approvisionnement logicielle. Depuis l'incident SolarWinds de 2020, les registres de paquets open source — npm, PyPI, Maven Central — sont devenus des cibles privilegiees pour les acteurs de la menace cherchant un acces massif et difficile a tracer. La technique du hook de demarrage Python (.pth) n'est pas nouvelle — elle a ete utilisee dans des campagnes precedentes documentees par Phylum et Checkmarx en 2024 — mais son utilisation a cette echelle et avec ce niveau de sophistication est inedite.

Pour les entreprises utilisant Python dans leurs pipelines de developpement — dans les secteurs de la data science, du machine learning, de la finance quantitative et de la bioinformatique — l'incident souleve des questions fondamentales sur la gestion des dependances. Les pratiques qui consistent a mettre a jour automatiquement les paquets dans les environnements de developpement doivent etre reevaluees. Le principe du moindre privilege doit s'appliquer non seulement aux utilisateurs, mais aussi aux environnements d'execution des scripts d'installation.

La dimension CI/CD de cette attaque est particulierement preoccupante. Les environnements d'integration continue disposent generalement de droits etendus sur les depots de code, les registres de paquets et les plateformes cloud. Un compromis sur l'environnement CI/CD ouvre la voie a une attaque en cascade : modification du code en production, injection de portes derobees dans les artefacts livres, acces aux secrets d'infrastructure. C'est precisement le scenario qui avait rendu l'attaque XZ Utils de 2024 si alarmante, et la campagne Hades vise exactement les memes points d'entree.

Le ciblage explicite des developpeurs d'agents IA et d'outils MCP par la campagne Hades doit etre interprete comme un signal d'alarme specifique. Un token vole dans un environnement MCP peut offrir a un attaquant un acces a des modeles configures avec des droits etendus, ouvrant la voie a des attaques d'injection de prompts a grande echelle ou a l'exfiltration de donnees via des sessions IA. Alors que les outils MCP se generalisent rapidement, leur securisation devient un enjeu de premier plan.

Ce qu'il faut retenir

  • La campagne Hades a compromis 471 artefacts sur npm et PyPI — auditer immediatement les dependances et revoquer tous les tokens potentiellement exposes dans les environnements affectes.
  • Les hooks .pth rendent l'infection invisible et persistante ; verifier l'integrite des repertoires site-packages dans tous les environnements Python en production et CI/CD.
  • Le ciblage des outils MCP et agents IA signale une montee en sophistication des attaques supply chain : renforcer la gestion des secrets et l'isolation des environnements de build est desormais critique.

Comment detecter si mon environnement Python a ete compromis par la campagne Hades ?

Verifiez la presence de fichiers .pth inattendus dans vos repertoires site-packages (commande : python -c "import site; print(site.getsitepackages())"). Recherchez la presence de binaires Bun non prevus dans vos environnements. Auditez les logs reseau pour des connexions sortantes inhabituelles depuis vos processus Python. Revoquez et regenerez tous les tokens (PyPI, npm, GitHub, cloud) presents dans les environnements affectes, meme en l'absence de preuve formelle de compromission.

Besoin d'un accompagnement expert ?

Ayi NEDJIMI vous accompagne sur vos projets cybersecurite et IA.

Prendre contact