Злоумышленники заразили популярный Rust-крейт arrayref шпионским ПО

Фото: BleepingComputer
Краткий ответ
Хакеры взломали аккаунт разработчика Rust-крейта arrayref и внедрили вредоносный код, который распространялся через цепочку поставок.
Киберпреступники провели атаку на цепочку поставок, скомпрометировав учётную запись разработчика популярного Rust-крейта arrayref. Вредоносный код был внедрён в версии 0.3.10 этого крейта, а также в append-only-vec 0.1.9 и internment 0.8.7. Все три крейта поддерживались одним аккаунтом, что позволило злоумышленникам быстро распространить угрозу.
Вредоносный код маскировался под легитимный пакет proc-macro2, используя схожий по написанию proc-macro1. Во время компиляции автоматически запускался скрипт build.rs, который собирал инфраструктуру атаки из зашифрованных фрагментов и выбирал подходящую полезную нагрузку в зависимости от операционной системы. На Unix-системах создавался файл /tmp/rust-setup, а на Windows — %TEMP%\rust-setup.ps1.
Второй этап атаки включал сбор данных с заражённых устройств. Malware похищал учётные данные из браузеров Google Chrome, Brave и Edge, обращаясь к базам данных SQLite. Для обеспечения постоянного доступа использовались механизмы автозапуска: на Windows — через реестр, на macOS — через LaunchAgent, а на Linux — через systemd. Эксперты компании Wiz отмечают, что инфраструктура атаки пересекается с деятельностью северокорейских хакерских групп.
Атака началась 20 августа в 01:17 UTC с создания поддельного аккаунта на GitHub, имитирующего известного разработчика Rust. К 07:15 злоумышленники опубликовали заражённую версию arrayref через легитимный аккаунт разработчика. В течение 1,5 часов вредоносные версии крейтов были доступны для установки, что могло затронуть более 260 млн загрузок. Сервис crates.io оперативно удалил заражённые пакеты после обнаружения инцидента.
Разработчикам, которые устанавливали крейты в период атаки, рекомендуется проверить системы на компрометацию. В случае обнаружения угрозы необходимо сменить все доступные учётные данные, токены CI/CD, ключи подписи и восстановить среду из безопасных резервных копий. Для предотвращения подобных инцидентов эксперты советуют фиксировать версии зависимостей в проектах.
Частые вопросы
- Какие Rust-крейты были заражены в этой атаке?
- Вредоносный код был внедрён в три крейта: arrayref версии 0.3.10, append-only-vec версии 0.1.9 и internment версии 0.8.7. Все они поддерживались одним аккаунтом.
- Какие данные похищал вредоносный код?
- Malware собирал учётные данные из браузеров Google Chrome, Brave и Edge, а также системную информацию. На Windows, macOS и Linux устанавливался механизм для автоматического запуска при загрузке системы.
- Как проверить, затронута ли система этой атакой?
- Рекомендуется проверить файлы Cargo.lock на наличие заражённых версий крейтов, искать созданные файлы (/tmp/rust-setup или %TEMP%\rust-setup.ps1) и анализировать сетевой трафик на подключения к IP-адресу 23.254.165.112.
- Связана ли эта атака с деятельностью хакерских групп?
- Эксперты отмечают, что инфраструктура атаки пересекается с недавними кампаниями северокорейских хакеров, включая атаки Mastra и axios.
Лента для Дзен: /feed/dzen.xml · RSS: /feed.xml