Close-up of colorful programming code on a computer screen, showcasing digital technology.
News

Le ver Miasma force GitHub à désactiver 73 dépôts Microsoft en 105 secondes

Le ver Miasma a infecté des dépôts GitHub de Microsoft via un compte contributeur compromis, ciblant les agents IA comme Claude Code et Cursor.
Sara Amin
Marketing Student • Content & Writing Enthusiast

Le 5 juin 2026, des ingénieurs sécurité ont regardé 73 dépôts Microsoft disparaître de GitHub en moins de deux minutes. Pas une panne. Pas une erreur de manipulation. Une attaque de chaîne d'approvisionnement coordonnée, exécutée par un ver capable de cibler spécifiquement les agents de codage IA comme Claude Code, Cursor et Gemini CLI. Si votre organisation utilise des outils de développement assistés par intelligence artificielle — et c'est probablement le cas — ce qui s'est passé ce jour-là vous concerne directement.

Ce qui s'est passé le 5 juin 2026

Le commit malveillant dans azure/durabletask

Tout commence par un seul commit. Un compte contributeur préalablement compromis pousse du code malveillant dans le dépôt Azure/durabletask, l'un des projets centraux de l'écosystème Azure Functions. Ce compte n'était pas nouveau, pas suspect en apparence , c'est précisément ce qui rend l'intrusion aussi préoccupante. Selon The Hacker News, ce commit constitue le point d'entrée initial depuis lequel le ver Miasma a commencé à se propager à travers les organisations GitHub Azure de Microsoft.

Ce qui rend ce vecteur particulièrement dangereux, c'est sa discrétion. Un commit poussé par un compte contributeur légitime ne déclenche pas les mêmes alertes qu'une tentative d'intrusion directe sur l'infrastructure. Les systèmes de contrôle d'accès voient un utilisateur autorisé qui fait son travail habituel. La compromission du compte en amont , probablement des semaines plus tôt , reste invisible jusqu'au moment de l'exploitation. C'est le principe même des attaques de chaîne d'approvisionnement : le vecteur d'attaque est interne par définition, ce qui invalide une partie des modèles de défense périmétrique traditionnels.

Le dépôt durabletask n'a pas été choisi au hasard. Il sert de fondation à de nombreuses implémentations Azure Functions et bénéficie d'une forte visibilité dans la communauté des développeurs. Compromettre ce point central maximise la surface d'exposition potentielle, puisque des dizaines d'équipes techniques , au sein de Microsoft et en dehors , l'utilisent comme dépendance dans leurs propres pipelines. Comprendre ce que représente réellement cette surface d'attaque pour une organisation est la première condition pour la réduire.

Les 73 dépôts désactivés en 105 secondes

La réaction de GitHub a été remarquablement rapide. Selon DevOps.com, la plateforme a déclenché le retrait de l'ensemble des dépôts concernés en 105 secondes après avoir détecté l'infection. Cent cinq secondes. C'est à la fois impressionnant sur le plan technique et révélateur de l'ampleur du problème : GitHub disposait manifestement d'une capacité de détection automatisée capable d'identifier une propagation de ce type, ce qui suppose que le scénario avait été anticipé et modélisé.

Au total, ce sont 73 dépôts répartis sur quatre organisations GitHub Microsoft qui ont été désactivés. La liste publiée par StepSecurity inclut des projets à forte adoption : azure-search-openai-demo, les implémentations de durabletask en .NET, Go, Java, JavaScript et MSSQL, mais aussi functions-container-action, llm-fine-tuning et windows-driver-docs. La diversité de ces projets n'est pas anodine , elle montre que Miasma ne cherchait pas à cibler un seul langage ou un seul cas d'usage, mais à maximiser le nombre de développeurs susceptibles de cloner les dépôts infectés.

Pour les équipes de sécurité, ce chiffre de 105 secondes doit être lu dans les deux sens. D'un côté, la détection et la neutralisation ont été rapides. De l'autre, le ver avait déjà eu le temps de planter ses fichiers de configuration malveillants dans des dizaines de dépôts. La fenêtre d'exposition existait. Des développeurs avaient peut-être déjà cloné certains de ces dépôts avant la désactivation.

