Cybersicherheit

NPM Supply-Chain Attack: Was passiert ist und wie man ihn behebt

mm
Securities.io maintains rigorous editorial standards and may receive compensation from reviewed links. We are not a registered investment adviser and this is not investment advice. Please view our affiliate disclosure.
Digital vault being cracked open

Die Kryptowährungsindustrie und die Welt im Allgemeinen erlebten kürzlich einen Schreckmoment, als Sicherheitsexperten einen Lieferkettenangriff auf das Node.js-Ökosystem identifizierten, der bereits bis zu 18 npm-Pakete kompromittiert hatte.

Das liegt daran, dass diese wenigen Pakete wöchentlich Milliarden von Downloads verzeichnen.

Softwarepakete werden verwendet, um Drittanbieter-Software zu verteilen. Oft aus einer externen Quelle über einen Paketmanager bezogen, enthalten sie in der Regel Quellcode, Bibliotheken, Dokumentation und andere Dateien, die zum Erstellen und Ausführen der Software erforderlich sind.

Jetzt gibt sich ein Paket, das Malware enthält, als legitimes aus, obwohl es in Wirklichkeit ein bösartiges ist, das darauf abzielt, Software zu infizieren. Sobald es ein System betritt, kann die Malware im bösartigen Paket Dateien ändern, Daten stehlen und sogar ein gesamtes System übernehmen, um zu tun, was der Angreifer wünscht.

Während andere große Open-Source-Ökosysteme wie Python und .NET ebenso anfällig für Angriffe sind, macht die weit verbreitete Nutzung von JavaScript es besonders anfällig für Cyberkriminelle.

Node.js ist eine Open-Source-Laufzeitumgebung, die auf JavaScript aufbaut und Entwicklern ermöglicht, ihren Code außerhalb des Webbrowsers auszuführen.

Traditionell wurde die interpretierte Programmiersprache, die hauptsächlich dafür bekannt ist, Webseiten interaktiv zu machen, hauptsächlich für die clientseitige Webentwicklung in Browsern verwendet, aber Node.js erweiterte die Nutzung von JavaScript auf serverseitige und andere Anwendungen.

Mit Node.js können Entwickler schnelle und skalierbare Anwendungen wie Webserver, APIs, Werkzeuge und mehr erstellen.

Es profitiert von einem riesigen Ökosystem an Open-Source-Bibliotheken und -Werkzeugen, die über npm verfügbar sind, was die Entwicklung vereinfacht und Lösungen für verschiedene Funktionalitäten bietet.

Node Package Manager, oder npm, ist ein zentrales Werkzeug in der JavaScript-Entwicklung, das verwendet wird, um Codepakete zu finden, zu erstellen und zu verwalten. Es hilft bei der Handhabung von Abhängigkeiten, ermöglicht Zusammenarbeit und rationalisiert Arbeitsabläufe. 

Dieses weltweit größte Software-Register enthält über 3 Millionen Codepakete und ist völlig kostenlos nutzbar. 

Jeder kann alle öffentlichen npm-Softwarepakete herunterladen, ohne sich registrieren zu müssen. Open-Source-Entwickler nutzen npm, um Software zu teilen und zu übernehmen, während viele Organisationen es zur Verwaltung privater Entwicklungen einsetzen.

Um npm auf Ihrem Computer zu installieren, müssen Sie zuerst Node.js installieren.

Der Paketmanager für JavaScript wird von npm, Inc. gepflegt, einer Tochtergesellschaft von GitHub, der weltweit führenden Plattform für Softwareentwicklung, die seit 2018 im Besitz von Microsoft ist, nachdem der Technologieriese sie für 7,5 Milliarden Dollar erworben hatte, um Entwicklern mehr Möglichkeiten zu geben. 

Letzte Woche wurde das Tool, auf das mehr als 17 Millionen Entwickler weltweit vertrauen, kompromittiert, was kurzzeitig Panik im Internet auslöste, da Experten es frühzeitig bemerkten und Angreifer nicht mehr als 50 $ stehlen konnten. Hier ist, was passiert ist!

