Neuer npm-Großangriff: hunderte Pakete mit selbst-vermehrender Malware infiziert
Verschiedene IT-Sicherheitsunternehmen warnen vor neuen Angriffen auf das npm-Ökosystem rund um node.js. Mehrere Hundert Pakete sind mit einer Malware infiziert, die geheime Daten stiehlt und über einen Webhook ausleitet. Zudem repliziert sich die Schadsoftware selbsttätig – und ist somit ein Wurm.
Mittlerweile ist die Zahl der infizierten Pakete auf fast 500 angewachsen. Sicherheitsunternehmen raten Entwicklern und Devops-Teams dringend, ihre Entwicklungsumgebungen zu überprüfen und Pakete an als gutartig bekannte Versionen zu "pinnen". Eine umfangreiche Liste mit 477 zwischenzeitlich betroffenen Paketen pflegt das Team von Socket.dev.
npm, der Node Package Manager, kommt nicht zur Ruhe. Nachdem erst kürzlich unbekannte Angreifer die Zugangsdaten eines prominenten Entwicklers abgephisht und manipulierte Pakete eingeschleust hatten, hat die Verteilstation für node.js-Bibliotheken nun mit einem ausgewachsenen Wurm zu kämpfen.
Wie StepSecurity und Socket übereinstimmend berichten, befindet sich unter den kompromittierten Paketen auch @ctrl/tinycolor, das etwa zwei Millionen Mal pro Woche heruntergeladen wird. Auch etwa ein Dutzend weitere Pakete des Entwicklers @ctrl sind betroffen, einige der Nativescript-Community und wie Aikido auflistet, sogar solche des Security-Unternehmens Crowdstrike.
Der Schadcode nutzt "TruffleHog", um interessante Daten zu erschnüffeln, etwa API-Credentials und Zugangsdaten für GitHub sowie die Clouds von Google und Amazon. Er erstellt dann GitHub-Repositories und -Workflows und exfiltriert seine Beute über einen Webhook auf der Domain webhook.site. Und er hat offenbar die Fähigkeit, sich selbst zu replizieren, indem er weitere Pakete infiziert und trojanisierte Paketversionen hochlädt.
Unklar ist noch, wo der Angriff begann – einen klaren "Patient Null" nennen die drei analysierenden Unternehmen nicht. Auch sind die Urheber der Attacke nicht bekannt, möglicherweise sind es dieselben wie beim letzten Angriff.
Kurios: die Angreifer sind offenbar Science-Fiction-Fans. Die Wurmkomponente ihrer Malware legt ein GitHub-Repository namens "Shai-Hulud" sowie entsprechende Workflows an. "Shai-Hulud", ursprünglich Arabisch für "Ding der Unsterblichkeit", ist der Name der monumentalen Sandwürmer in Frank Herberts Epos "Dune". Die Einwohner des Wüstenplaneten verehren die Sandwürmer als gottgleich.
JavaScript-Entwickler und insbesondere die Verwalter von auf npm gehosteten Paketen sollten größte Vorsicht walten lassen und die umfangreiche Liste infizierter Pakete konsultieren. Wer in eigenen Projekten infizierte Versionen vorfindet, sollte diese unmittelbar löschen, alle Zugangskennungen ändern, Tokens invalidieren und in eigenen GitHub-Repositories aufräumen. In StepSecuritys Blogeintrag finden sich detaillierte Handreichungen.
Diese Schritte hat auch Crowdstrike durchgeführt, wie uns gegenüber eine Sprecherin mitteilte: "Nachdem wir mehrere bösartige Node Package Manager (NPM)-Pakete in der öffentlichen NPM-Registrierung, einem Open-Source-Repository eines Drittanbieters, entdeckt hatten, haben wir diese umgehend entfernt und unsere Schlüssel in öffentlichen Registrierungen proaktiv rotiert. Diese Pakete werden vom Falcon Sensor nicht verwendet, die Plattform ist nicht betroffen und unsere Kunden bleiben geschützt. Wir arbeiten eng mit NPM zusammen und führen eine gründliche Untersuchung durch."