Gefälschte npm-Website wird verwendet, um Malware über gestohlene Token zu verbreiten

Eine Phishing-Kampagne, die sich an JavaScript-Entwickler richtete, führte zur Kompromittierung mehrerer beliebter npm-Pakete, darunter auch eslint-config-prettier
. Der Angriff begann damit, dass ein Angreifer einen Betreuer mithilfe einer gefälschten Anmeldeseite austrickste, die auf einer ähnlichen Domain gehostet wurde: npnjs.com
.
Nachdem der Angreifer das NPM-Token des Betreuers in die Hände bekommen hatte, schleuste er schädliche Versionen wichtiger Pakete direkt über die Registrierung ein und umging dabei die GitHub-Repositorys vollständig.
Laut Socket, einer Entwickler-orientierten Sicherheitsplattform, die den Betrug zuerst entdeckte, enthielten vier Versionen von eslint-config-prettier
(8.10.1, 9.1.1, 10.1.6, 10.1.7) ein Skript, das bei der Installation ausgeführt wird und auf Windows-Rechner abzielt. Das Skript versucht, die Datei node-gyp.dll
mithilfe von rundll32
zu starten, was es dem Angreifer ermöglichen könnte, beliebigen Code auf betroffenen Systemen auszuführen. Sicherheitsforscher bewerteten das Problem mit einem CVSS-Score von 7,5 und bestätigten, dass eine neue CVE ( CVE-2025-54313 ) verfolgt wird.
Der mit Hackread.com geteilte Blogbeitrag von Socket enthüllte, dass der Angriff eine Zeit lang unentdeckt blieb, da es im GitHub-Repo, das mit den neuen Versionen verknüpft war, keine Commits oder Pull Requests gab.
Stattdessen verließ sich der Angreifer auf seine NPM-Anmeldeinformationen, um direkt zu veröffentlichen und so die Entdeckung zu vermeiden, bis Benutzer verdächtige Aktivitäten bemerkten. Zu den weiteren betroffenen Paketen, die von den Forschern entdeckt wurden, gehörten die folgenden:
synckit
: 0.11.9-
@pkgr/core
: 0.2.8 -
napi-postinstall
: 0.3.1 -
eslint-plugin-prettier
: 4.2.2 und 4.2.3
Diese Pakete werden häufig in Frontend- und Node.js-Projekten verwendet. Da viele Entwickler auf automatisierte Tools wie Dependabot oder Renovate zurückgreifen, könnten kompromittierte Versionen unbemerkt in Projekte eingeschleust worden sein. Nach der Installation könnte die Payload Fernzugriff auf Windows-Rechner mit betroffenen Builds ermöglichen.
Die gute Nachricht ist, dass der Betreuer, dessen Token kompromittiert wurde, schnell reagierte, nachdem er von der Sicherheitslücke erfahren hatte. Die schädlichen Versionen wurden entfernt, die Anmeldeinformationen rotiert und der NPM-Support zur Bereinigung hinzugezogen.
Socket beobachtet die Situation und sucht weiterhin nach weiteren verdächtigen Aktivitäten in der NPM-Registrierung. Die Tools kennzeichnen alle neuen Versionen mit unerwarteten Installationsskripten oder Binärdaten. Dies könnte Entwicklern helfen, Probleme frühzeitig zu erkennen, bevor sich der Schadcode verbreitet.
Nigel Douglas , Leiter der Entwicklerabteilung bei Cloudsmith, kommentierte die weitreichenden Auswirkungen. Er wies darauf hin, dass dies ein weiteres Beispiel dafür sei, wie Abhängigkeitsketten zu Angriffsvektoren werden können. „CI/CD-Pipelines beziehen standardmäßig Hunderte von transitiven Abhängigkeiten ein, jede mit eigenen Betreuern, Aktualisierungszyklen und einer eigenen Angriffshistorie“, sagte er. „Ohne sichere Prozesse zur Abhängigkeitsabfrage genügt schon ein einziger Upstream-Verstoß, um Chaos in der Produktion zu verursachen.“
Douglas betonte außerdem, dass es unvernünftig sei, von Entwicklern zu erwarten, jede Schwachstelle selbst zu entdecken. „Wenn ein einziger gestohlener Maintainer-Token Schadcode in eines der am häufigsten verwendeten Linting-Tools auf npm einschleusen kann, sollte uns das etwas sagen. Man kann das nicht beheben, indem man sich nur auf einzelne Pakete konzentriert“, fügte er hinzu.
Er forderte strengere Wartungspraktiken wie Scoped Tokens und 2FA sowie Sicherheitsvorkehrungen auf Registrierungsebene und sichere Artefaktverwaltungssysteme, die Dinge wie Versionsunveränderlichkeit und vertrauenswürdige Quellenüberprüfung unterstützen.
HackRead