Le ver Miasma : origine et mécanisme

Mini Shai-Hulud et TeamPCP

Miasma n'est pas une création originale. C'est une variante directe d'un ver appelé Mini Shai-Hulud, que le groupe TeamPCP a rendu public à la mi-mai 2026, soit moins de trois semaines avant l'attaque sur les dépôts Microsoft. Cette chronologie mérite attention : la publication d'un outil offensif et son utilisation dans une attaque de grande envergure se sont enchaînées en un temps extrêmement court, ce qui indique que les attaquants avaient déjà préparé leur infrastructure et leurs cibles avant même la divulgation publique du code source.

Selon Phoenix Security, TeamPCP avait déjà orchestré une campagne distincte baptisée "Hades Wave" au cours de laquelle 37 wheels Python malveillants avaient été déposés sur PyPI. Ce contexte est essentiel pour comprendre la cohérence tactique du groupe : il ne s'agit pas d'opportunistes qui testent des outils disponibles en ligne, mais d'acteurs structurés qui développent des capacités offensives, les testent sur un écosystème de dépendances Python, puis les adaptent pour cibler l'infrastructure de développement de Microsoft sur GitHub.

Le nom "Shai-Hulud" , référence aux vers géants du roman Dune , n'est pas sans ironie pour un programme conçu à s'enfouir dans les infrastructures de développement et à remonter silencieusement jusqu'aux credentials des développeurs. Ce que les analystes threat intelligence doivent retenir, c'est que TeamPCP dispose d'un historique documenté et d'une capacité d'adaptation rapide entre deux écosystèmes distincts , PyPI et GitHub , ce qui complique la détection par des signatures statiques.

Comment Miasma se propage via les outils de développement IA

Le mécanisme de propagation de Miasma exploite un angle mort qui existe depuis que les agents de codage IA ont commencé à lire automatiquement les fichiers de configuration des dépôts sur lesquels ils travaillent. Quand un développeur ouvre un projet dans Claude Code, Cursor ou VS Code avec certaines extensions activées, ces outils chargent automatiquement les fichiers de configuration présents dans le dépôt , des fichiers comme .claude/commands/ ou .cursorrules , pour comprendre le contexte du projet et adapter leur comportement.

Miasma plante précisément dans ces fichiers des instructions malveillantes. L'agent IA les lit, les interprète comme des instructions légitimes de configuration du projet, et les exécute. Le développeur ne voit rien. Il n'a validé aucune action explicitement dangereuse. Il a simplement ouvert un dépôt dans son environnement de développement habituel. Cette confiance implicite accordée aux fichiers de configuration dans les dépôts clonés est le vecteur central de l'attaque, et il est partagé par GitHub Actions et les pipelines CI/CD de la même manière.

Ce vecteur remet en question un principe de sécurité fondamental : la séparation entre le code à exécuter et le code à lire. Pendant des années, "cloner un dépôt" était considéré comme une opération passive et sans risque immédiat. Les agents IA ont aboli cette distinction. Lire un fichier de configuration et exécuter des instructions sont devenus une seule et même opération dans cet environnement.

Les cibles : agents IA comme Claude Code, Cursor et Gemini CLI

Le payload de vol de credentials quand un développeur ouvre le repo

Le payload déployé par Miasma a une fonction très précise : voler des credentials au moment où un développeur ouvre le dépôt infecté dans son environnement de travail. D'après l'analyse publiée par StepSecurity, l'attaque plante des fichiers de configuration spécifiquement conçus pour déclencher ce vol lors de l'ouverture dans Claude Code, Gemini CLI, Cursor ou VS Code. Ce ne sont pas des outils marginaux , ce sont les environnements de développement IA les plus utilisés en entreprise en 2026.

La subtilité du mécanisme tient au timing. Le vol n'intervient pas lors d'un build, d'un déploiement ou d'une action CI/CD explicite. Il intervient à l'ouverture du dépôt, une action si banale qu'elle ne génère aucune suspicion. Un développeur qui travaille sur azure-search-openai-demo ou sur une implémentation de durabletask , deux projets parmi les plus populaires de l'écosystème Azure , ouvre son outil habituel, et c'est à ce moment précis que les credentials sont exfiltrés. Les tokens d'accès GitHub, les clés API Azure, les variables d'environnement stockées localement , tout ce qui est accessible depuis le contexte d'exécution de l'agent IA devient potentiellement visible.