Was bei dem NPM-Lieferkettenangriff (Sept 2025) passiert ist

Bei dem massiven Lieferkettenangriff, der im JavaScript-Ökosystem stattfand, kompromittierten Hacker eine Reihe von npm-Paketen mit Malware. Das Ziel des Angriffs war es, digitale Vermögenswerte von ahnungslosen Nutzern zu stehlen.

Insbesondere wurde das npm-Konto des Entwicklers ‘qix’ gehackt.

Qix ist ein Open-Source-Maintainer-Konto, das kompromittiert durch einen Phishing-Angriff. Dies ermöglichte Angreifern, 18 beliebte npm-Pakete mit bösartigem Code zu infizieren. Zusammen werden diese Pakete wöchentlich mehrere hundert Millionen Mal heruntergeladen, da sie eingebettet in Frameworks, Entwicklerwerkzeugen und Produktionsdiensten.

Zu den betroffenen Paketen gehören chalk, debug, color-name, wrap-ansi und ansi-styles, die zu den beliebtesten gehören, während weniger populäre npm-Pakete wie backslash, chalk-template und has-ansi betroffen sind.

Wischen zum Scrollen →

Paket Betroffene Version(en) Aktion
debug 4.4.2 Auf Version vor 4.4.2 festlegen; neu installieren; Build-Logs scannen
chalk 5.6.1 Auf Version vor 5.6.1 festlegen; sauberen Build neu bereitstellen
ansi-styles 6.2.2 Auf Version vor 6.2.2 festlegen; nachgelagerte Abhängigkeiten prüfen
ansi-regex 6.2.1 Auf Version vor 6.2.1 festlegen
strip-ansi 7.1.1 Auf Version vor 7.1.1 festlegen
wrap-ansi 9.0.1 Auf Version vor 9.0.1 festlegen
color, color-convert, color-string, color-name 5.0.1 / 3.1.1 / 2.1.1 / 2.0.1 Auf die vorherigen Versionen festlegen; erneut sperren und neu bauen
has-ansi, supports-color, slice-ansi 6.0.1 / 10.2.1 / 7.1.1 Auf die vorherigen Versionen festlegen
backslash, is-arrayish, error-ex, simple-swizzle, chalk-template, supports-hyperlinks 0.2.1 / 0.3.3 / 1.3.3 / 0.2.3 / 1.1.1 / 4.1.1 Auf die vorherigen Versionen festlegen
duckdb, @duckdb/node-api, @duckdb/node-bindings, @duckdb/duckdb-wasm 1.3.3 / 1.3.3 / 1.3.3 / 1.29.2 Aufgelistete Versionen vermeiden; auf Updates des Anbieters warten

Alle betroffenen Pakete wurden seitdem vom npm-Register entfernt. Durch die Kompromittierung eines hochwertigen Open-Source-Maintainers hat der Angriff das Vertrauen im Open-Source-Software (OSS)-Ökosystem als Waffe eingesetzt, da Entwickler nicht jede von ihnen genutzte Abhängigkeit prüfen. Sie verlassen sich auf deren Nutzung und Reputation sowie auf die Sicherheit der Register.

NPM-Lieferkettenangriff Tweet

Um die Pakete zu kompromittieren, wählte der Hacker den Phishing-Weg. Der Angreifer startete zunächst eine Phishing-Kampagne, um das Konto eines npm-Paket-Maintainers zu übernehmen, und fügte dann ihren bösartigen Code in npm-Pakete ein, bevor sie die kompromittierten Versionen hochluden.

Der Entwickler Josh Junon war das Opfer einer Phishing-E-Mail, die Teil einer größeren Kampagne war, die npm imitiert hatte. Die Angreifer nutzten also eine Phishing-Seite, die die Anmeldeseite von npm nachahmte, um seine Zugangsdaten zu stehlen. Sobald die Angreifer Zugriff hatten, sperrten sie Junon aus, indem sie die im Konto hinterlegte E‑Mail-Adresse änderten.

“Hi, ja ich wurde gehackt. Sorry an alle, sehr peinlich,” schrieb Junon auf HackerNews und bestätigte den Vorfall. Er erklärte, bevor er klarstellte, dass nur npm betroffen war:

