Ce qui se passe
Le 18 septembre 2026, l'entreprise française CrowdSec publie le rapport d'un incident vieux de quatre mois : environ 170 dépôts privés copiés le 22 mai, avec un jeton OAuth appartenant à un développeur qui venait de quitter la société. L'entreprise lui avait laissé son accès GitHub, le temps qu'il termine un travail en cours.
Le poste de ce développeur avait été compromis par l'attaque de chaîne d'approvisionnement sur TanStack : le 11 mai 2026, 84 versions malveillantes de 42 paquets npm sont publiées, suivies sous CVE-2026-45321. Installer l'une d'elles exécutait du code qui volait les identifiants de la machine — jetons GitHub, clés SSH, credentials cloud. Onze jours séparent la publication des paquets de la copie des dépôts.
Pourquoi ça compte
L'archive ne contenait pas que du code. CrowdSec y recense 83 adresses e-mail d'utilisateurs, conservées par son équipe data science pour étudier les usages, ainsi que les noms et coordonnées de 51 investisseurs approchés en 2020, issus d'un système « qui n'avait jamais vocation à être public ».
Le code comprend la console web, des scripts et modèles de data science, des scripts d'automatisation, et l'algorithme de consensus qui décide quelles adresses IP entrent dans les listes de blocage. Les seuils de cet algorithme — combien de détections avant d'ajouter une IP — n'avaient jamais été publics. CrowdSec estime ses listes toujours difficiles à empoisonner : il faudrait des dizaines de détections depuis des dizaines de moteurs de confiance sur des dizaines de réseaux distincts.
Seul identifiant exploitable dans la fuite : une clé AWS SNS limitée à la publication sur un unique topic. Quelqu'un a tenté de s'en servir le 17 août 2026, sans aller plus loin. Les autres jetons avaient été tournés ou n'étaient pas utilisables depuis Internet. CrowdSec compte environ 150 000 utilisateurs ; ni son rapport ni sa première déclaration ne leur demandent d'action.
Ce qu'il faut en tirer
Laisser un accès ouvert « le temps qu'il finisse » rend la production dépendante d'un poste qu'on n'administre plus. CrowdSec n'exigeait pas de protection sur les machines de ses développeurs à l'époque ; c'est désormais le cas pour ceux qui touchent au code et aux systèmes.
Retirer un compte de l'organisation ne révoque pas les jetons déjà émis. Le compte est sorti le 25 mai, trois jours après la copie, et le jeton n'avait laissé aucune trace dans les journaux GitHub accessibles à l'entreprise : c'est le support GitHub qui a retracé son historique. La révocation des jetons OAuth et des clés SSH se traite le jour du départ, avant la désactivation du compte.
La même attaque a touché d'autres entreprises : Mistral AI déclare un poste de développeur concerné, OpenAI deux postes de salariés avec un accès non autorisé à un ensemble limité de dépôts internes.
Source : CrowdSec Says TanStack npm Attack Led to Copy of 170 Private GitHub Repositories, The Hacker News, 19 septembre 2026.