Milliarden Downloads betroffen: Supply-Chain-Angriff auf NPM-Pakete

In diesem Beitrag möchten wir einerseits unsere Kundinnen und Kunden entwarnen, denn die Coinfinity-Systeme sind von der Attacke nicht betroffen, und andererseits möchten wir euch den Vorfall etwas genauer schildern.

Gestern wurde eine der größten Supply-Chain-Attacken in der Geschichte des JavaScript-Ökosystems bekannt. Mehrere populäre NPM-Pakete wie chalk, strip-ansi und color-convert wurden durch eingeschleusten schädlichen Code kompromittiert. Gemeinsam erreichen diese Bibliotheken mehr als eine Milliarde wöchentliche Downloads.

Coinfinity-Systeme sind sicher ✅

An dieser Stelle möchten wir umgehend unsere Kundinnen und Kunden beruhigen:

  • Die Coinfinity App ist nicht betroffen. Sie wurde nicht in JavaScript entwickelt.
  • Auch das Coinfinity Web-Portal ist sicher. Zwar basiert es, wie jede Webapplikation, auf JavaScript, jedoch hat unsere Überprüfung eindeutig bestätigt, dass die infizierten Bibliotheken zu keinem Zeitpunkt eingebunden waren.
https://x.com/coinfinity/status/1965316052587512128

Was ist passiert?

Ein Angreifer erlangte Zugriff auf den NPM-Account des bekannten Entwicklers qix. Über diesen wurden manipulierte Versionen zahlreicher Bibliotheken veröffentlicht. Dazu gehörten zentrale Bausteine des JavaScript-Ökosystems, die tief in die Abhängigkeiten vieler Projekte eingebunden sind.

Die Malware war ein Crypto-Clipper, der zwei Angriffspfade nutzte:

  1. Adressaustausch im Browser: Die nativen Funktionen fetch und XMLHttpRequest wurden überschrieben, um alle ausgehenden Datenströme zu manipulieren. Wallet-Adressen wurden dabei durch möglichst ähnlich aussehende Angreifer-Adressen ersetzt. Für die Auswahl nutzte der Code den Levenshtein-Algorithmus, sodass die neue Adresse für das menschliche Auge schwer zu unterscheiden war.
  2. Gezieltes Hijacking von MetaMask: Erkannte die Malware eine Wallet wie MetaMask, wurden Transaktionen noch vor dem Signieren verändert und die Zieladresse durch die des Angreifers ersetzt.

Warum ist der Angriff so gravierend?

Die Reichweite ist enorm. chalk allein zählt rund 300 Millionen Downloads pro Woche, strip-ansi über 260 Millionen. Da diese Pakete indirekt in zahllosen Projekten landen, waren potenziell unzählige Webanwendungen betroffen, darunter auch Wallets und andere Finanzsoftware.

Zum Glück war die Attacke nur wenige Stunden aktiv. Anders als frühere, über längere Zeit unentdeckt gebliebene Angriffe, fiel dieser durch Build-Fehler und auffälliges Verhalten schnell auf und wurde gestoppt. Erste Analysen zeigen zudem, dass die eingesetzten Bitcoin-Adressen bislang leer sind. Offenbar konnte noch kein nennenswerter Schaden angerichtet werden.

Was lernen wir daraus?

Dieser Vorfall zeigt erneut die Risiken von Software-Supply-Chains, insbesondere in einem Ökosystem wie JavaScript:

  • Hardware-Wallets bleiben ein wichtiges Sicherheitsinstrument, auch wenn sie gegen manipulierte Zieladressen im Browser nicht in jedem Fall helfen können.
  • Entwickler sollten Abhängigkeiten regelmäßig prüfen, Lockfiles verifizieren und nach Möglichkeit auf geprüfte Versionen pinnen.
  • Nutzer sollten beim Versenden von Kryptowährungen Adressen mehrfach kontrollieren und diese idealerweise aus unabhängigen Quellen verifizieren.

Fazit

Der Angriff war extrem weitreichend, aber zeitlich begrenzt. Er erinnert uns daran, wie fragil offene Software-Lieferketten sein können. Für Coinfinity-Kunden gibt es klare Entwarnung: Unsere Systeme sind nicht betroffen.

Gleichzeitig nehmen wir den Vorfall als Mahnung, die Bedeutung von sicherer Infrastruktur, Transparenz und unabhängiger Kontrolle noch stärker zu betonen.