“Sah auf den ersten Blick legitim aus. Keine Ausreden, ich hatte nur eine lange Woche und einen panischen Morgen und wollte einfach etwas von meiner To‑Do‑Liste abhaken. Ich habe den Fehler gemacht, den Link anzuklicken, anstatt direkt zur Seite zu gehen.”

Die Phishing-E‑Mail kam von support [at] npmjs [dot] help und nutzte eine Angstmethode, um Junon zum Klicken des Links zu bewegen, der ihn zur Phishing‑Seite weiterleitete.

Indem sie vorgaben, von npm zu sein, baten die Angreifer ihn, seine 2FA-Anmeldedaten zu aktualisieren, und behaupteten, Teil eines „laufenden Engagements für Kontosicherheit“ zu sein und dass sie dasselbe von allen Nutzern verlangen.

“Unsere Aufzeichnungen zeigen, dass seit Ihrer letzten 2FA-Aktualisierung über 12 Monate vergangen sind,” erklärte die Phishing‑E‑Mail und fügte hinzu, dass Nutzer mit “veralteten 2FA-Anmeldedaten ab dem 10. September 2025 vorübergehend gesperrt werden, um unbefugten Zugriff zu verhindern”.

Die gleiche E‑Mail wurde ebenfalls verwendet, um andere Paket-Maintainer und Entwickler anzugreifen.

Angesichts der breiten Nutzung der betroffenen Pakete hätte dies zu einem größeren Vorfall führen können, wenn es nicht so schnell gehandhabt worden wäre.

Wie Charlie Erickson von Aikido Security in einem Bericht feststellte, haben unzählige Websites schweren Schaden durch diesen Angriff vermieden, da die npm-Pakete ein Code‑Snippet enthielten, das im Client einer Website ausgeführt würde.

“Diese Malware ist im Wesentlichen ein browserbasierter Interzeptor, der sowohl Netzwerkverkehr als auch Anwendungs‑APIs kapert,” sagte er in seiner Angriffsanalyse. “Was sie gefährlich macht, ist, dass sie auf mehreren Ebenen arbeitet: Inhalte, die auf Websites angezeigt werden, verändern, API‑Aufrufe manipulieren und beeinflussen, was die Apps der Nutzer zu signieren glauben. Selbst wenn die Oberfläche korrekt erscheint, kann die zugrunde liegende Transaktion umgeleitet werden im Hintergrund.”

Der bösartige Code wurde entwickelt, um Krypto zu stehlen. Der Angreifer scannt Zeichenketten nach Krypto‑Wallet‑Adressen, wodurch diejenigen, die an Krypto‑bezogenen Anwendungen arbeiten, gefährdet werden.

Die Malware arbeitete leise im Browser, ohne dass der Nutzer es bemerkte, überschreibt Wallet‑Adressen und leitet Gelder zu Konten um, die vom Angreifer kontrolliert werden. Sie kapert und manipuliert direkt Transaktionen über Bitcoin (BTC ), Ethereum (ETH ), Solana (SOL ), Tron (TRX ), Litecoin (LTC ) und Bitcoin Cash (BCH ) auf einem kompromittierten System.

Um dies zu tun, überwachte der bösartige Code Browser‑Application‑Programming‑Interfaces wie fetch und Wallet‑Schnittstellen wie window.ethereum.

Der bösartige Code “interceptiert stillschweigend Krypto‑ und Web3‑Aktivität im Browser, manipuliert Wallet‑Interaktionen und überschreibt Zahlungsziele, sodass Gelder und Genehmigungen umgeleitet werden zu vom Angreifer kontrollierten Konten, ohne dass dem Nutzer offensichtliche Anzeichen auffallen,” sagte Erickson.

Nachdem sie fertig ist, verwischt die Malware ihre Spuren, bleibt jedoch im Hintergrund aktiv, um zukünftige Transaktionen im Netzwerk des ahnungslosen Opfers abzufangen.

