Популярная библиотека Axios оказалась заражена трояном через npm

Популярная библиотека Axios оказалась заражена трояном через npm

Популярная библиотека Axios оказалась заражена трояном через npm

Популярная JavaScript-библиотека Axios оказалась жертвой атаки на цепочку поставок: злоумышленник скомпрометировал npm-аккаунт одного из ведущих мейнтейнеров и через него опубликовал две вредоносные версии пакета — axios@1.14.1 и axios@0.30.4.

По данным исследователей, обе сборки распространяли скрытый троян для macOS, Windows и Linux. Axios при этом остаётся одной из самых популярных библиотек в экосистеме npm — её скачивают примерно 100 млн раз в неделю.

В заражённые версии Axios добавили всего одну новую зависимость — plain-crypto-js@4.2.1, замаскированную под легитимную библиотеку crypto-js. При этом в исходном коде Axios эта зависимость никак не использовалась: её задачей был запуск postinstall-скрипта, который связывался с управляющим сервером, скачивал вредоносную нагрузку под конкретную ОС и затем зачищал следы своей работы.

Атака развивалась поэтапно. Сначала в npm загрузили «чистую» приманку plain-crypto-js, чтобы создать историю публикаций, а затем — уже заражённую версию. После этого через взломанный аккаунт мейнтейнера были опубликованы две вредоносные версии Axios — сначала для ветки 1.x, а затем для старой, но всё ещё популярной ветки 0.x. То есть атакующий накрыл сразу оба основных сценария использования библиотеки.

Согласно анализу, вредоносный код начинал сетевую активность почти сразу после установки пакета. На macOS троян маскировался под системный процесс Apple, на Windows использовал PowerShell и скрытый скрипт, а на Linux разворачивал Python-бэкдор во временной директории. После этого вредоносный модуль удалял собственные файлы и подменял их «чистой» заглушкой, чтобы при поверхностной проверке установленный пакет не вызывал подозрений.

Вредоносные версии, по имеющимся данным, оставались доступными в npm примерно два-три часа, после чего их удалили, а пакет plain-crypto-js попал под блокировку. При этом заражённые релизы не появились среди тегов GitHub-репозитория Axios, что указывает на публикацию напрямую в npm в обход обычного CI/CD-пайплайна проекта.

Подпишитесь на новости

На Redmi запустили iOS 16, но без связи, камер и App Store

Разработчики смогли запустить iOS 16 на Redmi Note 10 Pro и Redmi Note 12 4G. Это нативная зуагрузка системных компонентов Apple на чужом железе, без Android под ними и без эмуляции. Правда, список неработающих функций впечатляет сильнее списка работающих.

Подробности команда dipa-studio опубликовала в репозитории ios-sweet. Основой стали адаптированное ядро Apple XNU и системные компоненты iOS 16.7.16 из прошивки iPhone X.

На Redmi Note 10 Pro работают сенсор и физические кнопки, открываются настройки, пункт управления и центр уведомлений. Но выйти из приложения привычным жестом нельзя, переход на главный экран ещё не реализован.

Графического драйвера тоже нет: интерфейс рисует процессор, выдавая примерно 20-30 кадров в секунду. Не работают Wi‑Fi, Bluetooth, сотовая связь, звук, камеры и GPS. App Store и вход в Apple ID недоступны, загрузка занимает около четырёх минут.

Порт ios-topaz для Redmi Note 12 4G пока добирается только до экрана блокировки: сенсор не работает, поэтому разблокировать устройство не получается.

Авторы называют проект экспериментальным. Значительная часть механизмов безопасности отключена, установка стирает пользовательские данные Android.

RSS: Новости на портале Anti-Malware.ru