Ein groß angelegter Angriff auf die Software-Lieferkette betrifft das JavaScript-Ökosystem, nachdem Angreifer das GitHub-Konto eines Maintainers kompromittiert haben, der hinter mehreren weit verbreiteten npm-Paketen steht.
Der Vorfall begann am 4. Aug. 2026, als Schadcode in Pakete wie keyv, flat-cache und file-entry-cache eingeschleust wurde, sich aber rasch zu einer umfassenderen Shai-Hulud-Kampagne ausweitete, die sich auf Hunderte weiterer Pakete ausgebreitet hat.
Nach Angaben der Aikido-Forscher kompromittierten die Angreifer das GitHub-Konto des Maintainers hinter keyv, einem Paket mit etwa 127 Millionen wöchentlichen Downloads.
Anschließend nutzten sie GitHub Actions, um schädliche Aktualisierungen zu veröffentlichen.
Da die Veröffentlichungen aus dem legitimen Workflow stammten, wurden die kompromittierten Pakete mit gültigem Herkunftsnachweis auf npm veröffentlicht und wirkten dadurch authentisch.
Wichtige Erkenntnisse
- Angreifer kaperten das Konto eines beliebten npm-Maintainers, um den Shai-Hulud-Angriff auf die Software-Lieferkette zu starten.
- Die Kampagne breitete sich auf Hunderte von Paketen mit mehr als 2 Milliarden monatlichen Installationen aus.
- Schädliche Pakete nutzten npm-Preinstall-Skripte, um Cloud-, GitHub-, Kubernetes- und API-Zugangsdaten zu stehlen.
- Der gültige Herkunftsnachweis von GitHub Actions ließ die Veröffentlichungen der kompromittierten Pakete legitim erscheinen.
- Organisationen sollten ihre Entwicklungspipelines umgehend absichern, Zugangsdaten austauschen und die Sicherheitskontrollen für die Software-Lieferkette stärken.
Shai-Hulud-Angriff breitet sich über die npm-Lieferkette aus
Der Angriff hat sich inzwischen über einen einzelnen kompromittierten Maintainer hinaus ausgeweitet.
Aikido berichtete, dass sich die Malware auf Pakete ausbreitete, die von anderen Organisationen gepflegt werden, und Hunderte von Paketen mit mehr als 2 Milliarden monatlichen Installationen betraf.
Zu den ursprünglich kompromittierten Paketen gehörten:
- keyv
- flat-cache
- file-entry-cache
- cacheable
- cache-manager
- cacheable-request
- @cacheable/node-cache
- @cacheable/memory
- @cacheable/utils
- ecto
Forscher identifizierten außerdem kompromittierte Pakete, die mit Organisationen wie Deliveroo, OneReach, Picsart und Qlik in Verbindung stehen. Dies verdeutlicht, wie schnell sich der Angriff über die JavaScript-Lieferkette ausbreitete.
Shai-Hulud-Malware nutzt npm-Preinstall-Skripte zum Diebstahl von Zugangsdaten
Im Gegensatz zu Angriffen, bei denen Benutzer Schadcode manuell ausführen müssen, nutzte diese Kampagne den npm-Lifecycle-Hook „preinstall“.
Jedes betroffene Paket enthielt eine neue setup.mjs-Datei, auf die über die package.json-Datei verwiesen wurde. Während der npm-Installation wurde das Skript automatisch ausgeführt, bevor die Installation abgeschlossen war.
Der Dropper lud zunächst die JavaScript-Laufzeitumgebung Bun herunter und startete anschließend eine verschleierte Payload namens Math_Symbol.js, ein 728 KB großes Programm zum Diebstahl von Zugangsdaten.
Die Forscher stellten fest, dass die Malware Zugangsdaten aus mehreren Quellen abgriff, darunter:
- npm-Authentifizierungstoken
- Persönliche GitHub-Access-Tokens und GitHub-Actions-Zugangsdaten
- AWS-Access-Keys, IAM-Zugangsdaten, EC2-Metadaten und der Secrets Manager
- Kubernetes-Service-Account-Token und Cluster-Geheimnisse
- HashiCorp-Vault-Token und gespeicherte Geheimnisse
- Stripe- und Slack-API-Token
- SSH-Schlüssel, private Zertifikate, Terraform-Statusdateien, Docker-Zugangsdaten, VPN-Konfigurationen und zahlreiche .env-Dateien
Die Malware verschlüsselte die gesammelten Daten, bevor sie sie in ein öffentliches GitHub-Repository exfiltrierte.
Die Forscher beobachteten außerdem wurmartiges Verhalten, das darauf ausgelegt war, weitere npm-Pakete von Maintainer zu infizieren, die kompromittierte Abhängigkeiten installiert hatten, sodass sich die Kampagne rasch im gesamten Ökosystem ausbreiten konnte.
So sollten Organisationen auf den Shai-Hulud-Angriff reagieren
Organisationen, die Software mit betroffenen Paketversionen installiert oder erstellt haben, sollten davon ausgehen, dass Zugangsdaten und Entwicklungsumgebungen möglicherweise offengelegt wurden, bis das Gegenteil bewiesen ist.
- Betroffene Paketversionen identifizieren und entfernen, einschließlich transitiver Abhängigkeiten, aus Entwicklungs-, Build- und CI/CD-Umgebungen.
- Alle potenziell offengelegten Zugangsdaten austauschen, einschließlich npm-, GitHub-, Cloud-, Kubernetes-, Vault- und API-Token, und aktive Sitzungen gegebenenfalls ungültig machen.
- Betroffene Entwicklerarbeitsplätze und CI/CD-Runner aus vertrauenswürdigen Images neu erstellen und anschließend auf Kompromittierungsindikatoren und nicht autorisierte ausgehende Aktivitäten prüfen.
- GitHub-Actions-Workflows prüfen, Build-Logs, Paketveröffentlichungen und während des Zeitraums der Gefährdung erstellte Software-Releases auf Anzeichen nicht autorisierter Änderungen untersuchen.
- Die Sicherheit der Software-Lieferkette stärken mit DevSecOps-Tools, Software Composition Analysis (SCA), Überwachung von Abhängigkeiten, Festlegung von Versionen, Positivlisten für Pakete und vertrauenswürdigen internen Paket-Repositories.
- Phishing-resistente MFA durchsetzenMFA, Hardwaresicherheitsschlüssel, Zugriff nach dem Prinzip der geringsten Privilegien sowie strengere Kontrollen für Quellcode-Repositories und Workflows zur Paketveröffentlichung.
- Testen Sie Incident-Response-Pläne mit Software-Lieferketten-Angriffsszenarien, einschließlich kompromittierter Abhängigkeiten, des Austauschs von Zugangsdaten, der Wiederherstellung von Entwicklungsumgebungen und sicherer Software-Neuerstellungen.
Diese Maßnahmen können Organisationen dabei helfen, ihre Gefährdung durch den aktuellen Angriff zu verringern und zugleich die Widerstandsfähigkeit ihrer Software-Lieferkette gegen künftige Kompromittierungen zu stärken.
Das Wichtigste
Diese Kampagne unterstreicht, dass die Sicherheit der Software-Lieferkette ein Geschäftsrisiko und nicht nur ein Anliegen der Entwicklung ist.
Da Software-Ökosysteme immer stärker miteinander verflochten sind, werden Governance, Transparenz und sichere Entwicklungspraktiken zu unverzichtbaren Bestandteilen der Widerstandsfähigkeit von Unternehmen.
Der Aufbau von Widerstandsfähigkeit gegen Bedrohungen beginnt mit einem umfassenden Ansatz für die Sicherheit der Software-Lieferkette.





