Detailanalyse des technisch innovativsten Mini-Shai-Hulud-Angriffs TanStack-Angriff nutzte vertrauens­würdige Pipelines als Waffe

Von Thomas Joos 2 min Lesedauer

Manipulierte TanStack-Pakete gelangten über einen missbrauchten OIDC-Token in die npm-Registry. Der eingebettete Schadcode sammelte beim Installieren Cloud-Zugänge, GitHub- und npm-Tokens sowie SSH-Schlüssel. Seit dem TanStack-Angriff hat die Mini-Shai-Hulud-Welle Microsoft, Red Hat und zahlreiche weitere Organisationen getroffen. Hier analysieren wir den technischen Ursprung dieser Angriffsserie.

Trojanisierte TanStack-Pakete verteilten über die npm-Registry Schadcode, der beim Installieren Cloud-Zugänge stahl. Der Angriff gilt als Ausgangspunkt der selbstverbreitenden Kampagne Mini Shai-Hulud.(Bild:  Gemini / KI-generiert)
Trojanisierte TanStack-Pakete verteilten über die npm-Registry Schadcode, der beim Installieren Cloud-Zugänge stahl. Der Angriff gilt als Ausgangspunkt der selbstverbreitenden Kampagne Mini Shai-Hulud.
(Bild: Gemini / KI-generiert)

Miasma traf den Python Package Index PyPI und sogar Microsoft, Mastra kompromittierte KI-Entwickler, PCPJack kaperte über 230 Cloud-Server – die Mini-Shai-Hulud-Welle erschüttert die Softwarelieferkette seit Wochen. Der Ursprung dieser Angriffsserie liegt beim TanStack-Angriff vom 11. Mai 2026, technisch der innovativste und folgenreichste Fall der gesamten Kampagne. CVE-2026-45321, bewertet mit CVSS 9.6, dokumentiert die Kompromittierung der @tanstack/*-Pakete im npm-Register. Am 11.05.2026 erschienen zwischen 19.20 und 19.26 Uhr UTC insgesamt 84 bösartige Versionen über 42 Pakete der Router- und Start-Familie.

Angriff über vertrauenswürdiges Publishing

Die Veröffentlichung lief über das legitime OIDC-Trusted-Publisher-Binding der GitHub Actions für das Repository TanStack/router. Den Publish-Workflow selbst veränderte der Angreifer nicht. Er übernahm die vertrauenswürdige Identität der Release-Pipeline mitten im Ablauf und schleuste den Schadcode unter dieser Kennung ein.

Den Weg dorthin ebnete die Verkettung dreier bekannter Schwachstellenklassen. Eine fehlerhafte Konfiguration des Triggers pull_request_target öffnete fremdem Code Ausführungsrechte im Kontext des Basis-Repositories. Über Cache Poisoning an der Vertrauensgrenze zwischen Fork und Basis brachte der Angreifer präparierte Inhalte in nachfolgende Builds ein. Im kompromittierten Runner las er das OIDC-Token direkt aus dem Speicher des Actions-Prozesses aus. Mit diesem Token signierte und veröffentlichte die Pipeline die Schadpakete unter der echten Herausgeber-Identität.

Diebstahl von Anmeldedaten und Selbstverbreitung

Der Schadcode lief bei jeder Installation eines betroffenen Pakets über npm, pnpm oder yarn an. Er sammelte Anmeldedaten aus Entwickler- und CI-Umgebungen, darunter Cloud-Zugänge, Kubernetes- und Vault-Tokens, npm- und GitHub-Tokens sowie private SSH-Schlüssel. Die erbeuteten Zugänge dienten der weiteren Ausbreitung, denn mit gestohlenen Maintainer-Rechten brachte der Angriff zusätzliche manipulierte Pakete in Umlauf.

Innerhalb weniger Stunden erreichte die Welle weitere Anbieter im npm- und PyPI-Ökosystem. Nach Angaben von OpenAI betraf der Vorfall im Unternehmen zwei Mitarbeitergeräte. Sicherheits­forscher ordnen den Angriff einer Reihe selbstverbreitender npm-Kampagnen zu, die unter dem Namen „Mini Shai-Hulud" bekannt sind.

Bereinigung und betroffene Pakete

Verwundbar war allein das Router- und Start-Repository von TanStack mit 42 Paketen zu je zwei Versionen. Andere Familien wie Query, Table, Form, Store und Virtual blieben außen vor. Der Hersteller hat alle manipulierten Versionen innerhalb einer Stunde als veraltet markiert, npm entfernte sie kurz darauf aus der Registry. Jede aktuell verfügbare Version der TanStack-Pakete ist nach Herstellerangaben sicher.

Entwickler und CI-Umgebungen, die am 11.05.2026 eine betroffene Version eingespielt haben, sollten die erreichbaren Zugänge erneuern, darunter Schlüssel für AWS, Google Cloud und Kubernetes sowie Vault-, GitHub-, npm- und SSH-Zugänge. Als zusätzliche Absicherung empfiehlt sich das Deaktivieren der Lifecycle-Skripte beim Installieren über den Parameter „ignore-scripts". Die CISA nahm CVE-2026-45321 am 27.05.2026 in ihren KEV-Katalog auf und setzte US-Bundesbehörden eine Frist zum 10. Juni 2026. Ein deutliches Signal der Dringlichkeit.

Fazit

Der Fall zeigt die Tragweite kompromittierter Release-Pipelines, deren Veröffentlichungen über vertrauenswürdige Identitäten und gültige Provenance-Nachweise laufen. Eine Prüfung allein anhand der Herausgeber-Signatur greift damit zu kurz. Die hohe Verbreitung der Router-Pakete mit Millionen wöchentlicher Downloads vergrößert die Angriffsfläche jeder einzelnen manipulierten Version.

(ID:50864013)

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zur IT-Sicherheit

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung. Die Einwilligungserklärung bezieht sich u. a. auf die Zusendung von redaktionellen Newslettern per E-Mail und auf den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern (z. B. LinkedIn, Google, Meta).

Aufklappen für Details zu Ihrer Einwilligung