Pour les équipes sécurité, savoir identifier les indicateurs de compromission associés à ce type de payload est critique. Les signaux classiques , connexions réseau anormales, modifications de fichiers systèmes , sont présents, mais la fenêtre de détection est étroite puisque l'exfiltration se produit en quelques secondes lors d'une action que le développeur effectue plusieurs fois par jour.

Les dépôts Microsoft touchés

La sélection des dépôts infectés révèle une stratégie de ciblage orientée vers la maximisation de l'exposition développeur. azure-search-openai-demo est l'un des dépôts de référence pour les équipes qui construisent des applications RAG sur Azure , il est cloné par des milliers de développeurs qui évaluent ou déploient des architectures basées sur les modèles OpenAI. llm-fine-tuning cible explicitement les équipes qui travaillent sur l'entraînement de modèles de langage, un profil d'utilisateur qui a généralement accès à des ressources cloud coûteuses et à des données d'entraînement sensibles.

Les implémentations de durabletask en .NET, Go, Java, JavaScript et MSSQL représentent une surface d'exposition polyglotte. Un attaquant qui récupère des credentials depuis un développeur travaillant sur l'implémentation Go ne cible pas nécessairement un profil différent de celui qui travaille sur la version Java , mais il multiplie les points d'entrée potentiels dans des organisations qui utilisent ces bibliothèques dans leurs propres projets.

functions-container-action et windows-driver-docs complètent ce tableau. Le premier cible des équipes DevOps qui gèrent des déploiements conteneurisés via GitHub Actions. Le second , moins attendu , touche des développeurs de drivers Windows, un profil qui travaille souvent avec des accès système élevés et des environnements de signature de code sensibles.

La chaîne de compromission : du compte PyPI au GitHub Microsoft

Le même compte compromis dans l'attaque PyPI de mai et l'incident GitHub de juin

Le détail le plus significatif de cet incident est peut-être le lien entre les deux attaques. Selon DevOps.com, le même compte contributeur compromis a été utilisé dans l'attaque PyPI de mai 2026 et dans l'incident GitHub de juin 2026, et les payloads des deux campagnes présentent des similitudes significatives. Ce n'est pas une coïncidence : c'est la signature d'un acteur qui réutilise une infrastructure de compromission entre deux opérations distinctes.

Cette continuité pose une question opérationnelle directe aux équipes sécurité : comment un compte contributeur impliqué dans une attaque documentée sur PyPI a-t-il conservé ses accès aux dépôts Microsoft pendant plusieurs semaines ? La réponse probable tient à la fragmentation des systèmes d'identité entre les écosystèmes. Un compte compromis sur PyPI n'est pas automatiquement signalé aux administrateurs GitHub de Microsoft, même si la personne derrière ce compte contribue également à des projets open source Microsoft. L'attribution de la première attaque n'a pas entraîné la révocation des accès associés sur les autres plateformes.

C'est exactement le type de continuité tactique qu'une surveillance active de la cybermenace en temps réel permet d'anticiper. Quand un compte développeur apparaît dans une campagne malveillante documentée, croiser cet identifiant avec l'ensemble des plateformes auxquelles il a accès , GitHub, npm, PyPI, Maven , devrait être un réflexe automatisé, pas une action manuelle effectuée des semaines plus tard.

L'attaque de la chaîne d'approvisionnement comme vecteur persistant

L'incident du 5 juin 2026 n'est pas un événement isolé. Il s'inscrit dans une tendance documentée depuis plusieurs années, qui voit les acteurs malveillants se déplacer de l'attaque directe des systèmes vers la compromission des outils et des dépendances utilisés pour construire ces systèmes. La logique est implacable : attaquer l'infrastructure de développement offre un rendement bien supérieur à l'attaque d'une cible unique, puisque chaque développeur qui clone un dépôt infecté devient lui-même un vecteur potentiel.

