В официальном репозитории Rust-экосистемы Crates.io обнаружены два вредоносных пакета — faster_log и async_println, суммарно собравшие около 8500 загрузок. По данным компании Socket, крейты были опубликованы 25 мая 2025 года и незаметно использовали функциональность приложений на Rust для сканирования окружения разработчиков и исходного кода с целью выуживания приватных криптовалютных ключей и других чувствительных секретов.
Атака на цепочку поставок Crates.io: что произошло
Crates.io, выступающий для Rust в роли централизованного каталога пакетов (аналог npm, PyPI и RubyGems), вновь оказался площадкой для атаки на цепочку поставок. По оценке исследователей, faster_log был загружен примерно 7200 раз, а async_println — около 1200 раз. Оба пакета уже удалены с платформы. Такой вектор атак опасен тем, что злоумышленники внедряют вредоносный код туда, где разработчики ожидают доверенную функциональность.
Блокировка аккаунтов и удаление пакетов
Администрация Crates.io заблокировала учетные записи rustguruman и dumbnbased, публиковавшие эти крейты, 24 сентября. Представители платформы уточнили, что у вредоносных пакетов не было downstream-зависимостей, а заблокированные пользователи не размещали другие проекты. Тем не менее всем, кто мог интегрировать эти пакеты, рекомендуется немедленно провести аудит окружения.
Как маскировались вредоносные крейты
Злоумышленники выбрали тактику правдоподобной маскировки под популярный легитимный пакет fast_log. Были скопированы README, метаданные и сохранена базовая функциональность логирования, что снижало вероятность выявления. При этом расширенные возможности упаковки логов использовались для поиска и извлечения конфиденциальной информации, а вредоносный пейлоад активировался во время выполнения приложений, использующих эти зависимости.
Механизм эксфильтрации и инфраструктура
Встроенный пейлоад сканировал системное окружение и файлы проекта на предмет приватных криптовалютных ключей и других секретов. При обнаружении совпадений данные упаковывались вместе с контекстом — путями к файлам и номерами строк — и отправлялись на жестко закодированный адрес Cloudflare Workers: mainnet[.]solana-rpc-pool[.]workers[.]dev. Исследователи отмечают, что эндпоинт принимал POST-запросы в ходе анализа, однако не является официальным RPC-узлом Solana, что дополнительно указывает на злоумышленную инфраструктуру управления и эксфильтрации.
Риск для разработчиков и проекты на Rust
Даже при отсутствии downstream-зависимостей факт более чем восьми тысяч установок создает реальный риск компрометации. Если проект собирался или запускался с использованием faster_log или async_println, существует вероятность утечки приватных ключей, токенов доступа и иных секретов с рабочей станции разработчика. В такой модели атак злоумышленник получает преимущества от доверия к экосистеме и автоматизации сборок — характерная черта инцидентов с пакетными менеджерами разных языков.
Рекомендации по защите экосистемы Rust
Немедленные действия для потенциально затронутых:
- Удалите вредоносные пакеты из зависимостей и выполните полную переустановку окружения сборки.
- Ротируйте секреты: переведите цифровые активы в новые кошельки и замените скомпрометированные ключи и токены.
- Проведите инвентаризацию и очистку репозиториев, артефактов сборки и CI/CD кэшей, где могли сохраниться секреты в логах.
Профилактика и процессная защита:
- Проверяйте репутацию издателя на Crates.io, историю коммитов и соответствие исходников опубликованной версии.
- Фиксируйте версии зависимостей и используйте инструменты контроля цепочки поставок (например, аудит зависимостей, блок-листы, lock-файлы).
- Пересматривайте инструкции по сборке, исключая автоматическую загрузку неподтвержденных пакетов.
- Храните секреты в менеджерах секретов, ограничивайте их попадание в логи и изолируйте окружения сборки.
Инцидент с faster_log и async_println подчеркивает, что атаки на цепочку поставок остаются одним из наиболее эффективных векторов компрометации разработческих сред. Используйте проверенные источники зависимостей, внедряйте процедуры обзора пакетов и регулярно проводите аудит секретов. Чем раньше организация переходит к дисциплине “доверяй, но проверяй” в отношении экосистемных пакетов, тем ниже вероятность утечки ключей и последующих финансовых потерь.