Мимикрия в `crates.io`: как поддельные Rust-пакеты охотились за криптоключами

Два вредоносных пакета для языка Rust, faster_log и async_println, были загружены 8 424 раза из официального репозитория crates.io. Их основной целью была кража приватных ключей от кошельков Solana и Ethereum непосредственно из исходного кода проектов разработчиков. Атака была обнаружена и задокументирована специалистами компании по безопасности программного обеспечения Socket.
Мимикрия в `crates.io`: как поддельные Rust-пакеты охотились за криптоключами
Изображение носит иллюстративный характер

Атака, классифицированная как атака на цепочку поставок, использовала технику тайпсквоттинга. Злоумышленники имитировали популярную легитимную библиотеку fast_log, создав пакеты с очень похожими названиями, чтобы обмануть разработчиков, допустивших опечатку при поиске.

Вредоносные пакеты были опубликованы 25 мая 2025 года пользователями с псевдонимами rustguruman и dumbnbased. Для создания видимости легитимности злоумышленники скопировали не только функциональный код из библиотеки fast_log, но и её документацию, включая файл README. Кроме того, в метаданных пакетов была указана ссылка на реальный GitHub-репозиторий оригинального проекта, что должно было усыпить бдительность жертв.

Вредоносный код активировался не на этапе компиляции, а во время выполнения программы, например, при запуске тестов. Во время операции, замаскированной под «упаковку логов», скрипт запускал рекурсивный поиск по всем файлам проекта с расширением .rs. Целью поиска были строки, соответствующие шаблонам приватных ключей Solana и Ethereum, а также массивы байтов в скобках.

Все найденные совпадения немедленно отправлялись через HTTP POST-запрос на командный сервер (C2), размещенный на платформе Cloudflare Workers. Адрес сервера — mainnet.solana-rpc-pool.workers[.]dev — был специально выбран, чтобы имитировать легитимный домен Solana api.mainnet-beta.solana[.]com, что является еще одним элементом социальной инженерии.

Администрация crates.io оперативно отреагировала на инцидент. По словам представителя платформы Уолтера Пирса, оба вредоносных пакета были удалены из реестра. Учётные записи издателей rustguruman и dumbnbased были заблокированы, а все связанные с ними логи сохранены для дальнейшего анализа.

Несмотря на значительное число скачиваний, атака имела ограниченный радиус действия. Согласно данным crates.io, у вредоносных пакетов не было зависимых пакетов (downstream crates), что предотвратило их дальнейшее лавинообразное распространение по экосистеме. Анализ показал, что злоумышленники не публиковали других пакетов под этими учётными записями.

Установлено, что учётная запись dumbnbased на GitHub была создана 27 мая 2023 года, а rustguruman — 25 мая 2025 года. На момент расследования оба аккаунта на GitHub оставались доступными.

Исследователь безопасности Кирилл Бойченко отметил, что этот инцидент демонстрирует, как «значительный риск для цепочки поставок может быть создан с помощью минимального кода и простого обмана». Имитация имени, дизайна и документации легитимной библиотеки позволяет злоумышленникам обходить поверхностную проверку и успешно внедрять вредоносное ПО для кражи конфиденциальных данных из сред разработки.


Новое на сайте

19857Острова как политический побег: от Атлантиды до плавучих государств Питера тиля 19856Яйца, которые спасли предков млекопитающих от худшего апокалипсиса на земле? 19855Могут ли омары чувствовать боль, и почему учёные требуют запретить варить их живыми? 19854Премия в $3 млн за первое CRISPR-лечение серповидноклеточной анемии 19853Почему сотрудники игнорируют корпоративное обучение и как это исправить 19852Тинтагель: место силы Артура или красивая легенда? 19851Голоса в голове сказали правду: что происходит, когда галлюцинации ставят диагноз точнее... 19850Куда исчезает информация из чёрных дыр, если они вообще исчезают? 19849Чёрная дыра лебедь Х-1 бросает джеты со скоростью света — но кто ими управляет? 19848Что увидели фотографы над замком Линдисфарн — и почему они закричали? 19847Почему антисептики в больницах могут создавать устойчивых к ним микробов? 19846Правда ли, что курица может жить без головы? 19845Как Оскар Уайльд использовал причёску как оружие против викторианской морали? 19844Назальный спрей против всех вирусов: как далеко зашла наука 19843«Я ещё не осознал, что мы только что сделали»: первая пресс-конференция экипажа Artemis II
Ссылка