Skip to main content

Umfangreicher Zero-Day-Angriff auf npm-Pakete – Shai-Hulud-Supply-Chain-Angriff

Artikel von
feature open source

15. September 2025

0 Min. Lesezeit

Dieser Vorfall dauert an. Wir informieren Sie, sobald weitere Informationen bestätigt sind.

Ermitteln Sie mit dem aktuellen Zero-Day-Bericht von Snyk, wie Sie von diesem Angriff betroffen sein könnten.

Shai-Hulud NPM Attack: Remediation with Snyk

TL;DR (17. Sep. 2025)

Der Angriff begann etwa am 15. September 2025 und wurde als „Shai-Hulud“ bekannt. Inzwischen wissen wir, dass es sich um wurmartige Malware handelt, die sich über Hunderte kompromittierte npm-Pakete verbreitet. Ziel des Angriffs ist es, lokal gespeicherte Cloud-Zugangsdaten, API-Schlüssel und andere Geheimnisse zu stehlen und zu exfiltrieren. Die Daten werden über einen Webhook und öffentliche GitHub-Repositories übertragen. Außerdem zielt die Malware auf CI/CD-Umgebungen ab und nutzt GitHub Actions zur Datenexfiltration und um den Angriff aufrechtzuerhalten.

Update (16. Sep. 2025)

Das Sicherheitsteam von Snyk ist sich dieses andauernden Supply-Chain-Angriffs bewusst und untersucht, analysiert und bewertet aktiv die Bedrohungen und Risiken, die sich aus diesem Angriff mit kompromittierten npm-Paketen ergeben. Die aktuellen Ergebnisse in Snyk empfehlen wir Ihnen als stets aktuelle Informationsquelle.

Erstes Update (15. Sep. 2025)

Am 15. September 2025 wurden mehrere schädliche Versionen der npm-Pakete ngx-bootstrap und ng2-file-upload veröffentlicht und kurz darauf wieder zurückgezogen. In diese Versionen war ein postinstall-Skript (bundle.js) eingebettet, das versuchte, Entwicklertokens (z. B. npm-, GitHub- und Cloud-Zugangsdaten) abzugreifen und Geheimnisse zu exfiltrieren. Betrachten Sie jedes System, auf dem diese Versionen installiert wurden, als vollständig kompromittiert: Entfernen Sie das Paket, rotieren Sie alle Geheimnisse von einem separaten, vertrauenswürdigen Rechner aus und untersuchen Sie das System auf laterale Bewegungen. GitHub hat Sicherheitswarnungen zu ngx-bootstrap und ng2-file-upload veröffentlicht. Für die manipulierten Builds gibt es keine gepatchte Version, da sie entfernt wurden.

Seit den ersten Erkenntnissen zu ngx-bootstrap gibt es auch Malware-Hinweise zum npm-Paket @ctrl/tinycolor, das wöchentlich mehr als 2 Millionen Mal heruntergeladen wird. Weitere npm-Pakete in den Namespaces @ctrl und @nativescript-community sowie einzelne andere Pakete wurden ebenfalls kompromittiert.

Was ist ngx-bootstrap und warum ist das wichtig?

ngx-bootstrap ist eine beliebte Angular-Komponentenbibliothek, die Bootstrap-UI-Komponenten für Angular-Apps bereitstellt. Sie wird häufig in Frontend-Projekten, CI-Builds und auf Entwicklerarbeitsplätzen eingesetzt. Das bedeutet, dass ein schädliches Installationsskript während eines regulären npm install ausgeführt werden kann und Zugriff auf Entwicklerrechner und lokale Zugangsdaten erhält. Das offizielle Repository wird von Valor Software gepflegt.

Was wir bisher wissen

Wahrscheinlich sind Hunderte Pakete betroffen

Der Angriff hat sich auf weitere Pakete neben ngx-bootstrap und @ctrl/tinycolor ausgeweitet. Dazu gehören Pakete aus weiteren Organisations-Namespaces, darunter Pakete des Cybersicherheitsunternehmens Crowdstrike im npm-Paketnamespace @crowdstrike, sowie andere Pakete.

