TanStack-Supply-Chain-Angriff: Kritische Schwachstellen im GitHub Actions-Ökosystem im Mai 2026
TL;DR
TanStack-Supply-Chain-Angriff: Wenn „vertrauenswürdige“ Software sich gegen Sie wendet
Am 11. Mai 2026 erhielt die Entwicklerwelt einen brutalen Weckruf. Zwischen 19:20 und 19:26 Uhr UTC wurde der TanStack npm-Namensraum – ein Eckpfeiler der modernen Webentwicklung – von einer Bedrohungsgruppe namens TeamPCP gekapert. In diesen sechs Minuten veröffentlichten sie 84 bösartige Versionen für 42 verschiedene @tanstack/*-Pakete.
Dies war kein gewöhnlicher Typo-Squatting-Angriff. Die Angreifer luden nicht einfach nur schädlichen Code hoch; sie kompromittierten die eigentliche Build-Pipeline. Durch die Ausnutzung von Schwachstellen in GitHub Actions injizierten sie einen Anmeldedaten-stehlenden Wurm direkt in die Lieferkette. Das Besondere daran? Jedes einzelne dieser bösartigen Pakete trug eine gültige SLSA-Herkunftsnachweis (Supply-chain Levels for Software Artifacts).
Die Illusion von Vertrauen
Dies ist ein Wendepunkt für die Softwaresicherheit. Zum ersten Mal haben wir gesehen, wie ein bösartiges npm-Paket mit einem gültigen SLSA Build Level 3-Herkunftsnachweis ausgeliefert wurde. Denken Sie kurz darüber nach: Der Build-Prozess war so gründlich kompromittiert, dass die Sicherheitsbescheinigungen – genau die Dinge, die beweisen sollen, dass ein Paket sicher ist – technisch korrekt, aber grundlegend bösartig waren.
Wie im von TanStack veröffentlichten Incident-Follow-up detailliert beschrieben, war der Code so konzipiert, dass er in dem Moment ausgelöst wurde, als Sie npm install ausführten. Sobald er aktiv war, suchte er nach allem: AWS-Schlüsseln, GCP-Anmeldedaten, Kubernetes-Konfigurationen, GitHub-Tokens und SSH-Schlüsseln. Anschließend wurden diese Daten stillschweigend über das Session/Oxen-Netzwerk exfiltriert. Wenn Sie diese Pakete ausführten, wurden Ihre Geheimnisse im Grunde in Echtzeit an die Angreifer übertragen.
Die Anatomie des Angriffs
TeamPCP – die Sie vielleicht unter anderen Aliasnamen wie DeadCatx3, PCPcat oder ShellForce kennen – hörte bei TanStack nicht auf. Sie setzten eine Variante des „Mini Shai-Hulud“-Wurms ein. Innerhalb eines Zeitfensters von fünf Stunden breitete sich die Infektion auf über 170 Pakete in npm und PyPI aus.
Das Post-Mortem zur npm-Supply-Chain-Kompromittierung stellt klar, dass zwar nicht unbedingt einzelne npm-Konten gehackt wurden, die Angreifer jedoch eine Hintertür über GitHub Actions pull_request_target-Workflows fanden. Sie brachten die CI/CD-Pipeline im Grunde dazu, die schwere Arbeit für sie zu erledigen.
| Metrik | Detail |
|---|---|
| Vorfall-Datum | 11. Mai 2026 (19:20–19:26 UTC) |
| Betroffene Pakete | 42 @tanstack/* Pakete |
| Bösartige Versionen | 84 Versionen insgesamt |
| Herkunftsstatus | Gültig SLSA Build Level 3 (Kompromittiert) |
| Exfiltrationsmethode | Session/Oxen-Netzwerk |
| Hauptakteur | TeamPCP / DeadCatx3 |
Warum traditionelle Sicherheit versagte
Wir haben jahrelang Entwicklern gesagt: „Prüft die Herkunft“ und „Verifiziert die Signaturen“. Aber was passiert, wenn die Build-Umgebung selbst lügt?
Da die Kompromittierung an der Quelle stattfand, taten die automatisierten Vertrauensmechanismen genau das, wofür sie programmiert waren: Sie verifizierten einen „vertrauenswürdigen“ Build, der zufällig eine bösartige Nutzlast enthielt. Dies ist nicht nur ein TanStack-Problem. Wir haben ähnliche Muster bei kürzlichen Angriffen auf Trivy, Checkmarx KICS, LiteLLM und das Bitwarden CLI gesehen. Es ist klar, dass wir es mit einer koordinierten, hochrangigen Kampagne zu tun haben, die direkt auf das Herz der CI/CD-Infrastruktur abzielt.
Wenn Sie die kompromittierten Versionen verwendet haben, ist die offizielle Sicherheitsempfehlung eindeutig: Gehen Sie vom Schlimmsten aus. Die Tatsache, dass TeamPCP mit der Vect-Ransomware-Gruppe zusammenarbeitet, ist der letzte Nagel im Sarg. Sie stehlen nicht nur Daten; sie sammeln Anmeldedaten, um später groß angelegte zerstörerische Angriffe zu ermöglichen.
Die Bereinigung: Was Sie jetzt tun müssen
Wenn Ihre CI/CD-Pipelines diese Pakete berührt haben, müssen Sie so handeln, als wäre Ihre gesamte Umgebung kompromittiert. Hier ist die Realität der Situation:
- Alles neu aufsetzen (oder zumindest prüfen): Behandeln Sie jede CI/CD-Umgebung oder Entwicklermaschine, die mit diesen Paketen in Berührung kam, als Tatort.
- Alles rotieren: Ändern Sie nicht nur Ihre Passwörter. Rotieren Sie jeden API-Schlüssel, jedes Cloud-Token und jeden SSH-Schlüssel, auf den diese Maschinen hätten zugreifen können. Gehen Sie davon aus, dass sie bereits in den Händen der Angreifer sind.
- Spuren verfolgen: Durchsuchen Sie Ihre CI/CD-Protokolle nach
npm install-Aktivitäten oder ungewöhnlichem ausgehenden Netzwerkverkehr um den 11. Mai herum. - Abhängigkeiten bereinigen: Aktualisieren Sie auf die sicheren Versionen, die in der offiziellen Paket-Registry-Verfolgung aufgeführt sind. Gehen Sie nicht davon aus, dass Ihre aktuelle Lockfile sicher ist.
- Auf seitliche Bewegungen achten: Da diese Angreifer mit Ransomware in Verbindung stehen, behalten Sie Ihr internes Netzwerk genau im Auge. Sie versuchen, von Ihrem Build-Server in Ihre Produktionsumgebung zu gelangen.
Die Zerbrechlichkeit der Automatisierung
Der „Mini Shai-Hulud“-Wurm ist eine düstere Erinnerung daran, dass unsere modernen Build-Pipelines durch ein zerbrechliches Netz aus Vertrauen zusammengehalten werden. Durch das Anvisieren von GitHub Actions umging TeamPCP effektiv die Perimeter-Verteidigungen, die wir ein Jahrzehnt lang aufgebaut haben. Wir sind davon ausgegangen, dass eine automatisierte und „bewiesene“ Build-Umgebung sicher sein muss. Dieser Vorfall beweist, dass diese Annahme ein gefährlicher Trugschluss ist.
Für diejenigen, die tiefer in die Materie eintauchen möchten: Der Issue-Tracker des TanStack Router-Repositorys enthält eine detaillierte Analyse, wie die OIDC-Token-Extraktion tatsächlich funktionierte. Es ist eine ernüchternde Lektüre darüber, wie leicht eine Pipeline manipuliert werden kann.
Während die Untersuchung andauert, ist die Botschaft an die Entwickler-Community einfach: Hören Sie auf, der Pipeline blind zu vertrauen. Wir haben einen Punkt erreicht, an dem die Integrität der Build-Umgebung nicht mehr vorausgesetzt werden kann – sie muss verifiziert, auditiert und mit der gleichen Skepsis behandelt werden, die wir auf den Code selbst anwenden. Bleiben Sie wachsam, denn die Angreifer schlafen sicherlich nicht.