NPM Bibliotheken mit Malware infiziert  Bild © NPMNPM Bibliotheken mit Malware infiziert (Bild © NPM)

Mit fast 2,8 Millionen Downloads in einer einzigen Woche hätte allein die Kompromittierung von is weitreichende Folgen haben können. Die mit Malware verseuchten Versionen blieben etwa sechs Stunden lang aktiv, bevor sie durch eine bereinigte Version (v3.3.2) ersetzt wurden.

Mehr als nur ein Paket betroffen

Sicherheitsforscher von Socket berichten, dass dieser Vorfall Teil einer größeren Kampagne ist. Weitere Bibliotheken, die bei dem Angriff kompromittiert wurden, sind:

  • eslint-config-prettier (v8.10.1, 9.1.1, 10.1.6, 10.1.7)
  • eslint-plugin-prettier (v4.2.2, 4.2.3)
  • synckit (v0.11.9)
  • @pkgr/core(v0.2.8)
  • napi-postinstall(v0.3.1)
  • got-fetch(v5.1.11, 5.1.12)

Jedes dieser Pakete wurde manipuliert, um die Scavenger-Malware zu verbreiten, die in der Lage ist, Browserdaten und Anmeldedaten zu stehlen und eine Reverse-Shell für den Fernzugriff auf infizierte Systeme einzurichten.

Typosquatting und Phishing hinter dem Angriff

Die Angreifer verwendeten eine Typosquatting-Taktik und registrierten eine irreführende Domain (npnjs.org), die die legitime Domain npmjs.org imitieren sollte. Diese Domain wurde in Phishing-Angriffen verwendet, um Paketverwalter dazu zu verleiten, ihre Anmeldedaten preiszugeben.

Sobald sie Zugriff hatten, bauten die Angreifer Malware in vertrauenswürdige Open-Source-Projekte ein, wodurch sie potenziell in die Entwicklungsumgebungen von Tausenden von Softwareteams weltweit eindringen konnten.

Was zu tun ist

Entwickler, die die betroffenen Pakete installiert haben oder davon abhängig sind, sollten davon ausgehen, dass ihre Umgebungen kompromittiert sind. Empfohlene Maßnahmen sind unter anderem

  • Widerruf und Rotation aller Anmeldedaten, SSH-Schlüssel und API-Token.
  • Überprüfung der zugehörigen Repositorys auf unbefugte Codeänderungen.
  • Aktualisierung von Dependencies und Überprüfung der Paketintegrität.