Dans le cas de Miasma, la chaîne est particulièrement bien construite. La compromission d'un seul compte contributeur suffit à injecter du code malveillant dans un dépôt à forte adoption. Les agents IA amplifient ensuite ce vecteur de façon automatique, en lisant et exécutant les fichiers de configuration sans validation humaine intermédiaire. Et le vol de credentials qui en résulte peut à son tour servir à compromettre d'autres comptes, d'autres dépôts, d'autres organisations. C'est le principe même d'un ver : chaque infection est un nouveau point de propagation.

Ce que l'incident Microsoft démontre , et ce que Phoenix Security souligne dans son analyse , c'est que même une organisation de la taille et de la maturité sécurité de Microsoft peut avoir des comptes contributeurs compromis qui passent inaperçus jusqu'au moment de l'exploitation. La protection de la chaîne d'approvisionnement n'est pas un problème réservé aux PME avec des ressources sécurité limitées. C'est un défi structurel qui touche tout écosystème open source suffisamment large pour que la surveillance de chaque compte contributeur devienne impraticable manuellement.

Ce que les équipes de développement doivent faire

La première action concrète est l'audit immédiat des dépôts clonés. Si des développeurs de votre organisation ont cloné l'un des 73 dépôts désactivés entre le 1er juin et le 5 juin 2026 , et plus précisément avant 105 secondes après la détection , vous devez supposer que leurs environnements de développement locaux ont potentiellement exécuté du code malveillant. Vérifiez les logs de vos agents IA, cherchez des connexions réseau sortantes anormales initiées depuis les postes développeurs concernés, et révoquez immédiatement tous les tokens d'accès et clés API présents dans les variables d'environnement de ces postes.

Le second point concerne la configuration de vos agents IA. Claude Code, Cursor, Gemini CLI et VS Code avec certaines extensions lisent automatiquement les fichiers de configuration à l'ouverture d'un dépôt. Vérifiez les paramètres de vos déploiements entreprise pour déterminer si cette lecture automatique peut être restreinte ou soumise à validation explicite avant exécution. Ce n'est pas une fonctionnalité anecdotique , c'est le vecteur principal utilisé par Miasma, et il sera probablement réutilisé dans des campagnes futures.

Troisièmement, mettez en place une surveillance active des comptes contributeurs qui ont accès à vos dépôts GitHub internes. Un compte qui apparaît dans une campagne malveillante documentée , comme ce fut le cas pour le compte utilisé dans la campagne PyPI de mai 2026 , doit déclencher une revue immédiate de tous ses accès, pas seulement sur la plateforme concernée. Les attaquants réutilisent leurs infrastructures de compromission. Ne leur faites pas ce cadeau.

Sur le plan des pipelines CI/CD, revoyez les permissions accordées aux GitHub Actions dans vos workflows. Les actions qui tournent dans des dépôts clonés héritent parfois de permissions larges qui ne sont pas nécessaires à leur fonction. Le principe du moindre privilège s'applique ici avec la même rigueur qu'à n'importe quel autre composant de votre infrastructure. Un workflow CI/CD ne devrait jamais avoir accès à plus de secrets que ce dont il a strictement besoin pour son exécution.

Enfin, documentez et formalisez votre processus de réponse pour les incidents de chaîne d'approvisionnement. L'attaque de juin 2026 montre que la détection peut être rapide , GitHub a agi en moins de deux minutes , mais que la décision de ce que font vos équipes dans les heures suivantes dépend entièrement de la qualité de votre préparation préalable. Qui valide qu'un dépôt est sain avant que les développeurs le reclonent ? Qui révoque les credentials exposés et dans quel délai ? Qui communique aux équipes métier si des projets clients utilisent les bibliothèques affectées ? Ces questions doivent avoir des réponses écrites avant le prochain incident, pas pendant.

Foire aux questions

Un développeur qui a cloné l'un des dépôts touchés est-il compromis ?

Pas nécessairement, mais le risque est réel et doit être évalué sérieusement. La condition déclenchante est l'ouverture du dépôt cloné dans l'un des agents IA ciblés , Claude Code, Gemini CLI, Cursor ou VS Code avec les extensions concernées. Si le développeur a uniquement cloné le dépôt sans l'ouvrir dans ces outils, le payload de vol de credentials n'a probablement pas été exécuté. En revanche, si le dépôt a été ouvert dans l'un de ces environnements pendant la fenêtre d'infection, vous devez traiter la situation comme une compromission probable jusqu'à preuve du contraire : revocation des tokens, rotation des clés API, analyse des logs réseau du poste concerné.

