Axios, мощный HTTP-клиент с более чем 83 миллионами загрузок в неделю, подвергся атаке через скомпрометированный аккаунт npm. Злоумышленники внедрили вредоносный код, способный атаковать Windows, macOS и Linux, используя версии 1.14.1 и 0.30.4 Axios.
Как произошла атака
Вредоносная зависимость, названная plain-crypto-js, была выпущена с помощью скомпрометированных учётных этих главного поддерживателя Axios. По этим экспертов из StepSecurity, злоумышленник обманул свой путь к публикации опасного кода, обойдя системы контроля версий проекта на GitHub.
Атакующие заранее подготовили три разных вредоносных кода, охватывающих три операционные системы. Код был спланирован таким образом, чтобы все следы уничтожались после активации, что усложняет задачу по отслеживанию атаки.
Детали вредоносного кода
На каждом из целевых процессов запускался собственный сценарий, который взаимодействовал с управляющим сервером для загрузки и выполнения платформо-специфического вредоносного кода. На macOS использовался AppleScript, на Windows -- PowerShell, а на Linux - команды оболочки через Node.js.
Атакующие изменили адрес электронной почты на Proton Mail для получения подтверждений с учётной записи жертвы. Они сумели получить токен доступа, который позволил выпустить заражённые версии Axios непосредственно в реестр npm.
Рекомендации для пользователей
Пользователи, установившие версию Axios 1.14.1 или 0.30.4, должны немедленно сменить пароли и ccredentials, а также перейти на безопасные версии 1.14.0 или 0.30.3. Вредоносные версии пакета больше недоступны для загрузки с npm.
Эта атака подчеркивает уязвимость в цепочке поставок программного обеспечения и важность регулярного обновления и проверки используемых библиотек для разработки. Разработчикам следует быть особенно внимательными к обновлениям зависимостей и практике управления безопасностью.
Аналитики прогнозируют, что подобные атаки будут продолжаться, подчеркивая необходимость в ужесточении мер безопасности для защиты от уязвимостей в открытых исходниках.