Aller au contenu
KLYNLABS

4 837 comptes GitHub ont poussé un voleur d’identifiants dans des dizaines de milliers de dépôts

La campagne, partie le 10 novembre 2026 vers 12 h 45 UTC, était encore active le 12 au matin selon SafeDep. Aikido et SafeDep ne donnent pas les mêmes totaux, et ils ne s’additionnent pas.

Kelvyn4 min de lecture

Le 10 novembre 2026, vers 12 h 45 UTC, 4 837 comptes GitHub ont ouvert des demandes de tirage de sondage dans 61 764 dépôts, selon le billet d’Aikido publié le 12 novembre par Oliver Smith et modifié à 8 h 32 UTC. Les jetons utilisés étaient déjà volés. Le billet ne dit pas d’où ils viennent.

Une recherche GitHub citée par Aikido trouve 61 839 demandes du même intitulé, entre le 10 novembre à 12 h 45 UTC et le 11 novembre à 15 h UTC. Parmi elles, 10 431 visent un dépôt que le compte ne possède pas, et 92 % étaient encore ouvertes au moment de ce décompte. Ouvrir la sonde suffit à traiter le compte comme compromis, même si la suite n’a pas tourné.

Deux chiffres pour les dépôts où la charge a tourné

Le chapeau d’Aikido retient au moins 1 835 dépôts où la charge a tourné et où des identifiants ont été emportés. Le corps du même billet dit au moins 1 806, et que ce nombre sous-estime. Les deux restent. Au moins 50 comptes touchés publient des paquets, sur npm, Go, Packagist, PyPI ou crates.

Là où la charge a tourné, Aikido demande de traiter comme compromis chaque secret et chaque rôle d’informatique en nuage que les workflows pouvaient lire. Le billet décrit un retour arrière en une minute au plus. SafeDep montre un exemple de quatre minutes. Ce délai n’est pas une règle.

Le décompte de SafeDep ne s’ajoute pas à celui d’Aikido

SafeDep, qui écrit qu’Aikido a publié le premier, compte autre chose. Entre le 10 novembre 2026 à 12 h 46 UTC et le 12 novembre à 4 h 36 UTC, 8 093 dépôts ont reçu des commits malveillants. La campagne était encore active au moment de cette recherche. Le périmètre est la branche par défaut des dépôts publics. Les dépôts qui n’ont reçu que la sonde n’y figurent pas. Presque tous voient le commit annulé ensuite.

Une autre recherche citée par SafeDep trouve 61 879 sondes dans 61 734 dépôts, ouvertes par 4 833 comptes, dont 91 % encore ouvertes. Ce n’est pas le même instantané qu’Aikido, et les totaux ne s’additionnent pas. Sur les 8 093 dépôts, SafeDep compte 7 309 workflows déjà présents, 771 crochets npm qui s’exécutent aussi sur la machine du développeur, et 16 fichiers nouveaux dans un dépôt vide. Dans 1 343 dépôts, l’auteur n’est pas le propriétaire.

Les versions à bloquer, sans le script

Sur Packagist, digitalelvis/neuronai-studio 3.14.3 est en cause. composer install ne lance pas la charge. npm install dans le dossier du vendor, si. La version à épingler est 3.14.2 ou une version antérieure. SafeDep écrit que Packagist servait encore 3.14.3 comme dernière version. L’étiquette est partie le 11 novembre vers 12 h 29 UTC. Aikido écrit « either version » alors qu’une seule version est listée : il n’y en a pas une seconde à deviner.

Côté Go, la pseudo-version v0.0.0-20261111095532-8d5aad0cb0da de github.com/vkuznet/gocurl ne concerne qu’un workflow. SafeDep n’y compte aucune exécution : les outils Go ne lancent pas les workflows. github.com/onuragtas/redock, aussi servi comme github.com/onuragtas/docker-env, a trois versions empoisonnées, 1.0.278, 1.0.280 et 1.0.282. Aikido n’en cite que deux. Les versions 1.0.279, 1.0.281 et 1.0.283 sont les retours arrière. Un workflow de la branche beta a été poussé sur master : ce fichier n’a pas été exécuté depuis l’attaque, écrit SafeDep.

Un examen de 218 paquets npm, Go et Packagist n’a pas trouvé d’autre version publiée avec la charge. PyPI et les autres registres n’ont pas été vérifiés dans ce bilan. Vingt-huit dépôts WebdriverIO passés par le robot wdio-bot n’ont pas de version de paquet touchée. Le jeton de ce robot est à traiter comme volé.

Deux lectures des canaux, et un précédent en octobre

Sur 200 commits, SafeDep voit environ la moitié vers un serveur, environ un cinquième vers Telegram seul, et un troisième serveur. Aikido, pour la configuration qu’il décrit, ne retient que deux envois HTTP, et note des versions plus récentes avec Telegram. Les deux constats restent séparés.

Aikido rapproche la campagne de GhostAction, en octobre, et juge les deux distinctes, avec des acteurs probablement différents. Les comptes déjà touchés en octobre l’ont été nettement plus que le reste. Dans plus de 100 dépôts, la charge de novembre a été ajoutée aux fichiers de workflow d’octobre.

D’autres empoisonnements, distincts, ont déjà été traités : l’outil OVHcloud et LiteLLM 1.107.0.

Sources

Oliver Smith, Aikido, billet du 12 novembre 2026, modifié à 8 h 32 UTC.

SafeDep, bilan sur la campagne wfx, recherche arrêtée le 12 novembre 2026 à 4 h 36 UTC.

Partager

Cet article peut servir à quelqu'un ?

Envoyez-le à un proche en un geste, ou partagez-le sur vos réseaux. Voici la carte qui s'affichera avec votre lien.

Aperçu de la carte de partage : 4 837 comptes GitHub ont poussé un voleur d’identifiants dans des dizaines de milliers de dépôts

Votre mot accompagne le lien. Modifiez-le si vous voulez.

À lire ensuite