Skip to main content

npm-Supply-Chain-Angriff durch Kompromittierung eines Open-Source-Maintainers

Artikel von
Introducing open source security runtime monitoring

8. September 2025

0 Min. Lesezeit

Am Montag, dem 8. September, wurde der hoch angesehene Open-Source-Entwickler ~qix durch eine Phishing-E-Mail kompromittiert. ~qix ist Autor und Maintainer zahlreicher beliebter npm-Pakete und tappte in diese Falle, nachdem er auf eine Nachricht von der E-Mail-Adresse support [at] npmjs [dot] help geantwortet hatte.

Dadurch übernahm der Angreifer sein npm-Konto und erhielt Zugriff, um bösartige Versionen von Paketen zu veröffentlichen, für die Qix privilegierte Zugriffsrechte hatte.

Update vom 9. September: Neue betroffene npm-Pakete hinzugefügt.

Update vom 10. September: Neues betroffenes npm-Paket hinzugefügt.

Was ist passiert?

Der Open-Source-Entwickler fiel auf eine Phishing-E-Mail herein, über die ein Angreifer Zugriff auf sein npm-Konto erhielt. So konnte der Angreifer schädlichen Code in zahlreiche äußerst beliebte npm-Pakete einschleusen und einen Supply-Chain-Angriff ausführen.

Bislang ist nur dieser Open-Source-Maintainer als Ziel bekannt. Es könnten jedoch weitere Entwickler mit hohem Zielprofil betroffen sein, über deren Fälle noch nicht berichtet wurde.

Wie wurde der Angriff ausgeführt?

Der Angreifer nutzte Social Engineering, um eine Phishing-E-Mail an einen sehr aktiven Open-Source-Entwickler zu senden. Die E-Mail brachte den Entwickler dazu, sich zu authentifizieren und Sicherheitskontrollen zu umgehen, wodurch der Angreifer Zugriff auf das Konto erhielt. Anschließend konnte der Angreifer Malware in beliebige beliebte Open-Source-Pakete einschleusen, für die der Entwickler über privilegierte Berechtigungen verfügte, und neue, mit Malware versehene Versionen dieser Pakete veröffentlichen.

Wird der schädliche Code in einem Browser ausgeführt, überwacht er den Netzwerkverkehr und zielt auf Krypto-Transaktionen ab. Der in die Pakete eingeschleuste Code aktiviert einen Hook, sobald eine Web3-Wallet vorhanden ist. Nach der Aktivierung fängt der Code alle Transaktionen mit einem ETH-Wert ab, ändert sie und leitet sie an eine andere Adresse weiter, die vermutlich vom Angreifer kontrolliert wird. Außerdem überwacht der schädliche Code Swap- und Transfer-Transaktionen, um sie zu manipulieren.

Welche Daten waren das Ziel?

Der Angreifer hatte es auf Krypto-Wallets in den Browsern der Nutzer abgesehen, um Guthaben abzuschöpfen. Dazu leitete er vom Nutzer signierte Transaktionen oder Freigaben an seine eigenen Adressen um. Es wird davon ausgegangen, dass der Angriff derzeit keine weiteren Daten zum Ziel hatte.

Betroffene Pakete und Versionen

Zeitlicher Ablauf des Angriffs

~13:00 UTC: Erste Gruppe kompromittierter Pakete entdeckt und veröffentlicht

14:16 UTC: Ein Entwickler wird auf der Social-Media-Plattform Blue Sky auf eine mögliche Kontokompromittierung hingewiesen

15:16 UTC: Entwickler bestätigt die Kontokompromittierung in einem Beitrag auf Blue Sky und informiert npm über den Vorfall

17:17 UTC: npm bestätigt den Sicherheitsvorfall und arbeitet daran, die kompromittierten Pakete zu entfernen

19:59 UTC: npm meldet dem Entwickler, dass alle betroffenen Paketversionen entfernt wurden

Indicators of Compromise (IoCs)

  • Der GitHub-Nutzer SindreSorhus hat einen schnellen Befehl veröffentlicht, mit dem Sie prüfen können, ob diese Malware in Ihrem Abhängigkeitsbaum vorkommt:

brew install rg

rg -uu --max-columns=80 --glob '*.js' _0x112fa8 
  • Wenn Sie Maintainer eines Pakets sind, eine E-Mail von support [at] npmjs [dot] help erhalten und die darin enthaltenen Anweisungen befolgt haben, sind Sie wahrscheinlich ebenfalls betroffen.

Was sollten Sie tun?

  1. Der Vorfall dauert an. Verfolgen Sie daher die Updates zu diesem Beitrag und die Neuigkeiten des Entwicklers Qix auf GitHub.

  2. Prüfen Sie mithilfe des von Sindre Sorhus veröffentlichten Skripts, ob die Malware in Ihrem Abhängigkeitsbaum vorkommt.

Snyk-Nutzer

Mit Snyk SCA und Snyk SBOM können Sie Projekte organisationsweit finden und überwachen.

  1. Wenn seit der Veröffentlichung der Warnhinweise kein Test ausgeführt wurde, starten Sie einen erneuten Test.

  2. CLI-Projekte sollten erneut überwacht werden, damit Ihr aktueller Abhängigkeitsbaum erkannt wird.

Snyk-Berichte

Für diese Gruppe von Sicherheitslücken gibt es einen Bericht in Snyks Liste „Featured Zero-Day“. Wenn Sie einen Enterprise-Tarif haben, können Sie über „Reports“ in der linken Navigation auf diesen Bericht zugreifen (Berichte sind sowohl auf Gruppen- als auch auf Organisationsebene verfügbar). Standardmäßig wird der Bericht „Issues Detail“ angezeigt. Über das Dropdown-Menü „Change Report“ neben dem Berichtstitel können Sie jedoch „Featured Zero-Day“ auswählen. Wählen Sie dann auf der nächsten Seite im Dropdown-Menü „Zero-Day“ den Bericht „npm Phishing Supply Chain Attack“ aus.

Dashboard für Zero-Day-Schwachstellenberichte, gefiltert nach einem npm-Phishing-Angriff auf die Supply Chain, mit null offenen und drei behobenen Problemen

Zu Supply-Chain-Angriffen

Dieser Vorfall reiht sich in mehrere jüngste Sicherheitsvorfälle dieser Art ein. Bereits zuvor haben wir Angriffe auf CI-Systeme und Maintainer-Konten erlebt, durch die Angreifer die Kontrolle über Releases übernehmen konnten:

Vereinbaren Sie eine Live-Demo von Snyk für Open-Source-Sicherheit

Sprechen Sie mit unseren Sicherheitsexperten und erfahren Sie, wie Snyk Ihnen hilft, Open Source sicher zu nutzen