Angesichts der Schwere des Angriffs warnte Charles Guillemet, der CTO des Hardware‑Wallet‑Anbieters Ledger, Krypto‑Nutzer, beim Bestätigen von On‑Chain‑Transaktionen vorsichtig zu sein. Die betroffenen Pakete, wie er im Beitrag feststellte, wurden bereits über 1 Milliarde Mal heruntergeladen. 

Der groß angelegte Lieferkettenangriff, den er mit der Community teilte, zielt auf Krypto‑Software‑Wallets mit der bösartigen Nutzlast \”stilles Austauschen von Krypto‑Adressen in Echtzeit, um Gelder zu stehlen\” 

“Wenn Sie ein Hardware‑Wallet verwenden, achten Sie auf jede Transaktion, bevor Sie signieren, und Sie sind sicher. Wenn Sie kein Hardware‑Wallet verwenden, verzichten Sie vorerst auf jegliche On‑Chain‑Transaktionen.”

– Guillemet

Unterdessen ging 0xngmi, der pseudonyme Gründer von DefiLlama, einer Krypto‑Analyseplattform, auf X und teilte mit, dass “der effektive Wirkungsbereich viel kleiner ist als ‘alle Websites'”, da nur jene Projekte gefährdet sein könnten, die nach der Veröffentlichung des mit Malware infizierten npm-Pakets aktualisiert wurden. Trotzdem fügte er hinzu: “Es ist einfach sicherer, Krypto‑Websites zu meiden, bis das Problem behoben ist und die schlechten Pakete bereinigt wurden.”

Am Ende konnten die Hacker aus einem solch massiven Lieferkettenangriff nur Kryptowährungen im Wert von 50 $ stehlen. Die 50 $ umfassen Ether und eine Reihe von Meme‑Coins wie Brett und Andy, unter anderem.

Nur 50 $ erhalten?

 

Allerdings war es mehr Glück als alles andere, da die Krypto‑Intelligence‑Plattform Security Alliance auf X bemerkte:

“Das hätte viel schlimmer sein können. Ein heimlich eingesetztes Backdoor, das Entwickler‑Maschinen mit Fokus auf Persistenz anvisierte, hätte möglicherweise unbemerkt bleiben können, wer weiß wie lange.”

Seitdem haben viele Krypto‑Anwendungen wie Aave, Uniswap, Ledger, Jupiter, MetaMask, Phantom, Blast und andere ihre Nutzer darüber informiert, dass sie vom npm‑Angriff sicher sind.

Obwohl der Angriff gescheitert ist, ist er eine eindringliche Erinnerung für Entwickler, dass sie für maximale Sicherheit über ihren eigenen Code hinausgehen müssen. Selbst vertrauenswürdige und weit verbreitete Software‑Abhängigkeiten können jederzeit kompromittiert werden.

Hier müssen Coding‑Plattformen wie GitHub und npm mehr tun, um die Sicherheit breit genutzter Pakete zu gewährleisten.

“Beliebtere Pakete sollten eine Bestätigung erfordern, dass sie aus vertrauenswürdiger Herkunft stammen und nicht einfach zufällig von irgendeinem Ort im Internet.”

– Eriksen

Eine der besten Dinge, die npm tun könnte

 

Komprmisse von Code‑Repositories können für Entwickler extrem verheerend sein, da sie infolgedessen ihre gesamten Projekte vollständig aufgeben könnten.

Der Vorfall beweist, wie vernetzt und anfällig das heutige Software‑Ökosystem für Ausbeutung ist. Ein einziger kompromittierter Account kann Angreifern enorme Reichweite verschaffen, weshalb es entscheidend ist, in jedem Schritt des Entwicklungsprozesses verbesserte Sicherheitsmaßnahmen für die Lieferkette zu implementieren.

Schutz vor der schnell wachsenden Bedrohung durch Malware 

Da Malware‑Bedrohungen zunehmen und die Angriffe immer ausgefeilter und gezielter werden, ist es wichtig, dass Nutzer aufgeklärt sind und auf allen Plattformen stets wachsam bleiben.

