
npm-Schadsoftware versteckt Windows-Downloads in der Installation von Abhängigkeiten
npm-Schadsoftware in acht Paketen schleust Fernsteuerungsprogramme und Datendiebe auf Windows-Systeme. Drei der Pakete waren laut dem zugrunde liegenden Bericht noch verfügbar.
In Softwarepaketen verborgene npm-Schadsoftware schleust Fernsteuerungsprogramme und Datendiebe auf Windows-Computer, wie Untersuchungen von CloudSEK und Checkmarx zeigen. Die Unternehmen nennen die Kampagne MALFEX und gehen davon aus, dass offenbar ein einzelner Akteur seit August 2023 insgesamt 12 Pakete veröffentlicht hat, von denen acht als schädlich eingestuft wurden. Für Unternehmen, die npm als Dienst zur Verteilung wiederverwendbarer JavaScript-Software nutzen, liegt das Risiko in der Software, die ihre Entwickler installieren, und nicht nur in der fertigen Website.
Die acht identifizierten Pakete heißen tlxbnhd, tldriver, mxdriver, img-to-native, native-runner, function-flag, function-color und cdn-img-fetch. Der zugrunde liegende Bericht führt function-flag, function-color und cdn-img-fetch als weiterhin verfügbar auf. Zusammen verzeichneten die acht Pakete 40.767 Downloads, davon allein 37.419 für function-flag. Dabei handelt es sich um Downloadzahlen, nicht um eine bestätigte Gesamtzahl infizierter Computer oder betroffener Unternehmen.
function-flag wurde erstmals im Juli 2024 veröffentlicht; die im Bericht genannte jüngste Version stammt vom 4. August 2025. Die Projektbeschreibung enthält eine portugiesische Willkommensnachricht, die das Malfex-Team würdigt und Murizada als Eigentümer nennt. Hinter dieser unauffälligen Paketdarstellung steckt Code, der während der Installation zusätzliche Software abrufen und ausführen kann.
Die Forschenden beschreiben drei Verbreitungswege: einen Loader, also Software, die ein weiteres Schadprogramm startet, für den Fernzugriffstrojaner (RAT) Overlord; einen Weg zur Verbreitung des Datendiebs movinlike; und einen Downloader, der eine weitere Nutzlast abruft, also ein beim Angriff eingesetztes Programm. Ein RAT ermöglicht einem Akteur die Fernsteuerung eines kompromittierten Computers. Overlord ist offen verfügbare Software, die in der Programmiersprache Go geschrieben wurde. Sie nutzt Transaktionen auf der Solana-Blockchain, um ihre Command-and-Control-Adresse zu ermitteln – die Adresse, über die ein Angreifer die Schadsoftware steuert.
Drei Pakete, tlxbnhd, tldriver und mxdriver, dienen als Loader für Overlord. Sie verwenden Lifecycle-Hooks, also Skripte, die in bestimmten Phasen der Installation oder Nutzung eines Pakets automatisch ausgeführt werden, um ein Windows-Programm herunterzuladen und zu starten. Darin liegt das zentrale Risiko dieser npm-Schadsoftwarekampagne: Bei der Installation einer Softwarekomponente kann auch Code gestartet werden, dessen Ausführung die installierende Person nicht beabsichtigt hat.
Ein weiterer Verbreitungsweg umfasst Pakete wie img-to-native, das mithilfe von cdn-img-fetch ein in Go geschriebenes Programm abruft und ausführt. Dieses Programm lädt anschließend movinlike nach, einen Datendieb, der mit Node.js entwickelt wurde – einer Software, die JavaScript außerhalb eines Webbrowsers ausführt. Der Datendieb zielt auf sensible Informationen im Zusammenhang mit Discord, Webbrowsern, Telegram und Kryptowährungs-Wallets ab. Die Quelle beziffert weder die Menge der gestohlenen Informationen noch benennt sie einzelne Opfer.
function-flag besitzt einen Postinstall-Hook, ein nach der Installation automatisch ausgeführtes Skript, das JavaScript startet, um ein weiteres Programm von einem entfernten Server abzurufen. Die Forschenden stellten fest, dass verschiedene Paketversionen unterschiedliche Downloadadressen verwendeten. function-color enthält keine eigene Nutzlast, sondern deklariert function-flag als Abhängigkeit – ein separates Paket, das installiert wird, weil ein anderes Paket es benötigt. Wer nur das vom Entwickler bewusst ausgewählte Paket prüft, kann daher die für den Download verantwortliche Komponente übersehen.
Checkmarx bezeichnet Version 1.7.3 in seiner Analyse als die neueste Version. Deren Postinstall-Skript führt example.js aus. Dieses ruft eine Funktion auf, die Bilder aus Textzeichen erstellt und dabei eine Schrifteinstellung namens Bloody verwendet. Diese Einstellung aktiviert eine versteckte Downloadroutine. Die Routine ruft node.exe von cdnzona.discloud.app ab, einer Adresse bei einem brasilianischen Dienst für Anwendungshosting, speichert die Datei unter %APPDATA%\node.exe im Anwendungsdatenverzeichnis des Windows-Benutzers und startet sie mit ausgeblendetem Fenster. Der Dateiname allein sollte nicht als Beleg dafür gelten, dass es sich bei diesem heruntergeladenen Programm um legitime Node.js-Software handelt.
CloudSEK verweist auf portugiesischsprachiges Material, einen Zeitzonenversatz von -0300 in Git-Commits, die Softwareänderungen dokumentieren, sowie einen in Brasilien gängigen Nutzernamen im GitHub-Anzeigenamen und in der E-Mail-Adresse des Akteurs als Hinweise auf dessen sprachlichen Hintergrund. Das Unternehmen wertet diese Hinweise ausdrücklich nicht als Beleg dafür, dass Brasilien das Angriffsziel ist. Laut CloudSEK erfolgt die Verbreitung über npm und Discord, beides weltweit genutzte Dienste. Die anschließend eingeschleuste Schadsoftware wählt ihre Ziele nach Gelegenheit aus. Die Annahme, dass eine einzelne Person verantwortlich ist, bleibt eine Einschätzung und ist keine bestätigte Identifizierung.
Für Websitebetreiber stellt sich praktisch die Frage, ob jemand, der ihre Website oder Unternehmenssoftware betreut, diese Pakete auf einem Windows-Computer installiert hat. Der Bericht beschreibt Infektionswege unter Windows; er belegt nicht, dass jede Website, die JavaScript nutzt, kompromittiert ist. Bitten Sie den zuständigen Entwickler oder IT-Dienstleister, sowohl direkt ausgewählte Pakete als auch die zusätzlich mitinstallierten Pakete zu prüfen. Die auf Sicherheit ausgerichteten IT-, Infrastruktur- und Beratungsleistungen von AEU-I sind für Unternehmen relevant, die Unterstützung bei der Bewertung solcher Risiken durch Softwareabhängigkeiten suchen. Wird eines der aufgeführten Pakete gefunden, lassen Sie den betroffenen Computer untersuchen, statt davon auszugehen, dass mit dem Entfernen des Pakets auch die bereits von ihm heruntergeladenen Programme entfernt werden.
So schützen Sie sich
- Schicken Sie die acht Paketnamen aus diesem Artikel an Ihren Websiteentwickler oder IT-Dienstleister und fragen Sie, ob eines davon installiert wurde – auch automatisch zusammen mit anderer Software.
- Bitten Sie Ihren Entwickler, keines der aufgeführten Pakete weiter zu verwenden, bis Ihr IT-Dienstleister den betroffenen Windows-Computer überprüft hat.
- Wenn Ihr IT-Dienstleister eine Infektion bestätigt, ändern Sie auf einem anderen, vertrauenswürdigen Gerät die Passwörter der Konten, die Sie auf diesem Computer genutzt haben.
- Aktivieren Sie, soweit verfügbar, die Anmeldung in zwei Schritten in den Sicherheitseinstellungen Ihrer E-Mail-, Discord- und Telegram-Konten.
Begriffe Erklärt
- npm Ein Dienst, über den Entwickler wiederverwendbare JavaScript-Softwarepakete beziehen und mit anderen teilen.
- remote access trojan (RAT) Ein Schadprogramm, mit dem eine andere Person einen infizierten Computer aus der Ferne steuern kann.
- lifecycle hooks Automatische Anweisungen, die in festgelegten Phasen ausgeführt werden, wenn ein Softwarepaket installiert oder verwendet wird.
- dependency Ein zusätzliches Softwarepaket, das ein anderes Paket benötigt, um zu funktionieren.
- postinstall hook Eine Anweisung, die nach der Installation eines Softwarepakets automatisch ausgeführt wird.
- command-and-control address Eine Adresse im Internet, über die Schadsoftware Anweisungen von ihrem Betreiber erhält.
- information stealer Schadsoftware, die dazu dient, private Informationen von einem Computer zu sammeln.