Im September habe ich einen Artikel über den NPM-Vorfall und darüber, warum der anfängliche Exploit nur der Ausgangspunkt eines Angriffs ist.
Dieser Angriff war gezielt und relativ einfach. Ein Maintainer wurde Opfer eines Phishing-Angriffs, einige Pakete wurden manipuliert, und das Ziel beschränkte sich auf den Diebstahl von Kryptowährung.
Shai-Hulud verfolgt einen ganz anderen Ansatz. Es ist nicht darauf angewiesen, dass ein Opfer etwas anklickt, und es bleibt nicht bei dem ersten Rechner stehen, auf dem es landet. Stattdessen nutzt es das Vertrauen, das in das Software-Ökosystem eingebaut ist, um von einer Umgebung zur nächsten zu gelangen. Auf diese Weise verwandelt es die Lieferkette selbst in ein Vertriebsnetzwerk.
Ein Worm , der Worm in aller Öffentlichkeit Worm
Wiz Research hat gerade eine hervorragende Analyse der technischen Funktionsweise von Shai-Hulud veröffentlicht. Hier eine kurze Zusammenfassung, wie dieser worm in der Praxis worm :
1. Installation wird zur Ausführung
Sobald ein Entwickler oder eine CI-Pipeline ein infiziertes Paket installiert, wird die Payload automatisch ausgeführt. Es gibt keine Aufforderung oder offensichtlichen Anzeichen dafür, dass etwas Ungewöhnliches vor sich geht. Der worm in routinemäßigen Build-Schritten, weshalb die erste Ausführung unbemerkt bleibt.
2. Es umgeht gängige Sicherheitskontrollen, indem es Laufzeiten wechselt.
Die meisten JavaScript-Entwicklungen basieren auf Node.js, der Engine hinter npm, die von den meisten Teams überwacht wird. Sicherheitstools, Protokollierung und Scans basieren auf Node.
Shai-Hulud umgeht dies, indem es seine Nutzlast mit Bun herunterlädt und ausführt, einer neueren, leistungsstarken Laufzeitumgebung, die in der Regel nicht überwacht wird. Für das System sieht Bun wie ein weiteres Entwicklertool aus. Für den Angreifer ist es ein stiller Kanal mit weitaus weniger Kontrollen.
Diese einfache Laufzeitverschiebung hilft dem worm ,viele der Schutzmaßnahmen zu umgehen, aufdie sich Teams normalerweise verlassen.
3. Es sammelt alle Zugriffe, die es finden kann.
Sobald die malware ausgeführt wird,sucht siesystematisch nach Zugriffsmöglichkeiten. Sie sucht nach:
- NPM-Token
- GitHub-Anmeldedaten
- CI/CD-Geheimnisse
- API-Schlüssel
- Cloud aus Metadatendiensten
Entwickler-Laptops, Build-Server und cloud werden gleich behandelt. Wenn ein System Zugriff hat, worm der worm es.
4. Es gibt die gestohlenen Daten absichtlich öffentlich preis.
Anstatt Daten an einen Command-and-Control-Server zurückzusenden,erstellt der worm öffentliche GitHub-Repositorys unter dem Konto des Opfers und lädt die gestohlenen Geheimnisse dort hoch. Dadurch entfällt die Notwendigkeit einer versteckten Infrastruktur, und sensible Anmeldedaten sind für jeden sichtbar, der weiß, wo er suchen muss.
Wie Dmitriy es in unserem Podcast über Shai Hulud formulierte:„Das ist, als würde man gestohlene Informationen über den öffentlichen Rundfunk verbreiten.“
5. Es verbreitet sich unter Ausnutzung des bestehenden Vertrauens des Opfers.
Wenn ein kompromittierter Maintainer mehrere Pakete verwaltet, veröffentlicht Shai-Hulud bösartige Versionen in allen Paketen. Wenn ein GitHub-Token Zugriff auf mehrere Repositorys gewährt, werden diese Repositorys zu den nächsten Injektionspunkten. Der worm , indem er sich das Vertrauen zunutze macht, das das Opfer bereits in das Ökosystem hat. Auf diese Weise skaliert er von einer Handvoll Paketen auf Hunderte.
6. Es installiert eine dauerhafte Hintertür über GitHub Actions.
Die malware installiert einen selbst gehosteten GitHub Actions Runner auf dem Computer des Opfers und legt einen Workflow ab, der immer dann ausgelöst wird, wenn jemand eine GitHub-Diskussion öffnet. Dadurch erhält der Angreifer einen unauffälligen und dauerhaften Zugang.
Befehle, die über einen Diskussions-Thread ausgeführt werden, laufen direkt auf dem kompromittierten System und fügen sich nahtlos in die normale Automatisierung ein.
7. Es verfügt über einen Wischer für destruktiven Fallback.
Unter bestimmten Bedingungen malware die malware Dateien vom Host löschen. Dies ist nicht in jeder Umgebung der Fall, aber diese Fähigkeit birgt ein zusätzliches Risiko: Der Angriff beschränkt sich nicht nur auf Diebstahl, sondern kann auch die gesamte Entwicklung lahmlegen.
Das tiefer liegende Problem: Lieferketten verbreiten Vertrauen schneller, als Verteidiger es überwachen können.
Alles, was Shai-Hulud tut, entspricht den normalen Entwicklungs- und Automatisierungsabläufen:
- Installieren von Abhängigkeiten
- Skripte ausführen
- Veröffentlichungspakete
- mit GitHub sprechen
- Abfragen von cloud
Keines dieser Verhaltensweisen ist für sich genommen verdächtig. Es handelt sich um alltägliche Vorgänge.
Das macht den worm so worm . Er verhält sich nicht wie malware. Er verhält sich wie eine Entwicklung und stützt sich auf das Vertrauen, das Entwicklungsworkflows standardmäßig genießen:
- Entwicklermaschinen speichern langlebige Tokens
- CI-Pipelines führen Code automatisch aus
- Cloud verfügen über umfassende Berechtigungen
- Die Quellcodeverwaltung fungiert sowohl als Kollaborationsplattform als auch als Automatisierungsmotor.
Shai-Hulud folgt einfach dem Vertrauen.
Den Worm seines Verhaltens erkennen, nicht anhand von Signaturen
Moderne Angriffe auf die Lieferkette zeigen sich eher durch Aktivitätsmuster als durch statische Indikatoren. Shai-Hulud hinterlässt Signale wie:
- Ein GitHub-Token, das aus dem Nichts Dutzende von Repositorys erstellt
- Ein CI-Runner, der cloud in einem Umfang liest, der nicht seiner Aufgabe entspricht.
- Ein Arbeitsplatz, auf dem plötzlich ein neuer Automatisierungs-Runner läuft
- Ein cloud , der Dienste nutzt, mit denen er noch nie in Berührung gekommen ist
- Eine Maschine, die große Datenmengen auf GitHub hochlädt
Jede Aktion ist normal. Die Abfolge ist es nicht. Hier Vectra AI ins Spiel. Die Plattform versucht nicht, die Installation von Paketen zu blockieren. Sie beobachtet, was nach der Ausführung des Codes geschieht, und zwar über Identitätssysteme, Netzwerke und cloud hinweg. Sie korreliert ungewöhnliche Kontoaktivitäten, unerwartete Datenbewegungen und cloud , die nicht zu den etablierten Mustern passen. Dieser Kontext hilft Sicherheitsteams, die gesamte Angriffskette zu sehen, anstatt nur vereinzelte Ereignisse. Und bei Vorfällen in der Lieferkette wie Shai-Hulud ist der Kontext alles.
Wenn Sie sehen möchten, wie die Vectra AI in der Praxis funktioniert, können Sie sie in unserer selbstgesteuerten Demo erkunden.