Bösartige Software oder Malware ist tatsächlich eine der häufigsten Arten von Cyberangriffen. Hier entwickeln Angreifer einen Softwarecode oder ein Computerprogramm mit der Absicht, Zugriff zu erlangen oder Schaden am Computer des Opfers zu verursachen, ohne dass das Opfer weiß, dass es kompromittiert wurde. 

Jedes Jahr finden weltweit Milliarden von Malware‑Angriffen auf allen Arten von Geräten und Betriebssystemen statt. Mit Malware halten Cyberkriminelle nicht nur Geräte, sondern ganze Unternehmensnetzwerke als Geisel.

Durch unbefugten Zugriff auf die Geräte des Opfers stehlen Angreifer digitale Vermögenswerte und sensible Daten, einschließlich Anmeldedaten, Kreditkartennummern und anderen wertvollen Informationen. Malware‑Angriffe zielen zunehmend auf Unternehmen ab, da diese große Mengen persönlicher Daten besitzen, die Hacker ausnutzen können, um hohe Geldsummen zu erpressen. 

Daten zeigen, dass die Mehrheit (59 %) der Organisationen im Jahr 2024 einem solchen Angriff ausgesetzt war. Selbst kleinere Unternehmen sind nicht sicher, wobei 47 % von ihnen im letzten Jahr von Ransomware getroffen wurden. Gleichzeitig stieg die durchschnittliche Lösegeldzahlung um 500 % auf 2 Millionen $ während dieses Zeitraums. 

Die durchschnittlichen Kosten für die Wiederherstellung nach einem Malware‑Angriff sind ebenfalls auf bis zu 2,73 Millionen $ gestiegen. Eine der größten Bedrohungen, denen das Internet derzeit ausgesetzt ist, ist Malware, die in verschiedenen Formen auftreten kann, mit dem alleinigen Ziel, Computersysteme und deren Nutzer zu schädigen.

Viren, Ransomware, Trojaner, Würmer, Spyware, Adware und Krypto‑Jacking sind verschiedene Arten von Malware. All diese wurden entwickelt, um unbefugten Zugriff auf ein Netzwerk zu erlangen oder Computersysteme zu beschädigen.

Bei den Ursachen von Angriffen ist das größte Problem mit 32 % die Ausnutzung von Schwachstellen durch Angreifer, gefolgt von kompromittierten Anmeldedaten (29 %) und dann bösartigen E‑Mails (23 %). 

Jetzt, wie kann man sich vor dieser allgegenwärtigen Bedrohung schützen? Der erste und einfachste Schritt ist, Computer und Software stets auf dem neuesten Stand zu halten. Außerdem ist es entscheidend, nicht wahllos im Internet zu klicken. Besonders als Krypto‑Nutzer sollte man Links misstrauisch gegenüberstehen und keinesfalls etwas herunterladen, bei dem man sich nicht sicher ist.

Das gilt ebenso für E‑Mail‑Anhänge. Seien Sie vorsichtig beim Öffnen verdächtiger E‑Mails und versuchen Sie, das Teilen von Dateien auf ein Minimum zu beschränken. Es ist ratsam, Antivirensoftware auf Ihrem Gerät zu installieren.

Obwohl unvermeidlich, können Organisationen sich ebenfalls auf Malware‑Angriffe vorbereiten, indem sie ihre Abwehr stärken. Die einfachsten Methoden hierfür sind die Verwendung starker Passwörter, Multi‑Faktor‑Authentifizierung und VPNs, die Einzelpersonen ebenfalls nutzen können, um sich effektiver zu schützen.

Organisationen müssen Geräte kontinuierlich auf Anzeichen verdächtiger Aktivitäten überwachen, Schwachstellen bewerten und Penetrationstests durchführen. Backups sensibler Daten auf vom Netzwerk getrennten Laufwerken helfen hingegen bei der Wiederherstellung nach Malware‑Angriffen.

Mitarbeiter müssen geschult werden, solche Angriffe besser zu erkennen und schnell zu reagieren, indem sie Incident‑Response‑Pläne haben und wissen, wen sie bei Verdacht auf eine Malware‑Bedrohung kontaktieren müssen.

