Пакеты Axios в npm оказались с бэкдором в результате атаки на цепочку поставок

Неизвестный злоумышленник скомпрометировал аккаунты основного разработчика Axios на GitHub и npm, после чего опубликовал в npm пакеты с бэкдором, содержащие вредоносную зависимость, которая запускала установку дропперов и троянов удалённого доступа.

Как развивалась атака

30 марта 2026 года злоумышленник, используя аккаунт с одноразовым адресом ProtonMail, опубликовал в NPM троянизированную копию популярной JavaScript-библиотеки криптографических стандартов crypto-js.

Этот вредоносный пакет [email protected] был оформлен как легитимный, но содержал скрипт postinstall, который автоматически выполнялся при каждой установке через npm.

Затем, в ранние часы (по UTC) 31 марта 2026 года, атакующий использовал скомпрометированный аккаунт сопровождающего Axios (на котором он изменил email на другой адрес ProtonMail, заблокировав законного владельца Джейсона Сааймана) и опубликовал версии axios с бэкдором в относительно быстрой последовательности.

Эти вредоносные пакеты – [email protected] и [email protected] – содержали [email protected] в качестве зависимости для выполнения.

«Когда разработчик выполняет команду npm install [email protected] [или [email protected]], npm разрешает дерево зависимостей и автоматически устанавливает [email protected]. Затем npm выполняет скрипт postinstall пакета plain-crypto-js, запуская дроппер [setup.js]», – пояснили исследователи из Step Security.

«Дроппер связывается с активным командным сервером, доставляет отдельные полезные нагрузки второго этапа для macOS, Windows и Linux, после чего самоуничтожается и заменяет собственный файл конфигурации package.json на чистую подставную версию. Это оставляет разработчика, который позже проверит папку node_modules, без каких-либо признаков того, что что-то пошло не так».

Согласно данным OpenSourceMalware, весь процесс, от установки до полной компрометации, занял примерно 15 секунд.

Что делать, если вы установили скомпрометированные версии Axios из npm

Разработчики, установившие [email protected] или [email protected], должны исходить из того, что их система скомпрометирована, и изолировать её от сети.

Step Security рекомендует:

  • Поиск вредоносных версий axios в проекте
  • Проверка наличия plain-crypto-js в папке node_modules (директории JavaScript-проекта, содержащей все установленные пакеты, необходимые для работы приложения). Его присутствие означает, что дроппер был запущен.
  • Проверка наличия системно-специфичного RAT на устройстве (/Library/Caches/com.apple.act.mond в macOS, %PROGRAMDATA%wt.exe в Windows, /tmp/ld.py в Linux).

«Если артефакт RAT обнаружен: рассматривайте систему как полностью скомпрометированную. Не пытайтесь очистить её на месте — восстановите из заведомо исправного состояния», — добавили исследователи.

«Замените все учётные данные на любой системе, где выполнялся вредоносный пакет: токены npm, ключи доступа AWS, приватные SSH-ключи, облачные учётные данные (GCP, Azure), секреты CI/CD и любые значения, присутствующие в файлах .env, доступных во время установки.»

Они также порекомендовали сообществу разработчиков:

  • Откатить axios до чистой версии (1.14.0 или 0.30.3) и зафиксировать её
  • Добавить блок overrides, чтобы предотвратить транзитивное возвращение к вредоносным версиям
  • Удалить plain-crypto-js из папки node_modules
  • Провести аудит конвейеров CI/CD на предмет запусков, устанавливавших затронутые версии, и заменить секреты для любого рабочего процесса, который их выполнял
  • Использовать флаг –ignore-scripts в CI/CD, чтобы предотвратить выполнение postinstall-хуков во время автоматических сборок
  • Заблокировать известный вредоносный C2-трафик на адреса 142.11.206.73 и sfrclak.com.

Широкомасштабное воздействие

Вредоносные пакеты Axios в NPM были активны приблизительно 2 часа 53 минуты и 2 часа 15 минут, сообщили исследователи.

«Хотя вредоносные версии были удалены в течение нескольких часов, повсеместное использование axios — он присутствует примерно в 80% облачных и кодовых сред и загружается около 100 миллионов раз в неделю — обеспечило быстрое распространение угрозы, с наблюдаемым выполнением в 3% затронутых сред», — отметили исследователи Wiz.

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

Отсутствие компонентов для майнинга криптовалюты или программ-вымогателей указывает на то, что это не финансово мотивированная киберпреступность, а скорее деятельность, связанная со шпионажем или продвинутой постоянной угрозой (APT).

Это соглашение достигнуто всего через несколько дней после того, как мотивированная финансово группа TeamPCP осуществила серию последовательных атак на цепочки поставок, нацеленных на сканер безопасности Trivy от Aqua, расширения VS Code от CheckMarx, LiteLLM и Telnyx.

Подпишитесь на нашу экстренную e-mail рассылку, чтобы никогда не пропускать последние утечки данных, уязвимости и киберугрозы. Подписаться можно здесь!