Популярная JavaScript-библиотека Axios подверглась атаке на цепочку поставок: злоумышленник получил доступ к учетной записи npm одного из мейнтейнеров и опубликовал две скомпрометированные версии пакета — axios@1.14.1 и axios@0.30.4.
Что произошло
В зараженные версии Axios была добавлена скрытая зависимость plain-crypto-js@4.2.1, содержащая вредоносный код, который выполнялся через postinstall-скрипт. Этот скрипт устанавливал соединение с управляющим сервером, загружал полезную нагрузку, адаптированную под конкретную ОС, и затем пытался удалить следы своей активности.
Скомпрометированные версии затронули обе ветки Axios и были нацелены на macOS, Windows и Linux. Вредоносная активность маскировалась под системные процессы. Публикация пакетов происходила напрямую через npm, без изменений в исходном репозитории GitHub и без прохождения стандартных CI/CD-процессов.
Хронология:
— Установка зараженных версий через npm, Yarn или Bun.
— Выполнение postinstall-скрипта при установке пакета.
— Запуск дроппера, устанавливающего соединение с C2-сервером sfrclak.com (142.11.206.73).
— Загрузка и выполнение вредоносной нагрузки (RAT), обеспечивающей удаленное управление системой, сбор данных и загрузку дополнительного кода.
— Попытка удаления следов активности и модификация package.json для усложнения обнаружения.
🛡 Как мы отбили атаку у клиентов
В инциденте с компрометацией Axios ключевую роль сыграл не только факт появления вредоносных версий, но и скорость их попадания в зависимости проектов. Именно здесь сработали политики платформы AppSec.Track.
В продукте реализована политика по дате (time-based quality gate), которая позволяет ограничивать использование новых версий компонентов до момента их «выдержки» во времени. Это означает, что зависимости, опубликованные недавно, автоматически считаются недоверенными и не допускаются в сборку до прохождения заданного временного окна.
В случае с атакой на Axios скомпрометированные версии были опубликованы в npm и начали распространяться через стандартные механизмы установки. Однако благодаря политике по дате такие версии блокируются на этапе подключения зависимостей — ещё до того, как они попадают в среду разработки или CI/CD.
✔️ Таким образом, даже без наличия сигнатур, CVE или внешних индикаторов компрометации, AppSec.Track позволяет проактивно снижать риск supply chain атак. Это пример того, как простая, но правильно реализованная политика может эффективно защищать от zero-day угроз в экосистеме зависимостей.
Даже если вы не работаете напрямую с Axios, эта библиотека ежедневно используется во множестве приложений и сервисов на разных платформах. Атака показала, что внедрение вредоносной зависимости может пройти незамеченным на ранних этапах, и только централизованный контроль и системы мониторинга позволяют вовремя выявлять угрозу и минимизировать последствия.
— прокомментировал Михаил Макаров, руководитель продукта AppSec.Track.
➡️ Контролируйте безопасность стороннего кода и защищайте цепочку поставок с AppSec.Track.
🔠 Рассылка | MAX
#Экспертиза_AppSec #AppSecTrack
