Supply-Chain-Attacke auf npm-Repository Angreifer schleusen Malware in weit verbreitete Open-Source-Pakete

Von Sebastian Gerstl 3 min Lesedauer

Anbieter zum Thema

Eine Supply-Chain-Attacke gewaltigen Ausmaßes hat die JavaScript-Community erschüttert: Angreifern ist es gelungen, Schadcode in fast zwei Dutzend populäre Open-Source-Pakete einzuschleusen, die gemeinsam wöchentlich auf 2 Millionen Downloads kommen.

Ein erfolgreicher Phishing-Angriff erschüttert das Javascript-Ökosystem. Eine Malware hat ihren Weg in mindestens 18 via npm verbreitete Open-Source-Pakete gefunden, die es wöchentlich auf über zwei Millionen Downloads bringen.(Bild:  frei lizenziert /  Pixabay)
Ein erfolgreicher Phishing-Angriff erschüttert das Javascript-Ökosystem. Eine Malware hat ihren Weg in mindestens 18 via npm verbreitete Open-Source-Pakete gefunden, die es wöchentlich auf über zwei Millionen Downloads bringen.
(Bild: frei lizenziert / Pixabay)

Ein groß angelegter Supply-Chain-Angriff auf das npm-Ökosystem hat zentrale Komponenten der JavaScript-Entwicklung kompromittiert. Mehr als 20 weitverbreitete Pakete wurden mit Schadcode infiziert – betroffen sind unter anderem Chalk, Debug, ansi-regex und Strip-ansi. Gemeinsam erzielen diese Bibliotheken mehr als zwei Millionen Downloads pro Woche. Es handelt sich um einen der bislang größten bekannten Angriffe auf die Software-Lieferkette im Open-Source-Bereich.

Gezielter Angriff auf 2-Faktor-Authorisierung eines Co-Maintainers

Ausgangspunkt war ein erfolgreicher Phishing-Angriff auf den Entwickler Josh Junon, bekannt unter dem Pseudonym „Qix“. Die Angreifer verschafften sich Zugriff auf seinen npm-Account, indem sie eine täuschend echte E-Mail im Namen von npm verschickten. Unter dem Vorwand einer notwendigen Sicherheitsaktualisierung wurde Junon dazu gebracht, seine Zugangsdaten inklusive Zwei-Faktor-Authentifizierung preiszugeben.

Innerhalb kürzester Zeit nutzten die Angreifer den kompromittierten Account, um manipulierte Versionen von 18 bis 20 Paketen hochzuladen. Die Schadsoftware injizierte sich in Browser-Umgebungen und überwachte dort gezielt Netzwerkverkehr im Zusammenhang mit Kryptowährungstransaktionen. Sobald eine Zahlung erkannt wurde, ersetzte der Code unbemerkt die Zieladresse durch eine vom Angreifer kontrollierte Wallet.

Gezielte Einschleusing von Malware-Code zum heimlichen Mining von Kryptowährungen

Der Angriffsvektor war dabei technisch ausgefeilt. Laut einer Analyse von Aikido Security und Socket setzte die Malware unter anderem auf das „Hooking“ von JavaScript-Funktionen wie fetch und XMLHttpRequest, um sich tief in Webanwendungen einzuklinken. Zielwährungen waren Bitcoin, Ethereum, Solana, Tron, Litecoin und Bitcoin Cash.

Die unmittelbaren finanziellen Schäden sind bislang gering. Laut Analysen von Arkham Intelligence flossen Kryptowährungen im Wert von etwa 500 US-Dollar an die Angreifer. Sicherheitsexperten warnen jedoch, dass die Auswirkungen deutlich gravierender hätten ausfallen können – insbesondere, wenn anstelle von Krypto-Umleitungen etwa Remote Code Execution oder Ransomware implementiert worden wäre.

Bemerkenswert ist die hohe Verbreitung der kompromittierten Pakete. Viele davon bilden nicht nur die Grundlage zahlreicher Anwendungen, sondern sind auch tief in andere Abhängigkeiten verschachtelt. Die Folge: Selbst Projekte, die die manipulierten Bibliotheken nicht direkt einbinden, könnten indirekt betroffen sein. Socket spricht in diesem Zusammenhang von einer erheblichen „Blast Radius“.

Laut Socket wurden die folgenden Pakete von dem Malware-Angriff getroffen:

  • backslash@0.2.1
  • chalk@5.6.1
  • chalk-template@1.1.1
  • color-convert@3.1.1
  • color-name@2.0.1
  • color-string@2.1.1
  • wrap-ansi@9.0.1
  • supports-hyperlinks@4.1.1
  • strip-ansi@7.1.1
  • slice-ansi@7.1.1
  • simple-swizzle@0.2.3
  • is-arrayish@0.3.3
  • error-ex@1.3.3
  • has-ansi@6.0.1
  • ansi-regex@6.2.1
  • ansi-styles@6.2.2
  • supports-color@10.2.1
  • proto-tinker-wc@1.8.7
  • debug@4.4.2

Nach einer Schätzung des des Sicherheitsforschers Kevin Beaumont kommen die betroffenen Repositorien zusammen auf über 2,6 Millionen Downloads pro Woche.

Angerichteter Schaden kaum zu ermessen

Der Vorfall wirft erneut grundlegende Fragen zur Sicherheit der Open-Source-Lieferkette auf. Zwar waren alle betroffenen Versionen binnen Stunden aus dem npm-Repository entfernt, doch das Schadpotenzial ist angesichts der exponentiellen Verbreitung kaum zu beziffern. Entwickler:innen sollten umgehend prüfen, ob sie betroffene Versionen im Einsatz hatten und ihre Systeme auf verdächtige Aktivitäten untersuchen.

Der Angriff reiht sich in eine Serie weiterer Supply-Chain-Vorfälle ein. Zeitgleich wurden bei einer separaten Attacke GitHub-Tokens und andere Authentifizierungsdaten in über 800 Repositories kompromittiert. Zudem berichtete das Unternehmen Wiz über eine Kampagne namens „s1ngularity“, bei der Angreifer GitHub-Repositories privater Organisationen öffentlich machten, um Zugang zu weiteren Daten zu erhalten.

Der Angriff unterstreicht, dass selbst als etablierte geltende Sicherheitsmaßnahmen wie Zwei-Faktor-Authentifizierung kein Garant für Schutz sind - schon gar nicht gegen Spearphising oder Social Engineering Attacken. Infrastrukturen, die auf freiwilligen Maintainer:innen basieren, sind besonders anfällig – gerade, wenn zentrale Schlüsselpersonen ins Visier geraten. Die Community steht vor der Herausforderung, nicht nur technische, sondern auch organisatorische Resilienz gegenüber gezielten Social-Engineering-Angriffen zu stärken.(sg)

Jetzt Newsletter abonnieren

Verpassen Sie nicht unsere besten Inhalte

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung. Die Einwilligungserklärung bezieht sich u. a. auf die Zusendung von redaktionellen Newslettern per E-Mail und auf den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern (z. B. LinkedIn, Google, Meta).

Aufklappen für Details zu Ihrer Einwilligung

(ID:50543544)