TanStack-npm-Angriff legte 170 CrowdSec-Code-Repositories offen
Der TanStack-npm-Angriff wurde von CrowdSec mit dem Kopieren von etwa 170 seiner privaten GitHub-Repositories in Verbindung gebracht. In einem am 18. September veröffentlichten Bericht erklärte das französische Sicherheitsunternehmen, dass der Code am 22. Mai über das GitHub-Konto eines Mitarbeiters, der das Unternehmen gerade verlassen hatte, entwendet wurde und dass das Material am 16. September in einem Online-Forum auftauchte.
CrowdSec ist ein Sicherheitsunternehmen, dessen Open-Source-Security-Engine Server auf Angriffe überwacht. Wer teilt, was sie erkennt, erhält eine gemeinsame Blockliste bösartiger IP-Adressen. Das Ereignis, auf das CrowdSec hinweist, begann am 11. Mai, als laut der TanStack-Warnung 84 bösartige Versionen von 42 TanStack-npm-Paketen veröffentlicht wurden. npm ist eine große öffentliche Bibliothek mit fertigen Softwarebausteinen, die Entwickler herunterladen und in ihre eigenen Produkte einbauen, weshalb eine einzige Kompromittierung dort viele Unternehmen gleichzeitig erreichen kann. CrowdSec beschreibt das Ereignis als Supply-Chain-Angriff, also einen Angriff, der ein Unternehmen über Software erreicht, der es vertraut, statt direkt. Er wird als CVE-2026-45321 geführt, und die Installation einer der betroffenen Versionen führte Code aus, der Anmeldedaten von der Maschine stahl, darunter GitHub-Token, SSH-Schlüssel (die digitalen Schlüssel, mit denen man sich ohne Passworteingabe an Servern anmeldet) und Cloud-Anmeldedaten.
CrowdSec sagt, die Kopie sei 11 Tage nach der Veröffentlichung der bösartigen Pakete erstellt worden, und zwar mit einem GitHub-OAuth-Token, einem Zugriffsschlüssel, der ausgegeben wird, damit eine Anwendung im Namen einer Person handeln kann, der vom Konto des ehemaligen Mitarbeiters stammte. Das Unternehmen hatte seinen GitHub-Zugang bestehen lassen, damit er einige Arbeiten abschließen konnte. Es entfernte sein Konto am 25. Mai aus seiner GitHub-Organisation, drei Tage nach der Kopie und Monate bevor es erfuhr, dass der Code durchgesickert war. Seine anderen Zugänge waren bereits entzogen worden, was laut CrowdSec erklärt, warum es in seinen AWS-Systemen nichts Verdächtiges sah. Das Token hinterließ keine Spur in den GitHub-Protokollen, die das Unternehmen prüfen konnte, und es existierte nicht mehr, als das Leck entdeckt wurde. Laut CrowdSec verfolgte der GitHub-Support dann die Historie des Tokens zurück und bestätigte den Verdacht des Unternehmens, dass TanStack die Quelle war. CrowdSec sagte nicht, welches bösartige Paket den Laptop des ehemaligen Mitarbeiters erreichte oder wann, und sein Bericht enthält nicht die eigenen Erkenntnisse von GitHub. Es heißt, die Maschinen seiner Entwickler seien überprüft worden und sauber gewesen.
Dieselbe Kampagne erreichte auch andere Organisationen. Mistral AI sagte, in seinem Fall sei ein Entwicklergerät beteiligt gewesen, und OpenAI sagte, zwei Mitarbeitergeräte seien betroffen gewesen, mit unbefugtem Zugriff auf eine begrenzte Anzahl seiner internen Code-Repositories.
Das durchgesickerte Material stammte aus den privaten Repositories von CrowdSec und nicht aus der öffentlichen Security Engine. Laut dem Unternehmen umfasst es die Webkonsole, Data-Science-Skripte und -Modelle, Automatisierungsskripte und den Konsensalgorithmus, der entscheidet, welche Adressen in die Blocklisten aufgenommen werden. CrowdSec sagt, der Code sei fast vier Monate alt und habe sich seitdem stark verändert. Das Leck offenbarte auch die Schwellenwerte, mit denen der Konsensalgorithmus arbeitet, etwa wie viele Erkennungen nötig sind, bevor eine Adresse in eine Blockliste aufgenommen wird. Diese Zahlen waren zuvor nicht öffentlich. Soweit das Unternehmen weiß, kann die Blockliste noch immer nicht vergiftet werden, also dazu gebracht werden, eine harmlose Adresse zu blockieren. Es sagt, ein Angreifer bräuchte Dutzende Erkennungen von Dutzenden vertrauenswürdigen Engines über Dutzende separate Netzwerke hinweg, zu hohen Kosten, und fügt hinzu, dass es die Schwellenwerte ändern kann, wie es das oft tut.
Auf der Seite der Anmeldedaten sagt CrowdSec, die einzige nutzbare im durchgesickerten Code sei für den AWS-SNS-Benachrichtigungsdienst gewesen und habe nur Nachrichten zu einem einzigen Thema veröffentlichen können. Jemand versuchte, sie am 17. August zu nutzen, einen Monat bevor der Code veröffentlicht wurde, kam aber nicht weiter. Die anderen Token waren bereits rotiert (ersetzt) oder konnten, soweit das Unternehmen weiß, nicht aus dem Internet genutzt werden. Auch personenbezogene Daten waren betroffen. CrowdSec sagt, es habe etwa 150.000 Nutzer, und sein Data-Science-Team habe die 83 offengelegten E-Mail-Adressen behalten, um zu untersuchen, wie Menschen das Produkt nutzten; das Unternehmen sagt, es werde diese Nutzer kontaktieren. Die Details von 51 potenziellen Investoren aus dem Jahr 2020 stammten aus einem System, das laut CrowdSec nie öffentlich sein sollte. Das Unternehmen sagt, es werde das Leck den Investoren und den Behörden melden, und CEO Philippe Humeau schrieb in dem Bericht an die Investoren: „Dafür entschuldige ich mich persönlich.“ CrowdSec rotierte die offengelegten Anmeldedaten am 16. und 17. September. Es verlangte damals keine Endpoint-Protection-Software, also die Werkzeuge, die einen Laptop auf bösartige Aktivitäten überwachen, auf den Maschinen der Entwickler, aber jetzt betreibt es solche Software auf den Laptops von Mitarbeitern, die mit seinem Code oder seinen Systemen arbeiten. Weder der Bericht noch seine erste Erklärung fordern Nutzer zu irgendeiner Handlung auf.
Der Bericht vom 18. September unterscheidet sich von der Erklärung, die CrowdSec einen Tag zuvor veröffentlichte. In dieser ersten Erklärung sagte das Unternehmen: „Keine Kundendaten, kein Login/Passwort, kein Name, keine Organisation oder sonst etwas wurde offengelegt“, und die Auswirkungen beschränkten sich auf das Unternehmen selbst. Es nannte auch die TanStack-Kompromittierung als sehr wahrscheinliche Quelle und sagte, eine innerhalb von CrowdSec im Mai verwendete Komponente scheine mit einer Hintertür versehen worden zu sein, um einen API-Schlüssel zu stehlen, der den privaten Code lesen konnte. Der Bericht vom 18. September sagt, keine der bösartigen TanStack-Versionen seien im Code von CrowdSec gefunden worden, und verweist stattdessen auf das Konto des ehemaligen Mitarbeiters. Er listet auch die Namen der Investoren auf, die laut der ersten Erklärung nicht durchgesickert waren, zusammen mit den E-Mail-Adressen der 83 Nutzer.
Für Website-Betreiber und IT-Teams ist der praktische Punkt in CrowdSecs Bericht der Zugang, der den Job überlebt. Ein Konto, das für einen ausscheidenden Kollegen offen gelassen wurde, plus ein Token, das still von einem Laptop durch ein mehr als eine Woche zuvor installiertes Paket entwendet wurde, öffneten zusammen eine Tür, die niemand beobachtete. Gestohlene Anmeldedaten, die später und still verwendet werden, sind auch ein bekannter Weg in Websites und Hosting-Konten, weshalb es sich lohnt, zu überprüfen, wer auf Ihre Systeme zugreifen kann, von welchem Gerät und für wie lange. Teams, die Hilfe bei der Betrachtung des Umgangs mit Zugriff, Laptops und Quellcode wünschen, können sich an AEU-I wenden, das Security-First-IT, Infrastruktur und Beratung bietet.