npm-Sicherheit unter Druck: Wurmangriffe, Maintainer-Phishing und die verschärften Regeln von GitHub

Letzte Aktualisierung: 09/23/2025
  • Aktive NPM-Lieferkettenangriffe nutzten Phishing und die Übernahme von Wartungskonten, um mit Trojanern infizierte Versionen zu verbreiten.
  • Die sich selbst verbreitende „Shai-Hulud“-Malware stahl Geheimnisse und veröffentlichte kompromittierte Pakete in großem Umfang erneut.
  • GitHub setzt strengere Kontrollen durch: 2FA für lokale Veröffentlichungen, kurzlebige granulare Token und vertrauenswürdige Veröffentlichungen.
  • Die Ökosystem-Leitlinien legen den Schwerpunkt auf Token-Rotation, Abhängigkeitsprüfungen und die Einführung von FIDO-basierten 2FA- und OIDC-gestützten Workflows.

npm-Sicherheitsillustration

Open Source ist die Grundlage moderner Entwicklung, doch seine Größe und Offenheit schaffen auch eine große Angriffsfläche, weshalb sich die Sicherheit von npm ständig weiterentwickeln muss, um mit den Angreifern Schritt halten zu können.

In den letzten Wochen haben Forscher und Registries eine Reihe von Vorfällen im Zusammenhang mit npm detailliert beschrieben, die Social Engineering, den Diebstahl von Zugangsdaten und die Veröffentlichung bösartiger Pakete miteinander verbinden – und in einer wurmartigen Kampagne gipfeln, die sich über die Release-Workflows vertrauenswürdiger Maintainer verbreiten kann.

Jüngste Angriffswelle gegen das npm-Ökosystem

npm-Registrierungssicherheit

Mehrere Berichte beschreiben gezielte Phishing-Angriffe auf npm-Maintainer, gefolgt von der schnellen Verbreitung neuer Versionen mit nach der Installation auszuführenden Payloads , die auf Entwicklerrechnern und CI-Systemen ausgeführt werden.

Eine Kampagne mit dem Namen „Shai-Hulud“ lieferte einen mehrstufigen Wurm, der Umgebungen nach Geheimnissen durchsuchte, GitHub-APIs missbrauchte und versuchte, sich selbst zu verbreiten , indem er manipulierte Pakete unter kompromittierten Konten veröffentlichte.

Sicherheitsteams und Registries reagierten schnell: GitHub entfernte Hunderte betroffener Pakete und fügte Sperren hinzu, die mit Malware-Indikatoren für eine Kompromittierung verknüpft waren. Diese Schritte unterbrachen die weitere Verbreitung innerhalb der Registry.

Unabhängige Untersuchungen brachten die Taktiken mit früheren Vorfällen in Verbindung (darunter der Diebstahl des „S1ngularity“-/Nx-Workflows und eine Welle von Aktualisierungen beliebter Pakete), was eine klare Eskalation vom isolierten Diebstahl von Zugangsdaten hin zum automatisierten Missbrauch der Lieferkette verdeutlicht.

  • Vertrauenswürdige Pakete wurden mit Post-Install-Skripten aktualisiert, die dazu bestimmt waren, Tokens zu sammeln und Daten exfiltrieren.
  • Kompromittierte Konten veröffentlichten neue Versionen, wodurch das Risiko für Projekte und Downstream-Abhängigkeiten.

GitHubs Roadmap zur Stärkung der NPM-Veröffentlichung

Paketsicherheitshärtung

Um den Missbrauch von Token einzudämmen und wurmartige Malware zu verhindern, hat GitHub Änderungen angekündigt, die die Angriffsfläche beim Veröffentlichen von Inhalten verringern und die Anforderungen an die Authentifizierung von Maintainern erhöhen.

  • Lokale Veröffentlichungen erfordern Zwei-Faktor-Authentifizierung (2FA), ohne Bypass-Option.
  • Granulare Token, die für die Veröffentlichung verwendet werden, haben eine maximale Lebensdauer von sieben Tagen.
  • Legacy-Classic-Token werden verworfen und Veröffentlichen über Token wird standardmäßig nicht zugelassen.
  • TOTP-basierte 2FA wird zugunsten von FIDO/WebAuthn Methoden.
  • Das vertrauenswürdige Publizieren wird ausgebaut, mit mehr berechtigten CI/CD-Anbieter.

