Исследователи кибербезопасности обнаружили четыре вредоносных пакета в репозитории npm, которые целенаправленно крадут учетные данные кошельков Ethereum у разработчиков Web3. Пакеты, опубликованные под псевдонимом flashbotts, имитируют легитимные криптографические утилиты и инфраструктуру Flashbots, используемую для извлечения максимальной ценности (MEV) в сети Ethereum.
Описание
Аналитики компании Socket выявили пакеты ethers-provide-bundle, flashbot-sdk-eth, sdk-ethers и gram-utilz, которые содержат скрытый функционал для перехвата приватных ключей и мнемонических фраз. Похищенные данные передаются на контролируемую злоумышленниками инфраструктуру в Telegram через бота с идентификатором 8083151136. Все пакеты используют идентичную командную инфраструктуру, что подтверждает скоординированную атаку на цепочку поставок программного обеспечения в экосистеме Ethereum.
Мнемоническая seed-фраза, обычно состоящая из 12-24 слов, действует как мастер-ключ для восстановления всех адресов кошельков и приватных ключей. Приватные ключи представляют собой криптографические учетные данные, контролирующие конкретные адреса кошельков. Любой, получивший доступ к мнемонической фразе или приватным ключам, получает полный контроль над криптовалютными активами, включая возможность перевода средств и взаимодействия со смарт-контрактами без возможности отмены операций.
Flashbots играет ключевую роль в экосистеме Ethereum. Его инфраструктура, в частности промежуточное программное обеспечение MEV-Boost, обеспечивает построение около 90% всех блоков в сети Ethereum. Проект направлен на снижение вредоносных форм максимальной извлекаемой ценности, таких как опережающие транзакции и сэндвич-атаки, путем создания структурированного и приватного рынка для построения блоков.
Первый пакет представляет собой наиболее опасную модификацию легитимного класса FlashbotsBundleProvider. Он сохраняет полную совместимость с API Flashbots, внедряя множественные атаки в код. Пакет содержит две версии вредоносного кода: скомпилированный JavaScript-файл и исходный TypeScript-файл. Обе реализации содержат идентичные шаблоны атак с небольшими variations в обработке ошибок.
Код использует жестко заданную SMTP-конфигурацию для передачи учетных данных через электронную почту. Вредоносная активируется immediately при создании провайдера, собирая переменные окружения PRIVATE_KEY_EXECUTOR и PRIVATE_KEY_SPONSOR, обычно используемые в операциях MEV. Пакет также реализует манипуляцию транзакциями в методе signBundle(), перенаправляя неподписанные транзакции на адрес злоумышленника.
Второй пакет маскируется под коллекцию криптографических утилит. Примерно 95% кода состоит из безвредного функционала для избежания подозрений, но содержит критические функции кражи учетных данных, которые активируются при вызове разработчиками. При использовании функций создания кошельков учетные данные немедленно отправляются Telegram-боту злоумышленника.
Третий пакет нацелен на операторов MEV и арбитражных ботов, представляясь клиентской библиотекой Flashbots. В отличие от первого пакета, который ожидает вызовов функций, этот активируется автоматически при создании экземпляра класса, что делает его более агрессивным и трудным для обнаружения.
Четвертый пакет служит выделенным каналом связи для инфраструктуры злоумышленников. Маскируясь под универсальную Telegram-утилиту, он предоставляет интерфейс для передачи произвольных данных в чат злоумышленника.
Все пакеты используют различные техники обфускации, подходящие для их механизмов активации. Код содержит комментарии на вьетнамском языке, что может указывать на языковую принадлежность злоумышленников. Интересно, что злоумышленник добавил легитимный код автора Feross Aboukhadijeh, генерального директора Socket, вероятно, для придания пакетам видимости легитимности.
Эксперты ожидают появления большего количества пакетов для кражи учетных данных, расширяющихся за пределы Ethereum для таргетинга экосистем Solana, Cosmos и других блокчейнов. Злоумышленники используют Telegram для эксфильтрации, устоявшуюся технику, которая злоупотребляет легитимными платформами обмена сообщениями для уклонения от обнаружения традиционными инструментами безопасности.
Специалисты рекомендуют разработчикам проявлять особую осторожность при установке зависимостей, особенно связанных с криптографическими операциями и управлением кошельками. Необходимо тщательно проверять источники пакетов, использовать инструменты безопасности для сканирования зависимостей и регулярно обновлять учетные данные доступа.
Индикаторы компрометации
Threat Actor's Infrastructure
- Telegram Bot: 8083151136:AAEz-Jv8cklMNOaN8dBoq_Uw6IJ4MNnfbmU
- Telegram Chat ID: 5013747314
- SMTP channel: sandbox.smtp.mailtrap.io:2525
- Wallet Address: 0x38F528E7903d6E6A1268459FC65c2ba6350E3E02
Malicious npm Packages
- flashbot-sdk-eth
- sdk-ethers
- @flashbotts/ethers-provider-bundle
- gram-utilz
Threat Actor’s npm profile
- npm author - flashbotts
- npm registered email - aning2028@gmail[.]com