
GlassWorm : un malware infecte des centaines de projets Python
La campagne GlassWorm utilise des tokens GitHub volés pour injecter du code malveillant dans des projets Python, menaçant toute la chaîne d'approvisionnement logicielle.
Des projets Python infectés en silence
Une campagne de cyberattaque baptisée GlassWorm fait des ravages dans l'écosystème Python depuis le 8 mars 2026. Des pirates utilisent des tokens d'authentification GitHub volés (des clés numériques qui permettent d'accéder à un compte sans mot de passe) pour s'introduire dans des projets et y injecter du code malveillant. Des centaines de projets seraient déjà touchés.
Le plus inquiétant, c'est la méthode. Les attaquants ne créent pas de faux projets. Ils s'introduisent dans des projets existants et légitimes, ceux que des développeurs du monde entier utilisent au quotidien.
Comment l'attaque fonctionne
Le mécanisme est particulièrement sournois. Les pirates utilisent des tokens d'accès GitHub qui avaient été compromis lors d'une première campagne GlassWorm en octobre 2025, qui ciblait les extensions du marketplace OpenVSX (un catalogue d'extensions pour l'éditeur de code Visual Studio Code). Cette première vague aurait été téléchargée plus de 35 000 fois.
Avec ces tokens en main, les attaquants se connectent aux comptes GitHub des développeurs infectés. Ensuite, ils utilisent une technique appelée "force-push" : ils réécrivent l'historique du code source directement sur la branche principale du projet. Cette méthode est redoutable parce qu'elle ne laisse aucune trace visible dans l'interface de GitHub. Pas de notification, pas de pull request (demande de fusion de code), rien. Le code malveillant apparaît comme s'il avait toujours été là.
Python, cible de choix
Les projets visés sont variés : des applications Django (un framework pour créer des sites web en Python), du code de recherche en machine learning (l'apprentissage automatique, la technologie derrière l'IA), des packages PyPI (le catalogue officiel de bibliothèques Python) et des dashboards Streamlit (un outil pour créer des interfaces de visualisation de données).
Le code malveillant est ajouté à des fichiers clés comme setup.py, main.py ou app.py, des fichiers que n'importe quel développeur exécute sans y réfléchir quand il installe ou lance un projet. Le code injecté est obfusqué, c'est-à-dire volontairement rendu illisible pour échapper aux outils de détection.
Une attaque de la chaîne d'approvisionnement
Ce type d'attaque porte un nom : supply chain attack, ou attaque de la chaîne d'approvisionnement logicielle. L'idée, c'est de ne pas attaquer la cible finale directement, mais de compromettre un outil que la cible utilise. C'est comme empoisonner l'eau à la source plutôt que de viser chaque verre individuellement.
Si un développeur utilise un projet Python infecté par GlassWorm pour construire une application, cette application sera elle aussi compromise. Et si cette application est utilisée par des milliers de personnes, le code malveillant se propage sans que personne ne s'en doute.
Les supply chain attacks sont considérées comme l'une des menaces les plus graves en cybersécurité aujourd'hui. L'attaque SolarWinds en 2020 avait montré l'ampleur des dégâts possibles, et GlassWorm prouve que la leçon n'a pas suffi.
Comment se protéger si vous êtes développeur
Si vous utilisez des projets Python depuis GitHub, quelques précautions s'imposent. Vérifiez les commits récents des projets que vous utilisez, surtout si vous remarquez des modifications sur setup.py ou main.py sans explication. Activez les alertes de sécurité GitHub et la vérification des signatures de commits (une méthode qui certifie l'identité de l'auteur d'une modification).
Et surtout, si vous aviez installé des extensions depuis OpenVSX entre octobre 2025 et aujourd'hui, changez immédiatement vos tokens GitHub. Révoquez les anciens et générez-en de nouveaux. C'est la porte d'entrée principale de GlassWorm.
Pour les utilisateurs non-développeurs, pas de panique immédiate. Mais gardez en tête que les logiciels que vous utilisez reposent sur des briques open source. Quand ces briques sont compromises, tout l'édifice peut vaciller.
À lire aussi
L'UE sanctionne la Chine et l'Iran pour cyberattaques
Le Conseil de l'UE sanctionne trois entreprises chinoises et iraniennes pour des cyberattaques ayant touché 65 000 appareils dans six États membres.
LeakNet : ce ransomware piège via de faux sites web
Le ransomware LeakNet utilise la technique ClickFix sur des sites piratés pour infecter les victimes avec un loader en mémoire basé sur Deno.
Cette police piege les IA et cache du code malveillant
Des chercheurs trompent ChatGPT, Claude et Gemini avec des polices custom. L'IA lit du texte inoffensif, le navigateur affiche un reverse shell.