Вы уверены в своих зависимостях?
Хакеры внедрили вредоносный код в популярные пакеты npm, воспользовавшись фишинговой атакой на сопровождающих проекты. Злоумышленники провели фишинговую кампанию, нацеленную на разработчиков, сопровождающих проекты, и похитили их токены доступа к npm. Получив контроль над учётными записями, они загрузили вредоносные версии библиотек напрямую в официальный реестр, не оставляя следов в виде коммитов или pull-запросов в репозиториях GitHub.
По данным компании Socket, в список затронутых пакетов вошли такие известные модули как eslint-config-prettier, eslint-plugin-prettier, synckit, @pkgr/core и napi-postinstall. Опасные версии были опубликованы под настоящими именами пакетов и могли незаметно попасть в проекты тысяч разработчиков. Встроенный вредоносный код, как выяснилось, пытался запускать DLL-файлы на устройствах под управлением Windows, что потенциально позволяло удалённо выполнять произвольный код на заражённых машинах.
Фишинговая атака началась с поддельных писем, маскирующихся под официальную коммуникацию от npm. В письмах содержалась просьба подтвердить адрес электронной почты, а вместо настоящего домена npmjs.com использовался обманный вариант npnjs.com, имитирующий легитимный сайт. При переходе по ссылке жертва попадала на идентичную по внешнему виду страницу входа, созданную специально для кражи логина и пароля.
Socket подчёркивает, что подобные атаки могут очень быстро перерасти в масштабную угрозу для всего экосистемного пространства, поскольку вредоносный код распространяется через зависимости и может оставаться незамеченным в течение длительного времени. Разработчикам рекомендовано срочно проверить используемые версии библиотек и при необходимости откатиться к безопасным. Также настоятельно советуется включить двухфакторную аутентификацию и использовать токены с ограниченной областью действия вместо обычных паролей при публикации пакетов.
На фоне этого инцидента исследователи также обнаружили другую волну атак, в ходе которой в реестр npm было загружено 28 пакетов с функцией так называемого протестного вредоносного ПО. Эти модули были способны отключать работу мыши на сайтах с российскими или белорусскими доменами, а также запускать гимн Украины в бесконечном цикле. Активация происходила только при наличии русских языковых настроек в браузере и повторном визите на сайт, что делает атаку избирательной.
Как отмечает исследователь Оливия Браун, подобные действия разработчиков способны долгое время оставаться незаметными, скрываясь в глубине вложенных зависимостей . Их последствия могут проявиться только спустя недели.
Разработчики настоятельно рекомендуют удалить указанные пакеты и проверить систему на предмет компрометации, если они ранее были установлены.