Крупнейшая атака на цепочку поставок ПО: злоумышленники заработали всего 5 центов

information security

8 сентября 2025, около 9:30 по восточному времени, злоумышленник скомпрометировал все пакеты, опубликованные пользователем qix, включая чрезвычайно популярные библиотеки chalk и debug-js. В совокупности эти пакеты еженедельно скачиваются более 2 миллиардов раз, что делает этот инцидент вероятно крупнейшей атакой на цепочку поставок программного обеспечения в истории.

Описание

Метод компрометации был относительно простым: автор пакетов стал жертвой фишингового письма, отправленного с адреса support@npmjs[.]help. На момент публикации домен больше недоступен, но записи показывают, что он ранее указывал на IP-адрес 185.7.81.108. Письмо содержало ссылку на поддельную страницу настройки двухфакторной аутентификации, которая загружала контент с двух контролируемых злоумышленником BunnyCDN-серверов. Один из загружаемых скриптов представлял собой похититель учетных данных, который пересылал логины, пароли и коды двухфакторной аутентификации на удаленный хост.

После получения доступа к учетной записи злоумышленник опубликовал обновления для всех пакетов, внедрив в них крипто-похититель. Анализ вредоносного кода показал, что он не предназначен для настольных сред и не пытается читать файлы или устанавливать дополнительное вредоносное программное обеспечение. Вместо этого скрипт проверяет наличие объекта window.ethereum и при его обнаружении перехватывает ключевые функции для манипуляции криптовалютными операциями.

Для операций с Ethereum скрипт подменяет адреса назначения в вызовах approve, permit, transfer и transferFrom на контролируемый злоумышленником адрес. Для транзакций Solana он заменяет получателя на фиксированный адрес, что фактически делает транзакции неработоспособными. Кроме того, скрипт перехватывает все сетевые запросы через fetch и XMLHttpRequest, подменяя криптовалютные адреса в JSON-ответах на один из 280 заранее заданных адресов, используя расстояние Левенштейна для выбора наиболее похожего адреса.

Несмотря на беспрецедентный масштаб атаки, финансовые последствия оказались минимальными. По предварительным оценкам, злоумышленникам удалось похитить лишь около 5 центов в ETH и 20 долларов в мемкоинах с суточным объемом торгов менее 600 долларов. Основной ущерб от инцидента заключается в тысячах часов, которые инженерные и security-команды по всему миру потратят на очистку компрометированных сред, и миллионах долларов контрактов на системы кибербезопасности, которые будут заключены благодаря этому кейсу.

Для проверки на компрометацию сопровождателям пакетов рекомендуется проверить локальные node_modules с помощью команды grep -R 'checkethereumw', проверить кэш npm с использованием скрипта от phxgg и воспользоваться скриптом от AndrewMohawk для анализа проектов. Эксперты по безопасности рекомендуют всем разработчикам усилить меры защиты учетных записей, включая использование аппаратных ключей безопасности и тщательную проверку подозрительных писем, связанных с настройкой двухфакторной аутентификации.

Индикаторы компрометации

IPv4

  • 185.7.81.108

Domains

  • img-data-backup.b-cdn.net
  • npmjs.help
  • static-mw-host.b-cdn.net
  • websocket-api2.publicvm.com
Комментарии: 0