Вредоносные Rust-пакеты на crates.io скомпрометировали сборки
20 августа 2026 года в репозитории crates.io обнаружили вредоносные версии пакетов Rust arrayref 0.3.10, internment 0.8.7 и append-only-vec 0.1.9. Они содержали пакет proc-macro1, созданный по принципу typosquatting и имитировавший легитимный пакет proc-macro2.
Атака происходила во время компиляции. Скрипт build.rs запускался автоматически, поэтому жертвой мог стать любой проект, который собирал зависимость с вредоносной версией. При этом сборка завершалась штатно, что помогало скрыть компрометацию и не вызывало подозрений у разработчиков.
Как работала вредоносная цепочка
Скрипт сборки восстанавливал URL-адрес управления из фрагментов Base64, отключал проверку TLS-сертификата и загружал платформозависимый второй этап полезной нагрузки. На Unix-системах файл записывался в /tmp/rust-setup, а в Windows использовался временный путь. Затем компонент запускался с адресом управления в качестве аргумента.
Полезные нагрузки поддерживали следующие платформы:
- x86_64 Linux;
- Windows;
- macOS;
- aarch64 macOS.
Второй этап внедрения устанавливал beaconing через HTTPS POST на endpoint /49890878. На сервер отправлялся JSON в кодировке Base64. Данные включали сведения о хосте и другую собранную информацию.
Какие данные собирало вредоносное ПО
Компонент собирал имена хостов, имена пользователей, сведения об операционных системах и список установленных приложений. Кроме того, он обращался к SQLite-базам профилей браузеров Chrome, Brave и Edge.
Вредоносное ПО проверяло базы на наличие записей о сохраненных паролях и настроек расширений. Анализ показал, что оно перечисляло сохраненные пароли, но не извлекало зашифрованные учетные данные.
Закрепление и удаленное управление
Для закрепления в системе использовались разные механизмы, зависящие от платформы. В Windows применялись ключи запуска в реестре, в macOS, LaunchAgents, в Linux, пользовательские службы systemd.
Поддерживаемые команды позволяли:
- завершать работу вредоносного компонента;
- перенастраивать C2 и beaconing;
- устанавливать закрепление;
- выполнять скрипты PowerShell или оболочки синхронно либо в фоновом режиме.
Если основной C2 становился недоступен, алгоритм генерации доменов создавал десять доменов в зоне .com каждые пять дней.
Связь с другими кампаниями
Инфраструктура кампании использовала endpoint /49890878 и характеристики TLS-сертификата, связанные с кампанией Mastra. Дополнительную инфраструктуру Mandiant связала с деятельностью северокорейских акторов.
Какие меры рекомендуются организациям
Любую рабочую станцию или CI-раннер, которые собирали затронутые версии пакетов, следует считать скомпрометированными. Организациям рекомендуется:
- проверить lock-файлы и кэши;
- сменить доступные секреты и ключи подписи;
- пересобрать артефакты, подвергшиеся воздействию;
- удалить вредоносные компоненты и механизмы закрепления;
- сбросить потенциально скомпрометированные учетные данные браузера;
- расследовать неожиданные зависимости времени сборки и скоординированные удаления пакетов.
Отчет получен из сервиса CTT Report Hub. Права на отчет принадлежат его владельцу.
Ознакомиться подробнее с отчетом можно по ссылке.



