Скомпрометированы популярные npm-пакеты | Блог Касперского

Несколько популярных npm-пакетов, используемых во множестве веб-проектов были скомпрометированы и троянизированы неизвестными злоумышленниками. Атакующие, при помощи фишинговой атаки на мейнтейнеров, смогли получить доступ как минимум к одному репозиторию и снабдить пакеты вредоносным кодом, служащим для охоты за криптоактивами. Все веб-приложения, собранные с применением троянизированных пакетов, превращаются в криптодрейнер. А таковых может быть достаточно много, поскольку у скомпрометированных пакетов было более двух миллиардов загрузок в день (по данным Aikido security).

Чем опасны троянизированные пакеты, использованные в этой атаке?

Во все пакеты был добавлен обфусцированный Javascript. Если скомпрометированный пакет используется в веб-приложении, то вредоносный код активизируется на устройствах пользователей, обращающихся к этому приложению. Действуя на уровне браузера, он перехватывает сетевой трафик и API-запросы и изменяет данные, связанные с криптокошельками Ethereum, Bitcoin, Solana, Litecoin, Bitcoin Cash и Tron. Зловред подменяет их адреса и перенаправляет транзакции в кошельки злоумышленников.

Примерно через три часа после начала атаки администрация npm начала удалять обнаруженные заражённые пакеты, но сколько точно раз их успели скачать за это время – точно неизвестно.

Как злоумышленникам удалось получить доступ к репозиториям

Атакующие воспользовались достаточно банальным приемом — они создали фишинговое письмо, в котором мейнтейнеров настоятельно просили при первом же удобном случае обновить учетные данные двухфакторной аутентификации. В противном случае им угрожали блокировкой учетной записи начиная с 10 сентября 2025 года. Письма были разосланы с почтового ящика на домене npmjs[.]help, похожего на легитимный npmjs.com. На том же домене располагался и фишинговый сайт, имитирующий официальную страницу реестра npm. Введенные на этом сайте учетные данные незамедлительно попадали в руки злоумышленников.

Атака прошла успешно как минимум против одного мейнтейнера, в результате чего злоумышленникам удалось скомпрометировать npm-пакеты color, debug, ansi-regex, chalk, и ряд других. Однако, по всей видимости, фишинговая атака была более обширна, потому что аналогичное письмо приходило и другим мейнтейнерам и разработчикам, так что полный список троянизированных пакетов может быть длиннее.

Какие именно пакеты были скомпрометированы

На момент написания этого поста известно что зловред был добавлен в следующие пакеты:

  • ansi-regex
  • ansi-styles
  • backslash
  • chalk
  • chalk-template
  • color-convert
  • color-name
  • color-string
  • debug
  • error-ex
  • has-ansi
  • is-arrayish
  • simple-swizzle
  • slice-ansi
  • strip-ansi
  • supports-color
  • supports-hyperlinks
  • wrap-ansi

Однако, как мы уже писали выше, список может пополняться. За его пополнением можно следить на GitHub.

Как оставаться в безопасности

Продукты «Лаборатории Касперского» как для домашних, так и для корпоративных пользователей успешно выявляют и останавливают использованное в этой атаке вредоносное ПО.

Разработчикам рекомендуется провести аудит зависимостей в своих проектах и если там используются один из скомпрометированных пакетов, закрепить (pin) безопасную версию с помощью фичи overrides в package.json. Тут можно найти более подробную инструкцию.

Мейнтейнерам и разработчикам, имеющим доступ к репозиториям ПО с открытым исходным кодом, мы рекомендуем быть вдвойне осторожными при получении писем, убеждающих их войти в свои учетные записи. А еще лучше — также использовать защитные решения с антифишинговым движком.

  

​Бизнес — Блог Касперского

Read More

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Корзина для покупок
Прокрутить вверх