Zum Hauptinhalt springen
usedby

Der Supply-Chain-Angriff auf das TanStack-Ökosystem und die Umgehung von SLSA Level 3

TanStack ist eine Sammlung von Headless-UI- und Data-Fetching-Bibliotheken (Query, Table, Router), die fast jedes größere Engineering-Team für React und TypeScript nutzt.

Das Versprechen

TanStack ist eine Sammlung von Headless-UI- und Data-Fetching-Bibliotheken (Query, Table, Router), die fast jedes größere Engineering-Team für React und TypeScript nutzt. Normalerweise wird sie für ihre Leistung und ihre framework-unabhängige Architektur gelobt. Derzeit steht sie jedoch im Mittelpunkt des raffiniertesten Supply-Chain-Angriffs auf npm im Jahr 2026.

Unter der Haube

Gestern, am 11. Mai 2026, wurde die Release-Pipeline von TanStack gekapert. Zwischen 19:20 und 19:26 UTC wurden 84 bösartige Versionen in 42 Paketen veröffentlicht (Quelle: TanStack Postmortem). Es war kein einfacher Diebstahl von Zugangsdaten, sondern eine automatisierte Kompromittierung durch die Angreifergruppe TeamPCP mit dem Wurm „Mini Shai-Hulud“ (Quelle: StepSecurity / Wiz).

Die Angriffskette nutzte eine kritische Schwachstelle in der Architektur von GitHub Actions (GHA). Über pull_request_target vergifteten die Angreifer den Cache des pnpm-Stores, der über Vertrauensgrenzen hinweg von Forks bis zum Basis-Repository geteilt wird (Quelle: Adnan Khan research). So konnten sie OIDC-Tokens direkt aus dem Prozessspeicher des Runners über /proc/<pid>/mem auslesen (Quelle: GHSA-g7cv-rxg3-hmpx).

Am alarmierendsten ist die Umgehung von „Trusted Publishing“. Da die Kompromittierung im legitimen GHA-Runner stattfand, wurden die bösartigen Pakete mit gültigen Attestierungen nach SLSA Level 3 veröffentlicht. Damit waren die Sicherheitsgarantien, auf die wir uns in den letzten drei Jahren verlassen haben, praktisch wertlos, denn die Build-Umgebung selbst täuschte.

Die Schadsoftware enthält einen besonders gehässigen „Totmannschalter“ (gh-token-monitor.sh). Erkennt das Skript, dass das gestohlene GitHub-Token widerrufen wurde, versucht es, auf dem Rechner des Opfers rm -rf ~ / auszuführen (Quelle: Wiz / HN). Außerdem versucht es, sich selbst zu verbreiten: Es sucht nach weiteren Paketen, auf die das Opfer Schreibzugriff hat, und infiziert deren Pipelines.

Noch ist unklar, wie GitHub das Verhalten der gemeinsam genutzten Objektspeicher-URI bei Forks angehen will. Auch eine öffentliche langfristige Lösung für die Sichtbarkeit von OIDC-Tokens im Runner-Speicher gibt es nicht. Die Erkennung war schnell: StepSecurity und Socket meldeten die Anomalie innerhalb von 20 Minuten. Das Zeitfenster reichte aber, damit zahlreiche automatisierte CI-Pipelines den kompromittierten Code luden (Quelle: Cybernews).

Unsere Einschätzung

Das ist ein Weckruf für alle, die „Trusted Publishing“ als Ersatz für echte Sicherheitsaudits betrachten. Dass ein Paket ein gültiges Zertifikat nach SLSA Level 3 haben und gleichzeitig Ihr Home-Verzeichnis löschen kann, beweist, wie fragil unsere aktuellen Attestierungsmodelle sind. Aktualisieren Sie mindestens 72 Stunden lang keine TanStack-Abhängigkeiten. Fixieren Sie Ihre Versionen auf bewährte Releases von vor dem 11. Mai und hören Sie um Himmels willen auf, pull_request_target ohne strikte Isolation zu verwenden.