Материал носит информационный характер и не является рекомендацией по безопасности. Разработчикам следует срочно проверить свои зависимости.
Что произошло?
Хакеры взломали реестр пакетов NPM — крупнейшую платформу распространения JavaScript-библиотек — и внедрили вредоносный код в 18 популярных пакетов. Цель атаки: кража криптовалют через подмену адресов кошельков и перехват транзакций в браузере.
По данным Aikido Security, атака началась с фишингового письма, направленного одному из мейнтейнеров под ником qix. Злоумышленники получили доступ к его аккаунту и начали публиковать заражённые версии библиотек. Когда разработчик попытался удалить вредоносные пакеты, он потерял доступ к учётной записи.
Как работает вредоносный код?
Вредоносная программа не затрагивает серверы или среды разработки. Она активируется на стороне клиента — в браузере — и:
- Перехватывает Web3-активность
- Подменяет адреса криптокошельков
- Переписывает назначения транзакций
- Отображает корректный интерфейс, но перенаправляет средства на адреса хакеров
Какие пакеты были заражены?
Среди скомпрометированных — библиотеки, которые используются практически в каждом втором JavaScript-проекте/
Общий объём загрузок этих пакетов — более 2 миллиардов в неделю2.
Как обнаружили атаку?
Система мониторинга Aikido зафиксировала подозрительные обновления давно неактивных пакетов. Например, библиотека is-arrayish, не обновлявшаяся более 5 лет, внезапно получила новую версию с обфусцированным вредоносным кодом.
Рекомендации для разработчиков
Срочно проверить зависимости и откатить до безопасных версий
Использовать инструменты мониторинга цепочки поставок
Избегать автоматических обновлений без проверки
Внимательно отслеживать транзакции, если приложение работает с криптовалютами
Параллельные атаки
Одновременно с инцидентом на NPM, аналитики PeckShield сообщили о взломе децентрализованной платформы Nemo Protocol на блокчейне Sui. Потери составили $2,4 млн.