Es wurde ein Phishing-Angriff auf begleitende JavaScript-Bibliotheken festgestellt, bei dem im Namen des NPM-Dienstes eine Nachricht versendet wurde, die zur BestĂ€tigung der E-Mail-Adresse aufforderte. Der Angriff ermöglichte es den TĂ€tern, die NPM-Tokens eines der groĂen JavaScript-Projekte zu erlangen und Updates mit schĂ€dlichem Code fĂŒr fĂŒnf NPM-Pakete herauszugeben, die insgesamt etwa 100 Millionen Downloads pro Woche verzeichnen.
Die versendete Begleitnachricht war im Stil typischer NPM-Benachrichtigungen gestaltet, die von der Adresse âsupport@npmjs.orgâ versendet werden, jedoch wurde fĂŒr den Link eine Domain ânpnjs.comâ anstelle von ânpmjs.comâ angegeben (dritte Buchstabe ânâ anstelle von âmâ). Die Angreifer nutzten den psychologischen Effekt, wonach das Gehirn, in Erwartung eines vertrauten Ergebnisses, subtile Verzerrungen wie den Austausch von Buchstaben oder die Ănderung der Buchstabenreihenfolge im Wort ĂŒbersieht. Beim Klicken auf den Link öffnete sich eine vollstĂ€ndige Kopie der Website npmjs.com (vermutlich war ein Proxy eingerichtet, der das Zugriffstoken abfing).

Im Rahmen des Angriffs wurden neue Versionen der Pakete erstellt:
- eslint-config-prettier: 8.10.1, 9.1.1, 10.1.6, 10.1.7.
- eslint-plugin-prettier: 4.2.2, 4.2.3.
- synckit: 0.11.9.
- @pkgr/core: 0.2.8.
- napi-postinstall: 0.3.1.
In die erstellten Releases wurde schĂ€dlicher Code eingefĂŒgt, um Benutzer anzugreifen, die die Windows-Plattform nutzen. Die Ănderungen luden die Bibliothek node-gyp.dll herunter, die Funktionen fĂŒr die Remote-AusfĂŒhrung von Befehlen im System enthielt.
Der Begleiter bemerkte, dass er etwa eine Stunde nach der ersten Beschwerde ĂŒber die Veröffentlichung verdĂ€chtiger Releases Opfer eines Phishings geworden war. Er zog sofort das Zugriffstoken zurĂŒck, Ă€nderte die Passwörter und kennzeichnete die problematischen Versionen als veraltet, um zu verhindern, dass automatisierte Build-Systeme sie herunterladen, und schickte eine Anfrage zur Entfernung der problematischen Versionen aus dem Repository an den NPM-Support.
Es wird nicht angegeben, wie viele Benutzer die schĂ€dlichen Versionen heruntergeladen haben (zum Beispiel blieb die schadhafte Version des Pakets eslint-plugin-prettier etwa zwei Tage im Repository). In der vergangenen Woche verzeichnete das Paket eslint-config-prettier 30 Millionen Downloads und wurde als AbhĂ€ngigkeit in 11.762 Paketen verwendet, das Paket eslint-plugin-prettier â 21 Millionen Downloads (8.468 abhĂ€ngige Pakete), synckit â 18 Millionen, @pkgr/core â 16 Millionen und napi-postinstall â 10 Millionen.
Quelle: opennet.ru
