На сопровождающих JavaScript-библиотеки на сервисе NPM была совершена масштабная фишинг-атака, в ходе которой от имени сервиса NPM было разослано сообщение о необходимости подтвердить свой email. Проведённая атака позволила злоумышленникам получить NPM-токены сопровождающего одного из крупных JavaScript-проектов и выпустить обновления с вредоносным кодом для пяти NPM-пакетов, в сумме насчитывающих около 100 млн загрузок в неделю.
Отправленное сопровождающим сообщение было стилизовано под типовые уведомления NPM, отправляемые с адреса "support@npmjs.org", но в качестве ссылки для перехода был указан домен "npnjs.com" вместо "npmjs.com" (третья буква "n" вместо "m").
В ходе атаки были сгенерированы новые версии пакетов:
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.
В пакеты был добавлен вредоносный код для атаки на пользователей Windows - они загружали библиотеку node-gyp.dll с функциональностью для удалённого выполнения команд.
Неизвестно, сколько пользователей успело загрузить вредоносные версии (например, вредоносная версия пакета eslint-plugin-prettier оставалась в репозитории около двух дней), но данные пакеты довольно широко используются. Так, за прошлую неделю пакет eslint-config-prettier насчитывал 30 млн загрузок и использовался в качестве зависимости у 11762 тысячи пакетов, пакет eslint-plugin-prettier - 21 млн загрузок (8468 зависимых пакетов), synckit - 18 млн, @pkgr/core - 16 млн и napi-postinstall - 10 млн.
https://socket.dev/blog/npm-phishing-campaign-leads-to-prettier-tooling-packages-compromise
Post #1872
2.36K