Durch die Nutzung der Zero‑Trust‑Netzwerkarchitektur können Unternehmen sicherstellen, dass niemand auf Daten oder Assets zugreifen kann, die er nicht erhalten sollte. Im Zero‑Trust‑Modell wird den Benutzern nie vertraut und sie werden stets verifiziert.

Im heutigen hyperdigitalen Leben können diese Praktiken dabei helfen, sich vor den Gefahren einer zunehmend vernetzten Welt zu schützen.

Beim Schutz vor bösartigen Paketen gelten die allgemeinen Malware‑Sicherheitsempfehlungen auch für npm‑Angriffe, jedoch gibt es natürlich zusätzliche, spezifische Vorsichtsmaßnahmen, die man ergreifen sollte, da das Ökosystem aufgrund seiner offenen Natur, der intensiven Wiederverwendung kleiner Pakete und großer Abhängigkeitsbäume besonders verwundbar ist.

Um sich vor dieser ernsthaften Bedrohung zu schützen, sollten Sie stets prüfen, ob das Paket vor der Installation vertrauenswürdig ist. Die Überprüfung der Paketintegrität stellt sicher, dass Ihr Abhängigkeitsbaum nicht manipuliert wurde. 

Wenn Sie nach Anzeichen von Unrechtmäßigkeit suchen, prüfen Sie neben Quelle und Eigentümerschaft des Pakets auch Änderungen an den Maintainer*innen. Sie sollten zudem untersuchen, welche Funktionen die Pakete haben und ob sie wirklich benötigt werden.

Verwenden Sie Sicherheitstools, die kontinuierlich nach neuen Bedrohungen suchen und umsetzbare Ratschläge zur Minderung der Situation geben. npm‑audit‑Checks können für bekannte Schwachstellen in den Projektabhängigkeiten ausgeführt werden. Die Implementierung automatisierter Sicherheitsscans vor dem Deployment stellt sicher, dass nur geprüfter und genehmigter Code in die Produktion gelangt.

Um sich vor dem neuesten Malware‑Angriff zu schützen, müssen Sie betroffene Pakete über die Overrides‑Funktion in package.json auf ihre sichersten Versionen festlegen. 

Führen Sie npm audit aus oder nutzen Sie Software‑Composition‑Analysis‑(SCA‑)Tools, um nach betroffenen Versionen in Ihrem Abhängigkeitsbaum zu suchen. Überwachen Sie auf Anzeichen von Kompromittierungen (IoCs), indem Sie Ihre Build‑Logs, Entwicklerumgebungen und ausgehenden Datenverkehr auf verdächtige Aktivitäten prüfen.

Klicken Sie hier für eine Liste der fünf besten Unternehmen, die sich gegen Cyberangriffe gewehrt haben.

Abschließende Gedanken: Stärkung von Open‑Source‑Abhängigkeiten

Die Bedrohungen im Internet steigen ständig und werden immer raffinierter. 

Da Angreifer zu neuen Angriffsvektoren übergehen und unterfinanzierte Projekte ins Visier nehmen, wird es für Entwickler, Unternehmen und Nutzer immer wichtiger, nicht zu warten, bis die Bedrohung sichtbar wird, bevor sie handeln, sondern proaktive Maßnahmen zu ergreifen, weil ein schwaches Glied ein gesamtes System lahmlegen kann.

Indem wir über aufkommende Bedrohungen informiert bleiben und kontinuierlich die Software‑Lieferketten prüfen sowie Bedrohungen überwachen, können wir uns wirklich vor den sich ständig weiterentwickelnden Cyber‑Risiken schützen.

Klicken Sie hier für eine Liste der fünf besten öffentlichen Unternehmen, die Cyber‑Angreifer bezahlt haben.

Gaurav begann 2017 mit dem Handel von Kryptowährungen und ist seitdem in den Crypto-Raum verliebt. Sein Interesse an allem, was mit Kryptowährungen zu tun hat, hat ihn zu einem Schriftsteller spezialisiert auf Kryptowährungen und Blockchain gemacht. Bald fand er sich dabei wieder, mit Krypto-Unternehmen und Medienunternehmen zu arbeiten. Er ist auch ein großer Batman-Fan.