Die folgende Liste erhebt keinen Anspruch auf Vollständigkeit, sondern dient als Orientierung. Wir empfehlen Ihnen grundsätzlich, die Snyk-Produktergebnisse, Scan-Ergebnisse und Berichte heranzuziehen, um eine aktuelle und umfassende Liste aller schädlichen Pakete und Versionen zu erhalten.

Eine umfassendere Liste betroffener Pakete finden Sie auf unserer speziellen Seite zu kompromittierten Paketen in der Vulnerability Database.

Betroffene ngx-bootstrap-Pakete und -Versionen

Laut Community-Berichten enthielten die folgenden Versionen von ngx-bootstrap den schädlichen postinstall-Hook, der bundle.js ausführte:

  • 20.0.4, 20.0.5, 20.0.6

  • 19.0.3

  • 18.1.4

Berichten zufolge enthielt auch 20.0.3 die Datei bundle.js, jedoch ohne eine postinstall-Deklaration. Derselbe Bericht hält fest, dass die betroffenen Versionen kurz nach ihrer Entdeckung von npm entfernt wurden.

Hinweis: Zum Zeitpunkt der Veröffentlichung zeigt die npm-Paketseite nur aktuelle, nicht betroffene Versionen an. Die schädlichen Versionen wurden zurückgezogen.

Community-Berichte wiesen auch darauf hin, dass ng2-file-upload „möglicherweise betroffen“ ist. Dazu gibt es jedoch weniger Details. Behalten Sie Abhängigkeitsbäume im Blick, die Pakete von Valor Software enthalten, und überprüfen Sie die installierten Versionen.

Zeitleiste (UTC)

  • 15.09.2025 — Ein Community-Bericht zu valor-software/ngx-bootstrap meldet schädliche postinstall/bundle.js-Dateien in neuen Versionen, weist auf Versuche zur Token-Exfiltration hin und merkt an, dass die betroffenen Versionen von npm zurückgezogen wurden.

  • 15.09.2025 — Die GitHub Advisory Database veröffentlicht den Eintrag GHSA-6m4g-vm7c-f8w6 für ngx-bootstrap („Malware“) mit der Empfehlung, Systeme, auf denen das Paket installiert wurde, als kompromittiert zu behandeln.

(Wir aktualisieren diesen Beitrag, sobald neue, überprüfbare Fakten von Maintainer:innen oder Registries vorliegen.)

Bewertung der Auswirkungen

  • Wer ist betroffen? Entwickler:innen, CI-Agenten und Endgeräte, auf denen eine der aufgeführten Versionen installiert wurde oder die sie während des Verfügbarkeitszeitraums über transitive Abhängigkeiten bezogen haben.

  • Welche Daten könnten offengelegt worden sein? Geheimnisse und Tokens aus Entwicklerumgebungen (npm, GitHub) und möglicherweise Cloud-Zugangsdaten (AWS/GCP usw.), basierend auf dem beschriebenen Verhalten von bundle.js.

  • Ein weiterer Kompromittierungsindikator (IoC) ist ein neuer, von der Malware erstellter GitHub-Actions-Workflow namens shai-hulud.

  • Schweregrad: Kritisch (Ausführung schädlichen Codes bei der Installation; Diebstahl und Exfiltration von Zugangsdaten). Die GitHub-Sicherheitswarnung fordert ausdrücklich eine umfassende Reaktion auf einen Sicherheitsvorfall.

Wie erkennen Sie Zero-Day-npm-Malware mit Snyk?

Im Dashboard der Snyk-App finden Sie den Zero-Day-Bericht zum Shai-Hulud-npm-Supply-Chain-Angriff vom September 2025.

Wenn Sie den Enterprise-Tarif nutzen, können Sie diese Ansicht verwenden, um den Bericht zu filtern und den relevanten Zero-Day-Angriff auf npm-Malware oder bestimmte CVEs auszuwählen, die Sie verfolgen möchten. So erhalten Sie eine systemweite Übersicht über die Auswirkungen auf tinycolor, ngx-bootstrap oder andere Abhängigkeiten in Ihren Anwendungen und überwachten Code-Repositories.

