Хакеры подсадили троян в одну из самых скачиваемых библиотек JavaScript

Читать в полной версии

Хакерам удалось скомпрометировать аккаунт ведущего разработчика библиотеки Axios в реестре npm и опубликовать две вредоносные версии пакета, распространявшие кроссплатформенный троян удалённого доступа. Заражённые релизы axios@1.14.1 и axios@0.30.4 были доступны для загрузки в течение двух-трёх часов. Эксперты по безопасности рекомендуют считать скомпрометированными все системы, на которых выполнялась установка этих версий.

Источник изображения: AI

По сообщению Tom's Hardware, атака зафиксирована 30 марта и была реализована через скрытую зависимость plain-crypto-js@4.2.1, представляющую из себя поддельный пакет, замаскированный под легитимную библиотеку CryptoJS, реализующую набор стандартных криптографических алгоритмов на JavaScript.

При установке был запущен сценарий, который загружал вирус, адаптированный под операционные системы macOS, Windows и Linux. По данным аналитиков StepSecurity, вредоносный код связывался с управляющим сервером (sfrclak.com) всего через 1,1 секунды после начала установки npm-пакета.

На macOS троян сохранялся в /Library/Caches/com.apple.act.mond, на Windows — копировал PowerShell в %PROGRAMDATA%\wt.exe, на Linux — загружал Python-версию RAT в /tmp/ld.py. Отмечается, что поскольку данную библиотеку скачивают около 100 млн раз в неделю, инцидент создал угрозу для огромной аудитории.

Подготовка к атаке заняла около 18 часов, в течение которых хакеры загрузили чистую версию plain-crypto-js для создания истории публикаций, а затем заменили её на троян. После этого через взломанный аккаунт мейнтейнера Джейсона Сааймана (Jason Saayman) с разницей в 39 минут были опубликованы заражённые ветки самой библиотеки Axios. После успешного развёртывания скрипт автоматически удалял все следы своего присутствия, поэтому последующая визуальная проверка кода ничего подозрительного не показывала.

Заражённые версии пробыли в открытом доступе примерно три часа, после чего администрация npm удалила их и заблокировала вредоносную зависимость. Эти релизы публиковались в обход стандартного конвейера CI/CD, поэтому они так и не появились в официальном репозитории Axios на GitHub. Крупные IT-компании, включая Snyk, Wiz и Vercel, выпустили предупреждения с рекомендацией считать пострадавшие машины полностью скомпрометированными и немедленно сменить все учётные данные.