MALFEX: npm-Malware-Kampagne mit über 40.000 Downloads

MALFEX: npm-Malware-Kampagne mit über 40.000 Downloads

Eine Supply-Chain-Kampagne gegen die npm-Registry läuft seit mehr als drei Jahren, und ihre bösartigen Pakete wurden laut Checkmarx über 40.000 Mal heruntergeladen.

Die Forscher nennen die Kampagne MALFEX. Über sie wurden der Fernzugriffstrojaner (RAT) Overlord und Malware zum Datendiebstahl verteilt. Das erste Paket veröffentlichten die Angreifer im August 2023.

Drei bösartige Pakete noch verfügbar

Der Betreiber hat 12 Pakete auf npm veröffentlicht, der wichtigsten Paketregistry für JavaScript- und Node.js-Entwickler. Acht davon sind bösartig. Fünf wurden inzwischen entfernt. Stand 1. Oktober ließen sich drei noch installieren: function-flag, function-color und cdn-img-fetch.

Checkmarx hob besonders function-flag hervor. Das Paket ist seit Juli 2025 bösartig und wurde mehr als 37.000 Mal heruntergeladen. Derzeit stuft es keine Sicherheitswarnung als bösartig ein.

Andere Teile der Kampagne sind dokumentiert. Open Source Vulnerabilities (OSV), eine öffentliche Datenbank mit Sicherheitswarnungen für Open-Source-Pakete, führt Einträge für sechs der bösartigen Pakete: tlxbnhd, tldriver, mxdriver, img-to-native, native-runner und cdn-img-fetch. Allerdings deckt der Eintrag zu cdn-img-fetch nur zwei der vier bösartigen Versionen dieses Pakets ab.

Drei getrennte Infektionswege

Checkmarx fand drei voneinander unabhängige Wege, über die die Kampagne Malware ausliefert. Sie nutzen keine gemeinsame Infrastruktur, doch die Forscher ordnen alle drei demselben Angreifer zu.

Overlord-RAT-Loader. Der erste Weg nutzt verschleierte Skripte, die während npm install ausgeführt werden, zusammen mit Loadern für den Overlord-RAT. Die Skripte können unter Windows, macOS und Linux starten, die eigentliche Schadsoftware funktioniert aber nur unter Windows.

Einmal installiert, verschafft Overlord dem Betreiber umfassende Überwachungs- und Steuerungsmöglichkeiten auf dem infizierten Rechner. Zu den Funktionen gehören:

  • Bildschirmaufnahmen
  • Keylogging
  • Fensterüberwachung
  • Fernzugriff auf die Shell
  • Dateisuche
  • ein versteckter Desktop, über den der Angreifer unbemerkt auf dem System arbeiten kann

Der Stealer movinlike. Beim zweiten Weg wird bösartiger Code ausgeführt, sobald das Paket geladen wird, und legt einen Node.js-Infostealer namens "movinlike" ab. Die Malware stiehlt Daten aus acht Discord-Clients, sieben gängigen Browsern und Kryptowallets.

Downloader in function-flag. Der dritte Weg ist am längsten aktiv. Jede bösartige Version von function-flag enthält einen eigenen Downloader, und jeder lädt seine Schadsoftware von einem anderen Ort.

Checkmarx zufolge ist die Infektionsroutine so geschrieben, dass sich das Paket auch dann installieren lässt, wenn der Download der Schadsoftware fehlschlägt. Unter macOS und Linux scheitert die Routine stillschweigend, betroffen sind also nur Windows-Systeme.

Wer gefährdet ist

Die Pakete sind nicht tief im übrigen Ökosystem verankert. Laut Checkmarx sind nur Systeme gefährdet, auf denen die bösartigen Pakete gezielt unter ihrem Namen installiert wurden, denn keines davon ist eine Abhängigkeit eines legitimen Pakets.

"Keine legitimen oder weit verbreiteten Pakete hängen von einem Paket des Betreibers ab, daher beschränkt sich die Gefährdung auf Systeme, auf denen diese Paketnamen direkt installiert wurden. Wir haben keine geografische oder organisatorische Ausrichtung festgestellt; jeder, der den Stealer installiert, wird zum Ziel", so Checkmarx.

Das begrenzt, wie weit sich die Infektion ausbreiten kann. Die Downloadzahlen sind deshalb aber nicht weniger besorgniserregend, vor allem bei function-flag, das seit Monaten verfügbar und ohne Warnung ist.

Das große Ganze

Am auffälligsten an MALFEX ist, wie lange die Kampagne schon andauert. Sie läuft seit August 2023, und ein Paket mit mehr als 37.000 Downloads ist noch immer ohne Sicherheitswarnung gelistet. Das Entfernen von Paketen und das Veröffentlichen von Warnungen hat mit dem Betreiber offensichtlich nicht Schritt gehalten. Der unvollständige OSV-Eintrag zu cdn-img-fetch zeigt dieselbe Lücke. Teams, die sich allein auf Warnmeldungen verlassen, wähnen sich womöglich in Sicherheit, obwohl sie es nicht sind.

Stillschweigende Fehlschläge, an verschiedenen Orten gehostete Schadsoftware und die Entscheidung, nur Windows anzugreifen, machen die Kampagne schwerer zu entdecken. Diese Merkmale passen zu einem breiteren Trend plattformübergreifender Malware-Kampagnen, die darauf ausgelegt sind, unentdeckt zu bleiben, statt sich schnell zu verbreiten. Das grundsätzliche Risiko für Software-Repositorys zeigte sich zuletzt auch beim Einbruch in das Artifactory von OpenInfra Europe.

Entwickler sollten ihre Projekte und Build-Systeme auf die oben genannten Paketnamen prüfen. Jeder betroffene Windows-Rechner sollte als kompromittiert gelten, und darauf gespeicherte Zugangsdaten, Browserdaten und Wallets sollten als gestohlen betrachtet werden. Es lohnt sich außerdem zu beobachten, wie schnell npm die drei verbliebenen Pakete entfernt und ob Sicherheitswarnungen für function-flag und function-color folgen.