Популярная JavaScript-библиотека оказалась в центре серьезного инцидента с цепочкой поставок ПО (supply chain attack). Исследователи StepSecurity сообщили, что в npm были опубликованы две вредоносные версии пакета — axios@1.14.1 и axios@0.30.4. Эти релизы не содержали вредоносного кода в самих исходниках axios, но тянули дополнительную зависимость, которая запускала вредоносную нагрузку при установке. GitHub issue в репозитории axios с тем же предупреждением открыли сегодня, 31 марта 2026 года.
Читайте также:
GitHub добавил ИИ-поиск уязвимостей в Code Security
По данным StepSecurity, вредоносные версии опубликовали 30–31 марта 2026 года с использованием скомпрометированных npm-учетных данных одного из ведущих мейнтейнеров проекта. Исследователи отдельно отмечают, что публикация шла в обход обычного GitHub Actions CI/CD-процесса проекта: вредоносные пакеты были выпущены вручную через npm CLI. В анализе StepSecurity также говорится, что у учетной записи издателя изменили email на ProtonMail-адрес, не связанный с обычным процессом релизов. GitHub issue в репозитории axios подтверждает: версии 1.14.1 и 0.30.4 помечены как скомпрометированные.

Злоумышленник не менял код axios напрямую. Вместо этого в package.json обоих релизов была добавлена новая зависимость — plain-crypto-js@4.2.1. Эта зависимость вообще не импортируется в исходниках axios и была нужна только ради одного: выполнить postinstall-скрипт при установке пакета. То есть вредоносный эффект срабатывал не в момент вызова axios в приложении, а уже на этапе npm install. Зависимость plain-crypto-js@4.2.1 маскировала под легитимный пакет и использовала имя, похожее на известную криптографическую библиотеку.
Схема состояла из нескольких этапов. Сначала опубликовали пакет plain-crypto-js@4.2.0 в качестве декорации, чтобы у нового пакета появилась история публикаций и он не выглядел совсем пустым. Затем появился plain-crypto-js@4.2.1, который содержал вредоносный postinstall: "node setup.js". После этого опубликовали axios@1.14.1 и axios@0.30.4, куда эту зависимость добавили как часть дерева зависимостей.
После установки вредоносный скрипт разворачивал загрузчик (dropper), задача которого скачать или запустить следующий этап атаки. В данном случае речь шла о RAT — Remote Access Trojan или троян удаленного доступа. Цепочка была рассчитана на macOS, Windows и Linux, а сам вредоносный компонент связывался с сервером управления (command-and-control, C2) для получения дальнейшей нагрузки.
После выполнения вредоносный код пытался удалить сам себя и заменить свой package.json на «чистую» версию, чтобы усложнить последующее расследование.
axios — популярная библиотека, один из самых массово используемых HTTP-клиентов в JavaScript-экосистеме, с более чем 100 млн загрузок в неделю. Даже если вредоносные версии прожили сравнительно недолго, само окно публикации было достаточно опасным для CI-систем, сборочных пайплайнов, временных окружений и машин разработчиков, где зависимости подтягиваются автоматически.
Вредоносную зависимость подготовили заранее, а сами отравленные версии axios появились в npm ночью по UTC:
— axios@1.14.1 — в 00:21 UTC 31 марта 2026 года;
— axios@0.30.4 — в 01:00 UTC 31 марта 2026 года.
Позже обе версии удалили из реестра, а тег latest вернулся к 1.14.0. В сторонних сервисах отслеживания релизов axios сейчас также отображается именно 1.14.0 как последняя нормальная версия, опубликованная 27 марта 2026 года.
StepSecurity рекомендует разработчикам, безопасникам и DevOps-инженерам:
-
Проверить, не устанавливались ли axios@1.14.1 или axios@0.30.4 в локальных окружениях, CI, контейнерных сборках и временных runner’ах.
-
Проверить lock-файлы, кэш npm, артефакты сборки и dependency snapshots.
-
Искать следы установки plain-crypto-js@4.2.1 и выполнения postinstall-скриптов.
-
Если такие версии были установлены, считать потенциально затронутыми секреты, токены и учетные данные, доступные сборочной среде или машине разработчика.
-
Пересобрать окружение из проверенных зависимостей и обновить секреты.
Есть новость? Станьте автором.
Мы сотрудничаем с независимыми исследователями и специалистами по кибербезопасности. Отправьте нам новость или предложите статью на рассмотрение редакции.