Ein Dropdown-Menü mit dem Titel „Zero-Day-Schwachstelle“ ist geöffnet und zeigt eine Liste von Schwachstellen. Ein Eintrag, „Shai-Hulud-npm-Supply-Chain-Angriff – Sep. 2025“, ist ausgewählt.

Leitfaden für Erkennung und Triage

  1. Ermitteln Sie schnell, ob Sie betroffen sind

    • Prüfen Sie, ob Ihre Umgebung betroffene Versionen bezogen hat:

      • npm ls ngx-bootstrap (pro Projekt)

      • Prüfen Sie Lockfiles (package-lock.json, pnpm-lock.yaml, yarn.lock) auf ngx-bootstrap@18.1.4, 19.0.3, 20.0.4–20.0.6 und achten Sie auf Installationen am oder nach dem 15.09.2025.

    • Prüfen Sie in node_modules/ngx-bootstrap/package.json, ob ein postinstall-Eintrag vorhanden ist. Wenn Sie Anbieterarchive oder Caches verwalten, suchen Sie im Paketstammverzeichnis auch nach der Datei bundle.js.

  2. Skriptausführung während der Reaktion auf den Vorfall stoppen

    • Installieren Sie das Paket mit deaktivierten Skripten neu, damit keine verbliebenen Lifecycle-Hooks ausgeführt werden:

      • npm ci --ignore-scripts oder npm install --ignore-scripts

      • Sie können außerdem in .npmrc den Wert ignore-scripts=true festlegen.

  3. Forensische Prüfungen

    • Überprüfen Sie ausgehende Verbindungen von Build-Agenten und Entwicklerrechnern während der Installationszeiträume.

    • Prüfen Sie GitHub (Listen der Zugriffstokens, aktuelle Sicherheitsprotokolle), npm-Tokens und die Nutzung von Zugangsdaten bei Cloud-Anbietern auf Anomalien. Überprüfen Sie GitHub Actions.

    • Behandeln Sie gemäß den Empfehlungen der GitHub-Sicherheitswarnung jeden Host, auf dem eine betroffene Version installiert wurde, als kompromittiert.

Sofortige Eindämmung und Behebung

  1. Betroffene Versionen entfernen

    • Löschen Sie node_modules und Lockfiles, die schädliche Versionen referenzieren, und installieren Sie festgelegte, nachweislich sichere Versionen neu.

    • Leeren Sie private Registries, Caches und Artefakte, in denen sich die schädlichen Tarballs noch befinden könnten.

  2. Geheimnisse von einem sauberen Rechner aus rotieren

    • GitHub: Widerrufen Sie persönliche Zugriffstokens und SSH-Schlüssel, rotieren Sie Tokens mit eingeschränkten Berechtigungen und überprüfen Sie Autorisierungen für OAuth-Apps und Geräte.

    • npm: Widerrufen Sie Registry-Tokens.

    • Cloud-Anbieter (AWS/GCP usw.): Rotieren Sie Zugriffsschlüssel und Dienstkontoschlüssel und machen Sie alle langlebigen Zugangsdaten ungültig.

  3. Neu erstellen und bereitstellen

    • Erstellen Sie nach dem Rotieren der Zugangsdaten Builds in sauberen Umgebungen neu und stellen Sie sie erneut bereit. Lassen Sie Lifecycle-Skripte zunächst deaktiviert und aktivieren Sie sie anschließend bei Bedarf wieder.

  4. Kommunikation mit Nutzenden und Mandanten

    • Wenn Sie Software verteilen, die während des betroffenen Zeitraums erstellt wurde, informieren Sie nachgelagerte Stellen und empfehlen Sie Updates und neue Builds.

Zu Supply-Chain-Sicherheitsangriffen

Dieser Vorfall reiht sich in mehrere ähnliche Sicherheitsvorfälle der letzten Zeit ein. In der Vergangenheit haben wir Angriffe auf CI-Systeme und Maintainer-Konten erlebt, die Angreifern ermöglichten, Releases zu kapern:

Sichern Sie Ihre Supply Chain mit Snyk

87 % der Befragten waren von Problemen mit der Supply-Chain-Sicherheit betroffen. Schützen Sie Ihre Supply Chain mit Snyk.