Comment GitHub a-t-il détecté l'infection en 105 secondes ?

Les sources disponibles ne détaillent pas le mécanisme technique exact de détection. Ce qu'on sait, selon DevOps.com, c'est que GitHub a déclenché le retrait en 105 secondes après avoir détecté l'infection. Cette rapidité suggère une détection automatisée , probablement basée sur la signature des fichiers malveillants ou sur la détection de patterns de propagation caractéristiques d'un ver , plutôt qu'une détection humaine. Le fait que Miasma soit une variante de Mini Shai-Hulud, un ver dont le code était public depuis mi-mai 2026, pourrait expliquer que GitHub disposait déjà de signatures adaptées.

Le ver Miasma cible-t-il uniquement les dépôts Microsoft ?

L'incident documenté concerne les organisations GitHub Microsoft, mais rien dans la nature technique de Miasma ne limite son action aux dépôts Microsoft. Le mécanisme d'attaque , planter des fichiers de configuration malveillants dans des dépôts accessibles via un compte contributeur compromis , est applicable à n'importe quelle organisation qui héberge des dépôts GitHub publics ou privés avec des contributeurs externes. La visibilité et l'adoption des dépôts Microsoft en ont fait des cibles de choix pour maximiser l'impact, mais toute organisation dont des développeurs utilisent Claude Code, Cursor, Gemini CLI ou VS Code et travaillent sur des dépôts clonés depuis GitHub est potentiellement exposée au même type d'attaque.

Qu'est-ce que la "Hades Wave" mentionnée dans les rapports ?

"Hades Wave" désigne une campagne antérieure à l'attaque sur Microsoft, au cours de laquelle le groupe TeamPCP a déposé 37 wheels Python malveillants sur PyPI. Selon Phoenix Security, cette campagne constitue le contexte opérationnel dans lequel le ver Mini Shai-Hulud a été développé et testé, avant que Miasma n'en soit dérivé pour cibler l'écosystème GitHub. "Hades Wave" est donc à la fois un précédent tactique et une preuve de la continuité d'action de TeamPCP entre les deux écosystèmes , PyPI d'abord, GitHub ensuite.

Comment les agents IA comme Claude Code peuvent-ils être vecteurs d'attaque ?

Les agents de codage IA lisent automatiquement les fichiers de configuration présents dans les dépôts sur lesquels ils travaillent , des fichiers comme .claude/commands/ pour Claude Code ou .cursorrules pour Cursor. Cette lecture automatique est une fonctionnalité conçue pour permettre à l'agent de comprendre le contexte du projet et d'adapter ses réponses. Miasma exploite cette fonctionnalité en plaçant dans ces fichiers des instructions malveillantes que l'agent exécute sans que le développeur en soit conscient. Le développeur n'a rien autorisé explicitement , il a simplement ouvert son environnement de travail habituel. C'est la confiance implicite dans les fichiers de configuration des dépôts clonés qui constitue le vecteur, et cette confiance est structurellement présente dans tous les outils de développement IA actuels.

Comment Defendis peut vous aider

Ce type de menace illustre un problème structurel : les informations critiques sur une campagne active circulent d'abord dans des canaux fermés, forums clandestins et groupes Telegram privés, avant d'atteindre les équipes de sécurité par les canaux habituels. Le temps perdu dans cet écart est souvent celui où l'exploitation est la plus active.

Defendis surveille ces sources en continu. Votre équipe reçoit des signaux d'alerte pertinents avant que l'incident ne devienne public, avec le contexte nécessaire pour agir : nature de la menace, infrastructure associée, secteurs ciblés. Sans que vos analystes aient à patrouiller eux-mêmes dans des espaces qu'ils ne devraient pas avoir à fréquenter.

Réserver une démo →

About the author
Sara is a marketing student and tech writing enthusiast with an interest in digital culture, startups, and emerging technologies.

Related Articles

Discover simplified
Cyber Risk Management
Request access and learn how we can help you prevent cyberattacks proactively.