Aufgedeckt: Die npm-Pakete, denen Ihre Projekte vertrauen, sind zum Angriffsziel geworden
Wie zwei separate Angriffswellen im September 2025 vertrauenswürdige JavaScript-Bibliotheken in Lieferfahrzeuge für Krypto-Diebstahl und sich selbst verbreitende Würmer verwandelten
Zwei Milliarden sechshundert Millionen Downloads pro Woche. Das ist kein Ziel. Das ist ein Explosionsradius. Als Angreifer am 8. September 2025 das Konto eines vertrauenswürdigen npm-Maintainers kompromittierten, mussten sie weder einen cleveren Zero-Day in der npm-Infrastruktur finden noch ein kryptografisches Primitiv zurückentwickeln. Sie schickten eine Phishing-E-Mail. Jemand klickte. Den Rest erledigte die Automatisierung – mit der Geschwindigkeit von CI/CD-Pipelines, die in jeder Zeitzone der Welt laufen.
Die Welle vom 8. September: Eine Zugangsdaten, achtzehn Pakete, zwei Stunden Exposition
Laut der detaillierten Vorfallsanalyse von Upwind erschienen die ersten schadhaften Paketversionen am 8. September 2025 um 13:16 UTC auf npm. Gegen 15:20 UTC hatten Community-Mitglieder verdächtigen Code entdeckt und Warnmeldungen auf GitHub veröffentlicht. Die Maintainer stellten die kompromittierten Pakete innerhalb von zwei Stunden wieder her. Dieses Reaktionsfenster ist für ein community-getriebenes Ökosystem bemerkenswert schnell – und trotzdem weniger wirksam, als man hoffen würde, denn bei den betroffenen Paketen handelte es sich nicht um obskure Hilfsprogramme. Wie Sweet Security unter Berufung auf die ursprüngliche Entdeckung von Aikido Security berichtete, verzeichneten die kompromittierten Pakete zusammen 2,6 Milliarden wöchentliche Downloads und machten dies zum größten npm-Kompromittierungsvorfall in der Geschichte nach diesem Maßstab. Brian Krebs fasste den Umfang prägnant zusammen: 18 populäre JavaScript-Pakete, darunter debug und chalk, wurden gekapert und so manipuliert, dass sie Kryptowährungen stehlen.
Die Geschichte des initialen Zugangs ist genau deshalb lehrreich, weil sie so unspektakulär ist. Die Angreifer haben npm nicht gebrochen. Sie haben eine Person kompromittiert. Die per Phishing erbeuteten Zugangsdaten eines einzigen Maintainers ermöglichten es ihnen, neue, schadhafte Versionen von Bibliotheken zu veröffentlichen, die an der Basis unzähliger Produktionsanwendungen stehen. NowSecure wies darauf hin, dass die potenzielle nachgelagerte Exposition sich auch auf mobile Anwendungen erstreckt, da viele mobile Entwicklungs-Pipelines aus demselben npm-Ökosystem beziehen. Der eingeschleuste Code zielte auf Kryptowährungs-Wallets und Blockchain-Transaktionen ab, was die finanzielle Motivation unmittelbar und offensichtlich macht.
Die strukturelle Lektion, die jeder Entwickler und sicherheitsbewusste Lernende verinnerlichen sollte, steckt in der Mathematik der Abhängigkeiten. Laut Daten, die in der npm-Sicherheitsanalyse von cyberdesserts.com zitiert werden, bezieht ein durchschnittliches npm-Projekt 79 transitive Abhängigkeiten. Man prüft die direkten Abhängigkeiten. Die Abhängigkeiten der Abhängigkeiten prüft man selten, und die Abhängigkeiten jener Abhängigkeiten noch seltener. Genau auf diesen rekursiven blinden Fleck setzen Angreifer.
Die Welle vom 15. September: Wenn die Schadsoftware laufen lernt
Sieben Tage später kehrten die Bedrohungsakteure mit etwas Ambitionierterem zurück. Laut der Forschung von Trend Micro erlebte das npm-Repository am 15. September einen zweiten laufenden Supply-Chain-Angriff, der erneut durch eine gezielte Phishing-Kampagne gegen Maintainer-Konten eingeleitet wurde. Diese Welle führte zwei dokumentierte Schadsoftware-Komponenten mit deutlich unterschiedlichen Verhaltensweisen und Zielen ein – und das Verständnis dieses Unterschieds ist nützlich für alle, die ein mentales Modell davon aufbauen, wie sich Supply-Chain-Angriffe weiterentwickeln.
Die erste Komponente, Cryptohijacker genannt, leitete Kryptowährungsbestände verdeckt um, indem sie Web-APIs kapert und den Netzwerkverkehr manipuliert. Sie ist finanziell ausgerichtet und darauf ausgelegt, unauffällig zu bleiben. Die Telemetrie von Trend Micro bestätigt, dass Organisationen in Nordamerika und Europa zu den am stärksten von Cryptohijacker betroffenen gehörten.
Die zweite Komponente, der Shai-Hulud-Wurm, ist eine völlig andere Kategorie von Bedrohung. Ebenfalls von Trend Micro dokumentiert, wird Shai-Hulud über kompromittierte Pakete ausgeliefert, stiehlt Cloud-Service-Token, setzt Secret-Scanning-Tools ein und verbreitet sich automatisch auf weitere Konten. Zum Zeitpunkt der Berichterstattung von Trend Micro gab es keine bestätigten Sichtungen des Shai-Hulud-Wurms in freier Wildbahn – ein wichtiger Kontext: Die Fähigkeit existiert, der Mechanismus ist bekannt, und Verteidiger haben ein Zeitfenster zur Vorbereitung.
Das Threat-Research-Team von Splunk formulierte das übergeordnete Muster mit hilfreicher Präzision: Der Shai-Hulud-Angriff vom September 2025 infizierte in einem koordinierten Supply-Chain-Kompromittierungsvorfall über 500 npm-Pakete und markierte in ihrer Einschätzung einen Wendepunkt in der Supply-Chain-Sicherheit – er präsentierte Techniken, auf die sich Verteidiger nun als standardmäßiges Angreifer-Handwerk einstellen müssen. Der Größenunterschied zwischen dem Ereignis vom 8. September (18 Pakete) und der Welle vom 15. September (über 500 Pakete) zeigt, wie schnell die Bedrohungsakteure auf den initialen Erfolg aufgebaut haben.
Was die Größe des npm-Ökosystems möglich (und schwierig) macht
Um zu verstehen, warum diese Ereignisse über die JavaScript-Community hinaus Gewicht haben, lohnt es sich, das Ausmaß des Ökosystems zu erfassen. Das Sicherheitsteam von Splunk stellt fest, dass npm über 2,5 Millionen Pakete enthält und Milliarden wöchentlicher Downloads verarbeitet – ein Ziel, das sie als unwiderstehlich für Angreifer beschreiben, die Software-Supply-Chains im großen Maßstab kompromittieren wollen. Die Mathematik ist, wie Splunk es formuliert, einfach: Ein einzelnes populäres Paket zu kompromittieren verschafft potenziell Zugang zu Tausenden von nachgelagerten Anwendungen und deren Produktionsumgebungen.
Die Angriffsfläche reicht über Webanwendungen hinaus. NowSecure hob ausdrücklich die potenzielle Auswirkung auf mobile Anwendungen hervor, da mobile Entwicklungs-Pipelines regelmäßig npm-Pakete als Build-Abhängigkeiten verwenden. Ein kompromittiertes Build-Tool muss Endnutzer nicht direkt erreichen; es muss den Build-Prozess nur einmal berühren.
Die Analyse von Splunk identifiziert auch einen spezifischen Mechanismus, der npm besonders ausnutzbar macht: Lifecycle-Hooks. Die preinstall-, install- und postinstall-Hooks von npm führen Code automatisch während der Paketinstallation aus, ohne Benutzeraufforderung oder Bestätigung. Ein schadhaftes postinstall-Skript läuft in dem Moment, in dem ein Entwickler npm install eingibt. Das ist kein obskurer Randfall; es ist eine Standard-npm-Funktionalität, die Bedrohungsakteure gelernt haben, zuverlässig zu weaponisieren.
Was das für dich als Lernende und Entwicklerin bedeutet
Wenn du Software-Entwicklung lernst, Sicherheit studierst oder irgendetwas baust, das JavaScript berührt, ist diese Geschichte eine praktische Fallstudie darüber, wie modernes Software-Risiko tatsächlich funktioniert. Der Perimeter ist nicht dein Anwendungscode. Der Perimeter erstreckt sich in jedes Paket, das du installierst, in jedes Paket, das jene Pakete installieren, und in die Menschen, die all diese Pakete pflegen.
Die umsetzbaren Erkenntnisse sind nicht exotisch. Sperre deine Abhängigkeitsversionen mit package-lock.json- oder yarn.lock-Dateien, damit eine kompromittierte neue Version nicht automatisch in deiner nächsten Installation landet. Überprüfe deine Abhängigkeitsbäume mit Tools wie npm audit. Achte darauf, wenn die Sicherheits-Community Warnmeldungen auf GitHub veröffentlicht – die Reaktion vom 8. September hat gezeigt, dass Community-Geschwindigkeit eine Rolle spielen kann. Und wenn du Open-Source-Pakete pflegst, behandle deine npm-publish-Zugangsdaten mit derselben Ernsthaftigkeit wie den Zugang zu einer Produktionsdatenbank – denn aus der Sicht eines Angreifers sind sie gleichwertig.
Das Fehlen bestätigter Sichtungen des Shai-Hulud-Wurms in freier Wildbahn ist eine wirklich gute Nachricht und spiegelt sowohl die schnelle Community-Reaktion als auch aktive Verteidigungsvorbereitungen wider. Das Zeitfenster, um bessere Gewohnheiten rund um Abhängigkeits-Hygiene aufzubauen, steht offen. Die Ereignisse vom September 2025 sind eine anschauliche, gut dokumentierte Illustration, warum diese Gewohnheiten vor einem Vorfall wichtig sind – nicht danach.
Quellen
- Major NPM Supply-Chain Attack: Potential Impact on Mobile Applications - NowSecure(opens in new tab)
- Tradecraft Tuesday Recap: axios npm Supply Chain Compromise(opens in new tab)
- What We Know About the NPM Supply Chain Attack | Trend Micro (US)(opens in new tab)
- Defending Against npm Supply Chain Attacks: A Practical Guide to Detection, Emulation, and Analysis | Splunk(opens in new tab)
- npm Security Risks 2026: Vulnerable Packages & Fixes(opens in new tab)
- npm Supply Chain Attack: Massive Compromise of debug, chalk ...(opens in new tab)
- Largest npm Supply-Chain Attack Hits Billions of Downloads | Sweet Security(opens in new tab)
Quellen
- Major NPM Supply-Chain Attack: Potential Impact on Mobile Applications - NowSecure(opens in new tab)
- Tradecraft Tuesday Recap: axios npm Supply Chain Compromise(opens in new tab)
- What We Know About the NPM Supply Chain Attack | Trend Micro (US)(opens in new tab)
- Defending Against npm Supply Chain Attacks: A Practical Guide to Detection, Emulation, and Analysis | Splunk(opens in new tab)
- npm Security Risks 2026: Vulnerable Packages & Fixes(opens in new tab)
- 18 popular JavaScript packages hacked to steal crypto | Brian Krebs posted on the topic | LinkedIn(opens in new tab)
- npm Supply Chain Attack: Massive Compromise of debug, chalk ...(opens in new tab)
- Largest npm Supply-Chain Attack Hits Billions of Downloads | Sweet Security(opens in new tab)
- What We Know About the NPM Supply Chain Attack | Trend Micro (US)(opens in new tab)
- Largest NPM Compromise in History - Supply Chain Attack - Reddit(opens in new tab)