Ssylka

Мимикрия в `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 оставались доступными.

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


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

18322Хранят ли два священных острова в ядовито-зеленом озере мумии древних императоров? 18321Что может рассказать пепел сгоревшей таверны XIX века? 18320Возможно ли создать универсальный донорский орган, изменив его группу крови? 18319Какие пять уязвимостей от Oracle до Apple стали оружием в руках хакеров? 18318Что может рассказать забытый соперник Рима о его истинном облике? 18317Почему оптическая иллюзия обманывает рыб, но не горлиц? 18316Эффект домино в облаке: как один сбой Amazon парализовал интернет 18315Непреодолимый энергетический барьер человеческого тела 18314Воздушный перегон в Бэдлендс: как вертолеты сохраняют популяцию бизонов 18313Бразильская спам-империя в магазине Google Chrome 18312Чистка рая: война Лос-Анджелеса против белых безработных 18311Архитектура страха: научное объяснение призраков и проклятых мест 18310Может ли копирование кода с веб-страницы обойти все ваши системы защиты? 18309Выжившие из Помпеи: как историк отследил беженцев Везувия 18308Куда исчезли тысячи жителей Помпей и Геркуланума?