В экосистеме JavaScript зафиксирован новый крупный инцидент: в результате фишинговой атаки злоумышленники получили доступ к аккаунту популярного мейнтейнера npm-пакетов Джоша Джунона (известного как qix) и внедрили вредоносный код в целый ряд библиотек, которые суммарно загружаются более 2,6 миллиарда раз в неделю.
Фишинговое письмо пришло с поддельного домена npmjs.help и выглядело как официальное уведомление о необходимости обновить двухфакторную аутентификацию.
В сообщении утверждалось, что в противном случае аккаунты разработчиков будут заблокированы с 10 сентября 2025 года. Попавшись на эту уловку, мейнтейнер лишился доступа к своим проектам.
Злоумышленники обновили популярные пакеты, включая chalk, debug, ansi-styles, strip-ansi и другие. В index.js был добавлен вредоносный код, который встраивается в браузер и перехватывает криптотранзакции.
При обращении к кошелькам Ethereum, Bitcoin, Solana, Tron, Litecoin и Bitcoin Cash вредоносная логика подменяет адреса получателей на кошельки атакующих. Для этого код перехватывает вызовы fetch
, XMLHttpRequest
и web3-API вроде window.ethereum
.
По данным Aikido Security, атака затрагивает только часть пользователей — для успешного заражения нужно было установить скомпрометированные пакеты в определённый промежуток времени (с 9:00 до 11:30 утра по восточному времени) и сгенерировать package-lock.json
именно в этот период. Тем не менее масштаб всё равно внушительный: под удар попали десятки библиотек, на которых держится огромное количество проектов.
Команда npm уже удалила вредоносные версии, но случай снова показал, насколько уязвимы цепочки поставок ПО. За последние месяцы аналогичные атаки коснулись и других популярных библиотек — в том числе eslint-config-prettier и ещё десятка пакетов, которые были превращены в инфостилеры.