Атака на crates.io: вредоносные Rust-пакеты запускали код при сборке

20 августа 2026 года скомпрометированная учетная запись автора crates.io опубликовала вредоносные версии трех пакетов Rust, arrayref 0.3.10, internment 0.8.7 и append-only-vec 0.1.9. Легитимный исходный код библиотек сохранился, однако в каждый релиз добавили зависимость от proc-macro1 >=1.0.107, являющегося омонимом proc-macro2.

Считается, что автор пакетов не был злоумышленником. Вероятнее всего, была скомпрометирована его учетная запись или учетные данные для публикации.

Как работала вредоносная цепочка

proc-macro1 1.0.107 содержал вредоносный build.rs и добавлял зависимости, необходимые для сборки base64, rustls и ureq. Скрипт восстанавливал зашифрованный URL, скачивал специфичный для платформы бинарный файл с адреса 23.254.165.112:9089 по TLS с отключенной проверкой сертификата, сохранял его во временную директорию и запускал.

На Unix использовался путь /tmp/rust-setup. В Windows применялись файлы rust-setup.ps1 и rust-setup-launch.vbs. Процесс отделялся с помощью std::mem::forget. Благодаря этому сборка могла завершиться успешно, пока вредоносная нагрузка продолжала работать.

В качестве аргумента управления бинарный файл получал адрес 23.254.165.112:443.

Для запуска вредоносного кода было достаточно обычного выполнения cargo build. Скрипты сборки Rust запускаются во время компиляции независимо от того, используется ли затронутый код библиотеки.

Публикация зараженных версий

Вредоносные версии опубликовали с 07:15 до 07:38 UTC. Они оставались доступными в течение примерно 86–107 минут.

Более ранние чистые версии arrayref временно отозвали, то есть пометили как yanked. Это потенциально могло направить пользователей на зараженную версию.

Второй crate-дропер, proc-macro-en, использовал тот же скрипт сборки. Дополнительные crate-пакеты, принадлежащие злоумышленникам, включая arone и aronenao, также содержали вредоносные скрипты сборки.

Признаки постэксплуатационной активности

В Linux сообщалось о постэксплуатационной активности, которая включала:

  • подключения к 23.254.167.107 и 23.254.167.216;
  • создание директорий $HOME/.config/AzureKits и $HOME/.config/ServiceKit;
  • создание бинарных файлов с именами MonoService и MonoXpc;
  • закрепление в системе с использованием systemd.

Рекомендации для организаций

Организациям следует проверить:

  • файлы блокировки;
  • кэши Cargo;
  • vendored-зависимости;
  • CI-раннеры;
  • временные каталоги;
  • исторические сетевые журналы.

Затронутые машины необходимо считать скомпрометированными. Учетные данные и ключи подписи следует ротировать. Затронутые артефакты сборки нужно пересобрать на чистой инфраструктуре.

Чистые версии пакетов

  • arrayref 0.3.9;
  • internment 0.8.6;
  • append-only-vec 0.1.8.

Отчет получен из сервиса CTT Report Hub. Права на отчет принадлежат его владельцу.

Ознакомиться подробнее с отчетом можно по ссылке.

Технологии киберугроз
Автор: Технологии киберугроз
Технологии киберугроз – технологическая компания, специализирующаяся на решениях по анализу угроз для предприятий любого размера. Мы собираем, нормализуем, обогащаем информацию о киберугрозах со всего мира. Нашими источниками являют более 260 открытых фидов, более 100 открытых поставщиков Threat Intelligence-отчетов, открытые online sandbox, социальные сети и репозитории GitHub. Мы также предоставляем ряд сервисов по: семантическом анализу Threat Intelligence-отчетов и приведения их в машиночитаемый формат STIX 2.1, проверки IoC на потенциальные ложноположительные сработки, а также получению WHOIS-записей для доменных имен.
Комментарии: