Supply-Chain-Angriff: NPM-Pakete mit Milliarden von Downloads kompromittiert

Am Montag hat sich einer der wohl größten bisher bekannten Supply-Chain-Angriffe auf das Javascript-Ökosystem ereignet. Einem Angreifer ist es gelungen, in mehrere prominente NPM-Pakete mit zusammen mehr als 2 Milliarden Downloads pro Woche Schadcode einzuschleusen. Entwickler sollten dringend prüfen, ob sie eines der betroffenen Pakete im Einsatz haben, und gegebenenfalls weitere Sicherheitsmaßnahmen ergreifen.
Details zu dem Vorfall sind in einem Blogbeitrag von Socket(öffnet im neuen Fenster) zu finden. Seinen Ursprung nahm der Vorfall demnach in einem erfolgreichen Phishing-Angriff auf einen unter dem Namen Qix bekannten Maintainer der betroffenen NPM-Pakete. Dieser bekannte sich auf Bluesky(öffnet im neuen Fenster) und Github(öffnet im neuen Fenster) zu seinem Fehler und gestand, er sei unachtsam gewesen.
Zudem schrieb Qix, die Phishing-Mail habe erstaunlich authentisch ausgesehen. Ein Screenshot von der bei mehreren Entwicklern eingetroffenen Nachricht kursiert bereits in sozialen Netzwerken(öffnet im neuen Fenster) und auf Github(öffnet im neuen Fenster) . Die Empfänger wurden darin aufgefordert, ihre Zwei-Faktor-Authentifizierung (2FA) zu "aktualisieren" – per Klick auf einen in der E-Mail enthaltenen Link. "Ich hätte besser aufpassen sollen" , erklärte Qix reumütig.
Malware-Verbreitung über 18 NPM-Pakete
Durch die Übernahme des Kontos von Qix konnte der Angreifer Schadcode in 18 NPM-Pakete einschleusen, die nach Zählung des Sicherheitsforschers Kevin Beaumont(öffnet im neuen Fenster) zusammen auf über 2,6 Milliarden Downloads pro Woche kommen. Dazu gehören einige besonders verbreitete Javascript-Bibliotheken wie ansi-styles, debug, color-name, color-convert, wrap-ansi, ansi-regex, supports-color, strip-ansi und chalk, von denen jede für sich mehr als 100 Millionen Downloads pro Woche erzielt.
Eine vollständige Liste der betroffenen NPM-Pakete inklusive der Nummer der jeweils kompromittierten Version ist im Github-Kommentar von Qix(öffnet im neuen Fenster) zu finden. Zwar wurden alle betroffenen Versionen innerhalb weniger Stunden wieder vom Netz genommen, angesichts der hohen Downloadzahlen der Pakete ist jedoch davon auszugehen, dass der eingeschleuste Schadcode bereits seinen Weg auf unzählige Entwicklersysteme gefunden hat.
Schaden bisher überschaubar
Wer eines der betroffenen Pakete im Einsatz hat, sollte auf seinen Systemen nach Hinweisen auf eine mögliche Kompromittierung suchen. Ausgeliefert wurde in diesem Fall eine Malware, die auf infizierten Systemen eingeleitete Krypto-Transaktionen auf Wallet-Adressen des Angreifers umleitet. Weitere Details dazu sind in der Analyse der Socket-Forscher(öffnet im neuen Fenster) zu finden. Der Angreifer hatte es demnach auf mehrere Krypto-Token wie BTC, ETH, TRON, LTC, BCH und SOL abgesehen.
Allzu viele Kryptowerte sind bei dem Angreifer jedoch offenkundig noch nicht angekommen. Bei Arkham Intelligence(öffnet im neuen Fenster) lassen sich die Wallet-Adressen des Angreifers nachverfolgen. Bisher scheinen dort lediglich Kryptowährungen im Wert von rund 500 US-Dollar eingegangen zu sein. Ob es bei dieser überschaubaren Summe bleibt, bleibt jedoch abzuwarten.
Kevin Beaumont warnt auf Mastodon(öffnet im neuen Fenster) , dass der Angriff wesentlich schlimmere Auswirkungen hätte haben können. "Stellen Sie sich vor, die hätten stattdessen Reverse Shells eingesetzt oder automatisierte laterale Bewegungen zum Einsatz von Ransomware durchgeführt" , so seine Worte. "Was die Unternehmen hier gerettet hat, war nichts anderes als die Tatsache, dass der Angreifer ein inkompetenter Krypto-Bengel war."
Supply-Chain-Angriffe auf das Javascript-Ökosystem sind dieser Tage keine Seltenheit . Zuletzt erwischte es etwa das Build-System Nx . Die Angreifer gelangten dabei an Anmeldedaten unzähliger Entwickler und arbeiten sich seitdem durch weitere Softwareprojekte und Github-Repos , um noch mehr Daten abzugreifen.



