Компрометация цепочки поставок: Rust‑crates крадут ключи Solana и Ethereum

Исследователи безопасности обнаружили две вредоносные библиотеки на crates.io, которые выдавали себя за легитимный регистратор fast_log, но на самом деле похищали приватные ключи кошельков Solana и Ethereum. Пакеты публиковались под учетными записями rustguruman и dumbn и использовали хитрую тактику маскировки, чтобы пройти поверхностную проверку разработчиков.
Что было обнаружено
- Два вредоносных crate — маскировались под fast_log, копировали его README и сохраняли основную функциональность ведения логов, чтобы не вызывать подозрений при беглом просмотре.
- Вредоносная логика была встроена в код crate и выводила шаблоны ключей кошельков на удалённую конечную точку command and control (C2).
- Конечная точка была замаскирована под blockchain-RPC-service, чтобы трафик выглядел как обычный сетевой обмен разработчиков и не привлекал внимания при проверке.
- Сопутствующий crate async_println использовал аналогичный механизм эксфильтрации и взаимодействовал с той же C2, отличаясь лишь именами функций и деталями обработки данных.
Механизм атаки
Атака опиралась на классическую схему компрометации цепочки поставок: злоумышленники разместили пакеты, максимально схожие с легитимной библиотекой, чтобы разработчики по невнимательности подключали их в свои проекты. При этом вредоносный код оставлял основную функциональность («логирование») работоспособной, но параллельно фильтровал и отправлял по сети данные, соответствующие шаблонам приватных ключей криптокошельков.
Интересная особенность — маскировка C2 под blockchain-RPC делает трафик похожим на нормальную активность разработчиков, что снижает вероятность детекции.
Действия Crates и влияние
- Команда безопасности Crates вмешалась и заблокировала учётные записи вредоносных издателей, что остановило дальнейшее распространение заражённых пакетов.
- Инцидент квалифицируется как компрометация цепочки поставок и сопоставим с техникой MITRE ATT&CK: T1195.002.
- Случай подчёркивает высокую уязвимость supply chains программного обеспечения и риски при использовании доверенных, но плохо проверенных сторонних библиотек.
Практические рекомендации
- Верифицировать пакеты: проверять подписи, checksum и source provenance перед добавлением в проект.
- Фиксировать и пинировать версии зависимостей (версионирование, lock-файлы).
- Проводить сканирование зависимостей на наличие известных угроз и статический анализ сторонних библиотек.
- Ограничивать сетевые права библиотек и отслеживать аномальный исходящий трафик (особенно к сервисам, маскирующимся под blockchain-RPC).
- Использовать процессы code review и политики допуска для новых внешних пакетов, а также практики reproducible builds и supply chain security.
Вывод
Инцидент с поддельными crate fast_log и async_println — ещё одно напоминание о том, что цепочки поставок остаются одной из наиболее уязвимых точек в современном ПО. Даже пакеты, внешне похожие на знакомые и простые библиотеки, могут содержать скрытую вредоносную функциональность. Разработчикам и организациям следует усиливать контроль за сторонними зависимостями и внедрять многоуровневые меры защиты, чтобы снизить риск кражи приватных ключей и других критичных данных.
Отчет получен из сервиса CTT Report Hub. Права на отчет принадлежат его владельцу.
Ознакомиться подробнее с отчетом можно по ссылке.



