Größter Supply-Chain-Angriff in der Geschichte von npm

Die Sicherheitsforscher von Check Point Software Technologies arbeiten den großen npm-Diebstahl auf: Am 8. September 2025 erlebte das Javascript-Ökosystem den größten Supply-Chain-Angriff in der Geschichte von npm. Durch eine gezielte Phishing-Kampagne wurde das Konto eines bekannten Maintainers kompromittiert. In der Folge schleusten die Angreifer Malware mit Krypto-Stealer-Funktion in mehr als 18 zentrale npm-Pakete ein. Diese Pakete erreichen zusammen über 2 Milliarden wöchentliche Downloads und beeinflussen Millionen von Anwendungen weltweit, von Hobby-Projekten bis hin zu Enterprise-Systemen.

Beitrag von Josh Junon zum Vorfall.

Nach Bekanntwerden des Vorfalls entfernte das npm-Team die kompromittierten Versionen, darunter das Debug-Paket mit allein mehr als 357 Millionen Downloads pro Woche.

Initiale Kompromittierung durch Phishing

Der Angriff begann mit einer gefälschten E-Mail an Josh Junon alias Qix. Die Nachricht kam von support@npmjs.help, einer Domain, die drei Tage zuvor registriert wurde. Unter Zeitdruck gab Junon seine Zugangsdaten inklusive 2FA ein und ermöglichte so den vollständigen Zugriff auf sein npm-Konto. Innerhalb weniger Minuten veröffentlichten die Angreifer manipulierte Versionen seiner Pakete. Weitere Maintainer erhielten ähnliche Phishing-Mails.

Die Phishing-E-Mail. 

Infrastruktur der Angreifer

Die Domain npmjs.help leitete auf die IP 185.7.81.108 um. Der Phishing-Link führte zu einer präparierten Seite, die Inhalte aus von den Angreifern kontrollierten BunnyCDN-Buckets lud. Ein eingebettetes Skript stahl Benutzername, Passwort und 2FA-Codes und leitete sie an websocket-api2.publicvm.com weiter.

 

Betroffene Pakete und Malware-Verhalten

Unter den kompromittierten Paketen befinden sich zentrale Bibliotheken wie debug, chalk, supports-color, ansi-styles oder strip-ansi. Viele dieser Module sind tief in die JavaScript-Ökosysteme integriert und verursachen dadurch einen großflächigen Kollateralschaden.

Die Schad-Software war auf Browsern basiert und zielte auf Krypto-Währungen.

  • Passive-Address-Replacement: Wallet-Adressen im Netzwerkverkehr wurden durch täuschend ähnliche Adressen der Angreifer ersetzt.
  • Active-Transaction-Hijacking: Transaktionen in Browser-Wallets wie Metamask oder Phantom wurden in Echtzeit manipuliert, während dem Nutzer weiterhin die korrekte Zieladresse angezeigt wurde.

Die Malware nutzte verschleierten Code, setzte auf Levenshtein-Distanz zur Täuschung und baute auf APIs wie fetch, XMLHttpRequest und window.ethereum.request. Zielwährungen waren Bitcoin, Ethereum, Tron, Litecoin und Bitcoin Cash.

Info: Den zeitlichen Ablauf des Angriffs sowie alle Details inklusive IOCs finden sich im Check-Point-Blog: The Great NPM Heist – September 2025

#CheckPoint