Mini Shai-Hulud Wurm
Der als TeamPCP bekannte Bedrohungsakteur wird mit einer ausgeklügelten Lieferkettenangriffskampagne in Verbindung gebracht, die weit verbreitete npm- und PyPI-Pakete von TanStack, UiPath, Mistral AI, OpenSearch, Guardrails AI und weiteren Ökosystemen ins Visier nimmt. Die Operation, die mit der sich entwickelnden Malware-Kampagne Mini Shai-Hulud verknüpft ist, verdeutlicht eine signifikante Eskalation des Missbrauchs von Software-Lieferketten und der Anwendung von Identitätsdiebstahl-Techniken.
Forscher stellten fest, dass manipulierte npm-Pakete so verändert wurden, dass sie eine verschleierte JavaScript-Komponente namens router_init.js enthielten. Diese Payload erstellt Profile infizierter Umgebungen und installiert einen hochentwickelten Credential-Stealer, der Cloud-Anbieter, Kryptowährungs-Wallets, KI-Entwicklungstools, Messaging-Plattformen, CI/CD-Systeme und GitHub Actions-Umgebungen ins Visier nimmt. Die exfiltrierten Daten werden hauptsächlich an die Domain filev2.getsession.org übertragen.
Die Verwendung der Session-Protocol-Infrastruktur deutet auf einen gezielten Versuch hin, die Sicherheitsvorkehrungen des Unternehmens zu umgehen. Da die Domain zu einer dezentralen, datenschutzorientierten Messaging-Plattform gehört, ist es unwahrscheinlich, dass sie von herkömmlichen Netzwerkverteidigungen blockiert wird. Als sekundäre Exfiltrationsmethode werden verschlüsselte Daten über die GitHub GraphQL API mithilfe gestohlener GitHub-Authentifizierungstoken unter der Autorenidentität claude@users.noreply.github.com in vom Angreifer kontrollierte Repositories übertragen.
Inhaltsverzeichnis
Persistenzmechanismen und Ausweitung des Zugangsdatendiebstahls
Die Schadsoftware integriert verschiedene Persistenz- und Überwachungsfunktionen, die den langfristigen Zugriff auf kompromittierte Entwicklungsumgebungen gewährleisten sollen. Persistenz-Hooks werden in Claude Code und Microsoft Visual Studio Code eingerichtet, sodass die Schadsoftware Systemneustarts übersteht und sich beim Öffnen der IDEs automatisch neu startet.
Zusätzlich wird ein gh-token-monitor-Dienst eingesetzt, um GitHub-Tokens kontinuierlich zu überwachen und erneut abzufangen. Zwei schädliche GitHub-Actions-Workflows werden außerdem in kompromittierte Repositories eingeschleust. Diese Workflows serialisieren Repository-Geheimnisse im JSON-Format und laden die Daten an den externen Endpunkt api.masscan.cloud hoch.
Der jüngste TanStack-Kompromittierungsfall unterscheidet sich deutlich von früheren Lieferkettenangriffen. Anstatt einen Preinstall-Hook auszunutzen, betteten die Angreifer eine schädliche JavaScript-Datei direkt in die Paketarchive ein und fügten eine optionale Abhängigkeit zu einem auf GitHub gehosteten Paket hinzu. Diese Abhängigkeit enthält einen Prepare-Lifecycle-Hook, der die Schadsoftware über die Bun-Laufzeitumgebung ausführt.
Die mit Trojanern infizierten Mistral-AI-Pakete nutzten eine ältere Infektionsstrategie, indem sie die package.json-Datei mit einem Preinstall-Hook modifizierten, der node setup.mjs aufruft. Dieser Prozess lädt Bun herunter und führt dieselbe Malware zum Diebstahl von Anmeldeinformationen aus.
CVE-2026-45321 und der Missbrauch von vertrauenswürdigen Publikationen
Die Sicherheitslücke in TanStack wurde offiziell unter der Nummer CVE-2026-45321 erfasst und mit einem kritischen CVSS-Wert von 9,6 bewertet. Die Ermittler bestätigten, dass 42 Pakete und 84 Versionen innerhalb des TanStack-Ökosystems betroffen waren.
Die Analyse ergab, dass die Kompromittierung auf eine verkettete GitHub-Actions-Attacke zurückzuführen ist, die den Trigger `pull_request_target`, Cache-Poisoning von GitHub Actions und die Laufzeitextraktion von OIDC-Tokens aus GitHub-Actions-Runnern ausnutzte. Angreifer platzierten offenbar schädliche Payloads über verwaiste Commits in GitHub-Forks, bevor sie diese in npm-Paket-Tarballs einschleusten. Anschließend kaperten sie legitime TanStack/Router-Workflows, um kompromittierte Pakete mit gültigen SLSA-Herkunftsnachweisen zu veröffentlichen.
Diese Entwicklung markiert eine historische Eskalation von Angriffen auf die Software-Lieferkette. Die Schadsoftwarepakete trugen gültige SLSA-Build-Level-3-Herkunftssignaturen und sind damit der erste dokumentierte npm-Wurm, der in der Lage ist, Schadsoftwarepakete mit authentischen Build-Attestierungen zu verbreiten. Die Malware-Kampagne weitete sich anschließend über TanStack hinaus aus und drang in die Ökosysteme von UiPath, DraftLab und anderen Entwicklern ein.
Die Operation missbraucht vertrauenswürdige Veröffentlichungsprozesse massiv. Anstatt npm-Zugangsdaten direkt zu stehlen, nutzte der vom Angreifer kontrollierte Code, der in vertrauenswürdigen CI/CD-Pipelines ausgeführt wurde, OIDC-Berechtigungen, um während des Build-Prozesses kurzlebige Veröffentlichungstoken zu generieren. Dadurch konnten schädliche Pakete über legitime Release-Pipelines veröffentlicht werden, wobei herkömmliche Authentifizierungsmechanismen umgangen wurden.
Selbstvermehrendes Wurmverhalten gibt Anlass zur Sorge
Einer der gefährlichsten Aspekte der Mini-Shai-Hulud-Kampagne ist ihr wurmartiges Verbreitungsmodell. Die Schadsoftware sucht aktiv nach veröffentlichbaren npm-Tokens mit der Konfiguration `bypass_2fa=true`, listet die vom kompromittierten Entwickler verwalteten Pakete auf und tauscht GitHub-OIDC-Tokens gegen Veröffentlichungstokens für einzelne Pakete. Dieser Mechanismus ermöglicht es der Schadsoftware, sich lateral in Paket-Ökosystemen zu verbreiten, ohne auf herkömmliche Methoden des Zugangsdatendiebstahls angewiesen zu sein.
Der Angriff nutzte außerdem die Vertrauenskonfigurationen auf Repository-Ebene innerhalb des OIDC-basierten Trusted-Publisher-Modells von GitHub aus. Da das Vertrauen auf Repository-Ebene breit gefasst und nicht auf geschützte Branches und bestimmte Workflow-Dateien beschränkt war, konnten bösartige Workflow-Ausführungen, die durch verwaiste Commits ausgelöst wurden, legitime npm-Publish-Token anfordern.
Eine weitere beunruhigende Funktion ist der Einsatz eines sogenannten „Totmannschalters“. Die Malware installiert ein Shell-Skript, das alle 60 Sekunden den Endpunkt api.github.com/user abfragt, um festzustellen, ob die vom Angreifer erstellten npm-Token noch aktiv sind. Diese Token tragen die bedrohliche Beschreibung: „Wenn Sie dieses Token widerrufen, wird der Computer des Besitzers gelöscht.“
Wenn die Verteidiger das Token über das npm-Dashboard widerrufen, führt die Malware eine destruktive Routine aus, die `rm -rf ~/` ausführt und die Infektion somit in eine Wiper-Malware verwandelt. Dieses aggressive Verhalten deutet auf eine wesentliche Weiterentwicklung der operativen Taktiken von TeamPCP hin und demonstriert zunehmende Raffinesse bei den Methoden zur erzwungenen Persistenz. Sicherheitsteams wird daher empfohlen, infizierte Systeme zu isolieren und ein Image davon zu erstellen, bevor kompromittierte npm-Zugangsdaten widerrufen werden.
Betroffene Pakete und sich ausweitende Auswirkungen auf das Ökosystem
Die Kampagne hat mehr als 170 Pakete auf npm und PyPI betroffen, die zusammen über 518 Millionen Downloads verzeichnen. Die Ermittler identifizierten außerdem mindestens 400 Repositories, die mit gestohlenen Zugangsdaten erstellt wurden und alle den Satz „Shai-Hulud: Here We Go Again“ enthielten.
Betroffene Pakete sind:
guardrails-ai@0.10.1 (PyPI)
mistralai@2.4.6 (PyPI)
@opensearch-project/opensearch@3.5.3, 3.6.2, 3.7.0, 3.8.0
@squawk/mcp@0.9.5
@squawk/weather@0.5.10
@squawk/flightplan@0.5.6
@tallyui/connector-medusa@1.0.1, 1.0.2, 1.0.3
@tallyui/connector-vendure@1.0.1, 1.0.2, 1.0.3
Die Schadsoftware nutzt zudem mehrere redundante Exfiltrationskanäle. Neben der Infrastruktur des Session Protocol und GitHub-Deaddrops werden gestohlene Zugangsdaten über die durch Typosquatting entstandene Domain git-tanstack.com übertragen.
PyPI-Malware führt geografisch begrenzte, zerstörerische Logik ein
Die mit den schädlichen Mistral AI- und Guardrails AI-Paketen verbundenen Python-basierten Malware-Varianten unterscheiden sich wesentlich von den über npm verbreiteten JavaScript-Payloads. Das kompromittierte Mistralai-PyPI-Paket lädt einen Credential-Stealer vom Remote-Host 83.142.209.194 herunter.
Forscher entdeckten, dass die Python-Malware eine länderspezifische Logik enthält, die die Ausführung in russischsprachigen Umgebungen verhindern soll. Sie beinhaltet außerdem einen geografisch begrenzten Zerstörungsmechanismus, der mit einer Wahrscheinlichkeit von 1 zu 6 den Befehl `rm -rf /` ausführt, wenn sich das infizierte System scheinbar in Israel oder im Iran befindet.
Dieses Verhalten verdeutlicht eine besorgniserregende Entwicklung hin zu regionsabhängiger, destruktiver Nutzlastverteilung innerhalb von Open-Source-Paketökosystemen.
Die wachsende Bedrohung durch identitätsgetriebene Lieferkettenangriffe
Die Mini-Shai-Hulud-Kampagne spiegelt einen umfassenderen Wandel bei modernen Lieferkettenangriffen wider. Anstatt sich ausschließlich auf die Kompromittierung von Paketen zu konzentrieren, zielen Angreifer zunehmend auf vertrauenswürdige CI/CD-Identitäten, Veröffentlichungs-Workflows und cloudbasierte Automatisierungspipelines ab.
Sobald Angreifer Zugriff auf die Infrastruktur für die Softwareveröffentlichung erlangen, wird die Entwicklungspipeline selbst zum Verbreitungsmechanismus für Schadsoftware. Da viele schädliche Aktionen über legitime Arbeitsabläufe, vertrauenswürdige Bestätigungen und authentische Release-Systeme erfolgen, können herkömmliche Sicherheitskontrollen schädliches Verhalten möglicherweise nicht erkennen.
Zu den wichtigsten Merkmalen dieser neuen Generation von Lieferkettenangriffen gehören:
- Missbrauch von vertrauenswürdigen Veröffentlichungs- und OIDC-Token-Austauschmechanismen
- Verbreitung über legitime CI/CD-Workflows und Build-Systeme
- Verwendung gültiger SLSA-Attestierungen zur Verschleierung bösartiger Pakete
- Multi-Channel-Credential-Exfiltration und Persistenzoperationen
- Destruktive Vergeltungsmechanismen, die darauf abzielen, Verteidiger einzuschüchtern.
Die Ausweitung der Kampagne auf KI-Tools, Unternehmensautomatisierung, Suchinfrastruktur, Frontend-Entwicklung, Tools für die Luftfahrt und CI/CD-Ökosysteme verdeutlicht die enge Vernetzung von Software-Lieferketten. Die Verhaltensüberwachung während der Paketinstallation und des Build-Prozesses ist heute unerlässlich, um Bedrohungen zu erkennen, die auf den ersten Blick legitim erscheinen.