Die Wahl der Übermittlungswege ist gezielt auf Tarnung ausgelegt. Indem die Angreifer auf Infrastruktur des Session-Protokolls setzen, erschweren sie die Erkennung: Die genutzte Domain dürfte in Unternehmensumgebungen kaum blockiert werden, da sie zu einem dezentralen, auf Privatsphäre ausgerichteten Messaging-Dienst gehört. Als Ausweichoption werden die verschlüsselten Daten über die GitHub-GraphQL-API mit gestohlenen GitHub-Tokens in von den Angreifern kontrollierte Repositories geschrieben – unter dem Autorennamen „claude@users.noreply.github.com".
Die Schadsoftware kann sich zudem dauerhaft einnisten: Sie setzt Persistenz-Hooks in Claude Code und Microsoft Visual Studio Code, um Neustarts zu überstehen und den Stealer bei jedem Start der Entwicklungsumgebungen erneut auszuführen. Darüber hinaus installiert sie einen Dienst namens „gh-token-monitor", der GitHub-Tokens überwacht und erneut abgreift, und schleust zwei bösartige GitHub-Actions-Workflows ein, die Repository-Geheimnisse in ein JSON-Objekt überführen und an einen externen Server („api.masscan[.]cloud") hochladen.
TanStack führte die Kompromittierung auf einen verketteten Angriff über GitHub Actions zurück, der den Trigger „pull_request_target", eine Cache-Vergiftung sowie das Auslesen eines OIDC-Tokens aus dem Arbeitsspeicher des GitHub-Actions-Runners umfasste. „Es wurden keine npm-Tokens gestohlen, und der npm-Veröffentlichungs-Workflow selbst wurde nicht kompromittiert", erklärte TanStack. Den Angreifern zufolge wurde die Schadlast in einem GitHub-Fork vorbereitet, in veröffentlichte npm-Tarballs eingeschleust und über den legitimen Workflow „TanStack/router" mit gültiger SLSA-Provenance veröffentlicht.
Bemerkenswert ist die Verbreitungsfähigkeit des Wurms: Er sucht nach einem veröffentlichungsfähigen npm-Token mit gesetztem „bypass_2fa", listet alle vom selben Maintainer veröffentlichten Pakete auf und tauscht ein GitHub-OIDC-Token gegen ein paketspezifisches Veröffentlichungs-Token ein, um die herkömmliche Authentifizierung zu umgehen.
Der Vorfall bei TanStack wurde als CVE-2026-45321 erfasst und mit einem CVSS-Wert von 9,6 von 10 als kritisch eingestuft. Betroffen sind 42 Pakete und 84 Versionen im TanStack-Ökosystem. StepSecurity-Forscher Ashish Kurmi bezeichnete die Aktion als „extrem seltene Eskalation": Die kompromittierten Pakete trügen gültige SLSA-Build-Level-3-Provenance-Attestierungen – der erste dokumentierte npm-Wurm, der gültig attestierte Schadpakete erzeugt. Inzwischen habe sich der Wurm über TanStack hinaus auf Pakete von UiPath, DraftLab und weiteren Maintainern ausgebreitet.
Auch PyPI ist betroffen. Microsoft analysierte das manipulierte Paket „mistralai", das einen Credential Stealer von einem entfernten Server („83.142.209[.]194") nachlädt. Dieser enthält eine länderbezogene Logik, die russischsprachige Umgebungen meidet, sowie einen „geografisch eingegrenzten, destruktiven Zweig", der mit einer Wahrscheinlichkeit von eins zu sechs den Befehl „rm -rf /" ausführt, wenn das System in Israel oder im Iran verortet wird.
Besonders heikel ist laut Socket die Kompromittierung von „guardrails-ai@0.10.1", da der Schadcode bereits beim Import ausgeführt wird: Das Paket prüft auf Linux-Systeme, lädt ein Python-Artefakt von „https://git-tanstack.com/transformers.pyz", speichert es unter „/tmp/transformers.pyz" und führt es ohne Integritätsprüfung mit python3 aus.