Diese Maßnahmen werden schrittweise eingeführt, mit Dokumentation und Migrationsunterstützung, um Betreuern dabei zu helfen, Arbeitsabläufe sicher anzupassen und gleichzeitig Störungen zu minimieren; Konsultieren Sie die Auswirkungen von GitHub Copilot und der Zielsetzung, um Änderungen in den Flujos der Arbeit vorzunehmen.

So funktioniert die Shai-Hulud-Kampagne

Die Angreifer beginnen typischerweise damit, npm oder verwandte Dienste zu fälschen, um einen Maintainer zu täuschen, und verwenden dann gestohlene Zugangsdaten, um ein Update zu veröffentlichen, das eine bösartige Nachinstallationssequenz ausführt.

Nach der Ausführung listet die Payload lokale Umgebungsvariablen, Konfigurationsdateien, npm-Einstellungen und Cloud-Schlüssel auf; außerdem missbraucht sie GitHub-APIs, um zugängliche Repositories aufzulisten, Branches zu erstellen und einen bösartigen Workflow auszuführen , der die Sammlung und Speicherung von Geheimnissen automatisiert.

Die Ermittler beobachteten den Einsatz von Tools zum Scannen geheimer Zugangsdaten (z. B. TruffleHog), um die Anzahl der erbeuteten Zugangsdaten zu erhöhen, bevor die Spuren beseitigt wurden. Die Daten wurden auf von Angreifern kontrollierten Endpunkten bereitgestellt und in einigen Fällen in ein neu erstelltes öffentliches Repository namens „Shai-Hulud“ unter dem Konto des Opfers hochgeladen.

Das charakteristische Merkmal des Wurms ist die Selbstreplikation: Wenn npm-Token gefunden werden, versucht er, veränderte Pakete zu veröffentlichen und macht so die Berechtigungen der Paketbetreuer zu einem Motor für exponentielle Verbreitung.

  • Wichtige Verhaltensweisen: Missbrauch nach der Installation, automatisierte GitHub-API-Operationen und Repository-Workflow-Injektion.
  • Zu den Bedrohungen zählen die Kompromittierung von Cloud-Konten, der Diebstahl von IP-Adressen über vollständige Repo-Mirrors und seitliche Bewegung organisationsübergreifend.

Umfang und Auswirkungen

Forschungsteams haben Hunderte von betroffenen Veröffentlichungen in verschiedenen Projekten katalogisiert, darunter weit verbreitete Bibliotheken mit Millionen von wöchentlichen Downloads , wodurch sich der Wirkungsradius für ahnungslose Verbraucher vergrößert.

Die Ergebnisse der Telemetrie- und Vorfallsreaktionsanalysen deuten darauf hin, dass Organisationen in Nordamerika und Europa am stärksten von entsprechenden Schadsoftware betroffen waren, wobei die Risiken von Kryptojacking und Datendiebstahl bis hin zu Störungen in Build- und Deployment-Pipelines reichten.

Zu beachtende npm-Sicherheitsergebnisse

Analysten wiesen außerdem auf fezbox hin, ein kurzlebiges npm-Paket, das eine QR-Code-basierte Payload- Technik enthielt, um JavaScript abzurufen und auszuführen, um Browser-Anmeldeinformationen aus Cookies zu stehlen – eine ungewöhnliche Form der Steganografie-Umgehung.

Während viele Apps heutzutage das Speichern von Passwörtern in Cookies vermeiden, verdeutlicht diese Methode, wie schnell Angreifer Verschleierungs- und Übermittlungsmethoden innerhalb von Paketökosystemen weiterentwickeln.

Vertrauenswürdiges Publizieren: ein breiterer Wandel in allen Registern

Trusted Publishing – empfohlen von Open-Source-Sicherheitsgruppen – ersetzt langlebige API-Schlüssel durch kurzlebige, OIDC-gestützte Identitäten aus CI-Systemen und reduziert so die Token-Ausbreitung und das Risiko der Datenexfiltration.

