Contexte de l'attaque TanStack

En mai 2026, une campagne de compromission de la chaîne d'approvisionnement a visé les paquets npm publiés par TanStack. Au total, 84 versions malveillantes de 42 paquets ont été diffusées. La vulnérabilité, identifiée sous le numéro CVE-2026-45321, exécute du code au moment de l'installation et vole les jetons d’authentification GitHub, les clés SSH ainsi que les identifiants cloud présents sur la machine de l'utilisateur.

Mécanisme d'exfiltration chez CrowdSec

Un développeur de CrowdSec, dont le contrat venait de se terminer, a vu son ordinateur infecté par l’un de ces paquets. Le code malveillant a extrait un jeton OAuth GitHub associé à son compte. Malgré la révocation de ses accès aux systèmes internes, CrowdSec a conservé le compte GitHub actif afin de permettre à l’employé de finaliser des tâches. Le 22 mai, l’acteur malveillant a utilisé ce jeton pour cloner environ 170 dépôts privés de l’organisation, sans laisser de trace dans les journaux GitHub consultés par CrowdSec.

Contenu du vol et implications

Les dépôts copiés contenaient le code source du moteur de sécurité open‑source de CrowdSec, ainsi que son console web, des scripts d’automatisation, des modèles de data‑science et l’algorithme de consensus qui détermine les seuils d’ajout d’adresses IP à la blocklist. La fuite a également révélé les seuils de cet algorithme, jusque‑là non publiés, ainsi que les adresses e‑mail de 83 utilisateurs du service et les coordonnées de 51 investisseurs potentiels datant de 2020. Aucun accès aux bases de données ni modification du code n’a été détecté.

Parmi les identifiants exposés, seul un jeton AWS SNS était exploitable, limité à la publication sur un unique topic. Une tentative d’utilisation a eu lieu le 17 août, mais elle n’a abouti à aucune action supplémentaire. Tous les autres jetons avaient été révoqués ou étaient inutilisables depuis l’extérieur.

Réaction de CrowdSec et mesures d’atténuation

Après la découverte du vol le 18 septembre, CrowdSec a révoqué les jetons compromis les 16 et 17 septembre, a renforcé la politique d’accès en supprimant immédiatement les comptes inactifs et a déployé un logiciel de protection des points de terminaison sur les postes de développement. L’entreprise a informé les 83 utilisateurs concernés et a contacté les investisseurs affectés, tout en signalant l’incident aux autorités compétentes. La société a également publié un rapport détaillant que l’infrastructure cloud et les bases de données n’avaient pas été compromises, et a souligné que la blocklist ne pouvait pas être empoisonnée sans un nombre très élevé de détections provenant de multiples moteurs de confiance.