Logiciel malveillant · 7 min de lecture
Des comptes GitHub volés ont implanté un voleur de secrets dans des milliers de dépôts
Depuis le 10 novembre, un attaquant utilise plus de 4 800 comptes GitHub piratés pour implanter un voleur de secrets d’intégration continue qui efface ses traces. Êtes-vous touché ?

Depuis le 10 novembre 2026, quelqu’un utilise des identifiants GitHub volés pour glisser un voleur d’identifiants dans les dépôts où ces comptes peuvent écrire. L’entreprise de sécurité Aikido (en anglais), qui l’a signalé la première le 12 novembre, appelle la campagne wfx-loot, d’après les étiquettes de l’attaquant lui-même : « wfx » pour le maliciel et « loot » (le butin) pour ce qu’il vole. Le voleur s’exécute dans GitHub Actions, et dans certains dépôts lors d’un npm install, prend tous les secrets et identifiants infonuagiques qu’il peut atteindre, puis l’attaquant efface les preuves. Si vous maintenez du code sur GitHub, voici quoi vérifier.
Ce qui s’est passé
Selon Aikido, l’attaquant a suivi les mêmes étapes pour chaque dépôt où un compte volé pouvait écrire :
- Une sonde. Une demande de tirage (pull request) intitulée
docs: dependency audit notes, ouverte depuis une branche nomméewfx-docs, pour vérifier que le compte peut écrire dans le dépôt. - La charge. L’une de trois modifications : environ 1 500 lignes ajoutées à un flux de travail existant (
ci: refresh build cache), un script plus un crochet npmpostinstall(chore: add ci helper), ou un nouveau fichier de flux de travail sur une branchechore/éphémère (chore: add dependency audit workflow). - Le nettoyage. La modification est annulée, souvent en moins d’une minute, et l’exécution du flux de travail est supprimée avec ses journaux. Un numéro d’exécution manquant dans l’historique d’Actions est souvent la seule trace.
Aikido a compté 4 837 comptes compromis ayant ouvert des demandes de tirage sondes dans 61 764 dépôts. Elle a trouvé des signes que la charge s’est réellement exécutée dans plus de 1 800 dépôts, ce qui veut dire que les secrets de ces dépôts ont très probablement été envoyés à l’attaquant. Environ 10 400 des sondes visaient des dépôts que le compte ne possédait pas, par un accès de collaborateur ou d’organisation, et 92 % étaient encore ouvertes lors de la vérification d’Aikido, ce qui laisse croire que la plupart des propriétaires ne l’ont pas remarqué.
SafeDep (en anglais), qui a examiné les branches par défaut des dépôts publics, a compté 8 093 dépôts ayant reçu des commits malveillants entre le 10 novembre à 12 h 46 UTC et le 12 novembre à 4 h 36 UTC, et a constaté que la campagne se poursuivait. Sa recherche ne voit ni les dépôts privés ni les autres branches, donc le vrai nombre est plus élevé. The Hacker News (en anglais) a trouvé d’autres demandes de tirage sondes ouvertes tôt le 12 novembre.
Ce que le voleur prend
Selon Aikido et SafeDep, le script recueille :
- tous les secrets et variables de GitHub Actions, le
GITHUB_TOKENdu flux de travail et les jetons d’exécution d’Actions ; - des clés de services infonuagiques et d’IA trouvées dans la mémoire et l’environnement de l’exécuteur ;
- les fichiers d’identifiants d’AWS, d’Azure, de Google Cloud, de Kubernetes, de npm, de PyPI et de SSH, ainsi que des fichiers comme
.envet l’état Terraform ; - une copie du dépôt et de son historique récent.
Il tente ensuite d’aller plus loin. Il échange les jetons de connexion de GitHub contre des sessions AWS, Azure et Google Cloud, peut créer de nouvelles clés d’accès AWS de longue durée et réécrire les politiques de confiance des rôles, et peut ajouter un identifiant fédéré nommé wfx-ci-* à des applications Azure, pour que l’attaquant garde un accès même après la rotation de vos secrets. Les données partent par HTTP vers des serveurs de l’attaquant ou vers une discussion Telegram.
Paquets touchés
L’attaquant semble viser les secrets d’intégration continue plutôt que la propagation par les paquets, selon Aikido, mais quelques versions ont récupéré la charge par publication automatique. SafeDep cite digitalelvis/neuronai-studio v3.14.3 sur Packagist, et certaines versions des modules Go github.com/vkuznet/gocurl et github.com/onuragtas/redock (aussi docker-env). Un composer require ou un go get normal n’exécute pas la charge, mais SafeDep conseille quand même de bloquer ces versions. Le voleur a aussi atteint 28 dépôts de WebdriverIO par des commits faits au nom du compte robot du projet. Aucune version de WebdriverIO n’a été touchée, mais le jeton du robot doit être considéré comme volé.
Le lien avec GhostAction
Aikido a constaté que les comptes utilisés cette semaine recoupent largement ceux piratés lors de la vague GhostAction d’octobre, que nous avons couverte en direct : les comptes touchés à l’époque étaient environ 1 000 fois plus susceptibles que les autres comptes actifs d’être utilisés maintenant, et dans plus de 100 dépôts, le nouveau voleur a été ajouté aux anciens fichiers de flux de travail de GhostAction. Aikido dit ne pas attribuer la campagne de novembre au même acteur pour l’instant, parce que les outils et l’infrastructure diffèrent et que des identifiants volés finissent souvent entre les mains de plusieurs attaquants. Quand nous avons clos ce sujet le 3 novembre, bon nombre des comptes piratés étaient encore utilisables au 21 octobre, et GitGuardian s’attendait à de nouvelles vagues.
Comment savoir si vous êtes touché
Cherchez dans chaque dépôt où vous pouvez écrire, à partir du 10 novembre :
- une branche
wfx-docsou une demande de tirage intituléedocs: dependency audit notes; - des commits intitulés
ci: refresh build cache,chore: add ci helper,chore: add dependency audit workflow,ci: restoreouci: cleanup; - des branches éphémères nommées
chore/suivies de huit caractères aléatoires ; - un trou dans vos numéros d’exécution Actions juste après l’un de ces commits.
Une demande de tirage sonde suffit à indiquer que le compte qui l’a ouverte est compromis, même si aucune charge n’a suivi, selon Aikido.
Ce que vous pouvez faire
- Verrouillez le compte qui a fait les commits. Révoquez ses jetons d’accès personnels, ses autorisations d’applications OAuth, ses clés SSH et ses sessions, changez son mot de passe et activez la connexion en deux étapes avec une clé d’accès ou une clé de sécurité.
- Si la charge s’est exécutée, faites la rotation de tout ce que les flux de travail pouvaient lire : secrets du dépôt, des environnements et de l’organisation, clés et rôles infonuagiques, et clés de services d’IA.
- Cherchez les accès infonuagiques restants. Dans Microsoft Entra ID, cherchez des identifiants fédérés nommés
wfx-ci-*. Dans AWS CloudTrail, cherchez des sessions nomméeswfx-*suivies deCreateAccessKeyouUpdateAssumeRolePolicy. - Si quelqu’un a lancé
npm installsur un commit touché, considérez cet ordinateur comme compromis et faites la rotation de ses clés. - Fermez la demande de tirage sonde et supprimez la branche
wfx-docs, puis republiez à partir d’un commit propre tout paquet construit à partir d’un commit touché.
Si vous n’écrivez pas de code
Vous n’avez rien à faire vous-même. Le risque concerne les développeurs et les entreprises dont les systèmes de compilation détiennent des clés. Si une application ou un service que vous utilisez vous dit avoir été touché, suivez ses conseils et surveillez les alertes de connexion inhabituelles.
Comment Frame peut aider
Cette campagne vole des secrets de développeurs et d’infonuagique, pas une liste d’adresses courriel personnelles, donc il n’y a pas d’enregistrement de fuite à ajouter dans Frame. Frame peut aussi chercher vos adresses courriel vérifiées dans la base de données de fuites de Have I Been Pwned pour d’autres fuites. Frame n’analyse pas les dépôts de code.
À lire aussi
- Des comptes de développeurs piratés servent à implanter des voleurs d’identifiants sur GitHub et npm : notre couverture en direct de GhostAction, dont les comptes piratés recoupent ceux de cette campagne.
- Rapport final de Railway : des clés d’IA volées ont généré environ 740 000 $ de frais : ce que peuvent coûter des clés de services d’IA volées.
- Une gemme Ruby malveillante lançait un ver voleur d’identifiants dès l’installation : une autre attaque récente visant les secrets des développeurs.
Sources
- Aikido Security, wfx-loot campaign pushes CI secret stealer to tens of thousands of repositories (en anglais), 12 novembre 2026
- SafeDep, wfx: GitHub Actions Credential Stealer Hits 8,000 Repos (en anglais), 12 novembre 2026
- StepSecurity, WFX Phantom: The GitHub Actions Secret Stealer That Deletes Its Tracks (en anglais), novembre 2026
- The Hacker News, Attacker Used 4,837 Hijacked GitHub Accounts to Run a CI Secret Stealer in 1,806+ Repositories (en anglais), 12 novembre 2026
- Help Net Security, Check your GitHub repos: A secret stealer hit tens of thousands of them (en anglais), 12 novembre 2026
À lire aussi
- Logiciel malveillantDes attaquants ont utilisé AntiFox, un agent de piratage IA libre, pour atteindre des secrets AWS · 5 min de lecture
- Logiciel malveillantMicrosoft : des attaquants gardent une porte dérobée sur des serveurs Web Linux piratés avec GSocket · 5 min de lecture
- Logiciel malveillantDes attaquants visent des serveurs Qlik Sense et préparent des exploits pour ActiveMQ et Veeam · 4 min de lecture
Les nouveaux articles, par courriel.
Environ une fois par mois. Des notes sur la vie privée en termes simples, rien d’autre. Je ne partage jamais votre adresse.