Dieser Ansatz, der zuerst auf PyPI zu sehen war und später von RubyGems, crates.io, npm und NuGet übernommen wurde, bietet kryptografische Herkunftsnachweise und stärkere Garantien darüber, wie und wo ein Paket erstellt wurde.

API
In Verbindung stehender Artikel:
API-Evolution: Neue Grenzen bei Integration, Sicherheit und Agenten-KI

Was Betreuer jetzt tun können

Es gibt Sofortmaßnahmen, die Wartungsteams und Projektbetreuer ergreifen können, um die Gefährdung während der Einführung von Schutzmechanismen auf Registry-Ebene zu reduzieren und die allgemeine Sicherheitslage ihrer Projekte zu verbessern.

  • Führen Sie vertrauenswürdiges Publizieren mit OIDC ein und entfernen Sie langlebige API-Tokens von CI/CD.
  • Aktivieren und Durchsetzen FIDO/WebAuthn 2FA für npm, GitHub und CI-Anbieter.
  • Überprüfen und sperren Veröffentlichungsberechtigungen; Entfernen Sie nicht verwendete Token und Konten.
  • Audit-Abhängigkeiten (insbesondere aktuelle Updates) und Pin-Versionen um die Abweichung in der Lieferkette zu reduzieren.
  • Rotieren Sie npm, GitHub und Cloud-Anmeldeinformationen; gehen Sie davon aus, dass jedes Geheimnis auf einem Entwicklermaschine aufgedeckt werden könnte.
  • Suchen Sie nach verdächtigen Workflow-Dateien (z. B. .github/workflows/shai-hulud-workflow.yml) und unerwartete Verzweigungen.

Indikatoren und Jagdideen

Teams können die Erkennung durch gemeinsame Indikatoren und Abfragen verbessern, indem sie diese an die lokalen Tools anpassen und gleichzeitig unnötige Fehlalarme vermeiden.

  • Beispiel für SHA-256, das in freier Wildbahn beobachtet wurde: 46faab8ab153fae6e80e7cca38eab363075bb524edd79e42269217a083628f09
  • Gemeldetes Webhook-Artefakt: hxxps://webhooksite/bb8ca5f6-4175-45d2-b042-fc9ebb8170b7
  • Achten Sie auf die Erstellung öffentlicher Repos mit dem Namen „Shai-Hulud“ unter Beitragskonten.
  • Suchen Post-Installationsskript Ausführungsmuster und plötzliche Abhängigkeitsfluktuation.

Beispielhafte Suchhinweise (an Ihre Plattform anpassen): Verbindungen zu Webhooksite-Domains überwachen; Schreibvorgänge in shai-hulud-workflow.yml kennzeichnen; Warnungen bei Befehlszeilen ausgeben, die „trufflehog“ in Build-Agenten aufrufen; und kürzlich vorgenommene Repository-Änderungen überprüfen, die CI-Workflows ohne Genehmigung einführen .

Höhepunkte der Zeitleiste

Ende August kam es zu einem gezielten Angriff, der auf einer Schwachstelle im Arbeitsablauf beruhte und ein Veröffentlichungstoken durchsickern ließ, was zu Trojaner-verschlüsselten Veröffentlichungen führte; Anfang bis Mitte September folgte ein breiter angelegter Angriff auf beliebte npm-Pakete , und dann die Shai-Hulud-Kampagne mit wurmartiger Verbreitung und aggressivem Sammeln von Geheimnissen.

Durch die koordinierte Reaktion von Registry-Betreibern und Sicherheitsanbietern wurden kompromittierte Versionen entfernt, bekannte Indikatoren für Kompromittierung blockiert und Pläne zur Einführung einer stärkeren Authentifizierung und Herkunftsnachverfolgung für die Veröffentlichung von npm beschleunigt.

Diese Vorfälle zeigen, wie schnell ein Angreifer das Vertrauen der Systembetreuer in die Verbreitung von Schadcode umwandeln kann und warum sich das Ökosystem in Richtung FIDO 2FA, kurzlebiger Anmeldeinformationen und CI-geprüfter Releases bewegt, um ganze Klassen von Angriffen zu unterbinden.

Zusammenhängende Posts: