🔥 2 млрд загрузок под ударом: в npm нашли вредоносные версии chalk, debug и еще 16 пакетов
Новости
Возможно, это самая масштабная JS-атака в истории
2К открытий7К показов
Компания Aikido Security выявила масштабную атаку на экосистему npm. Злоумышленники опубликовали вредоносные версии 18 популярных JavaScript-библиотек, включая chalk, debug, supports-color, ansi-styles, strip-ansi и другие.
Эти пакеты используются в миллионах проектов по всему миру — общее количество загрузок только за неделю превышает 2 млрд.
Как работал вредоносный код
Внедренный JavaScript-код маскировался внутри библиотек и выполнялся исключительно в браузерной среде. Основная цель — перехват криптовалютных транзакций через подмену данных:
- внедрение в методы
fetch,XMLHttpRequest, а также Web3-объекты (window.ethereumи др.); - отслеживание и подмена адресов кошельков при вызовах вроде
sendTransaction,approve,transfer; - использование «похожих» адресов для подмены без визуального отличия;
- манипуляции с параметрами транзакций на этапе подписи;
- сохранение внешней «нормальности» интерфейса, чтобы пользователь ничего не заметил.
Таким образом, атака была нацелена на незаметное хищение криптоактивов прямо из интерфейсов Web3-приложений.
Как злоумышленники получили доступ
Один из мейнтейнеров, обладающий доступом к части библиотек, стал жертвой фишинговой атаки.
Он получил письмо с поддельного адреса support@npmjs.help, зарегистрированного 5 сентября 2025 года. После компрометации аккаунта были опубликованы вредоносные версии пакетов.
Автор позднее подтвердил взлом и удалил некоторые версии, но часть вредоносных сборок осталась доступной, включая simple-swizzle.
Список затронутых пакетов
Наиболее популярные зараженные библиотеки:
chalkdebugsupports-colorstrip-ansiansi-regexwrap-ansicolor-namecolor-convertcolor-stringchalk-templatehas-flaghas-ansislice-ansierror-exsimple-swizzlebackslash- и другие
Большинство из них используются транзитивно — через другие зависимости.
Что делать разработчикам
- Проверить
package-lock.jsonилиyarn.lockна наличие зараженных версий. - Использовать
npm audit,snyk,Safe Chainили аналогичные инструменты для анализа зависимостей. - Обновить или зафиксировать безопасные версии пакетов.
- Если проект работает с криптовалютой, проверить, не было ли компрометации в процессе использования.
Почему это важно
Эта атака стала одной из крупнейших в истории JavaScript-экосистемы и подчеркивает уязвимость цепочек поставки (supply chain) в open-source.
Даже небольшая уязвимость или фишинговая атака на одного мейнтейнера может поставить под угрозу миллионы пользователей по всему миру.
2К открытий7К показов



