Злоумышленники атаковали клиентские библиотеки dYdX, чтобы похитить ключи от криптокошельков

Злоумышленники атаковали клиентские библиотеки dYdX, чтобы похитить ключи от криптокошельков

Команда по исследованию угроз компании Socket обнаружила целенаправленную цепочку поставок, скомпрометировавшую пакеты протокола децентрализованной биржи dYdX в реестрах npm и PyPI. Атака затронула разработчиков, использующих библиотеки "@dydxprotocol/v4-client-js" для JavaScript и "dydx-v4-client" для Python, которые предназначены для взаимодействия с протоколом dYdX версии 4. Эти инструменты широко применяются в торговых ботах, системах алгоритмического трейдинга и других приложениях DeFi для управления кошельками, подписания транзакций и размещения ордеров.

Описание

Злоумышленники внедрили вредоносный код непосредственно в ядро пакетов, скомпрометировав несколько версий одновременно в обеих экосистемах. В случае npm-пакета вредоносная функция "createRegistry()" в файлах "registry.ts" и "registry.js" похищала сид-фразы (мнемонические фразы для восстановления кошелька) и отпечаток устройства, отправляя их на контролируемый злоумышленниками домен. Питоновская версия содержала аналогичный механизм кражи учетных данных, а также дополнительную нагрузку (payload) в виде трояна удаленного доступа (Remote Access Trojan, RAT), способного выполнять произвольный код на зараженной системе.

Детали компрометации и вредоносная нагрузка

Атака затронула конкретные версии пакетов. В npm это версии 3.4.1, 1.22.1, 1.15.2 и 1.0.31 пакета "@dydxprotocol/v4-client-js". В PyPI под удар попала версия 1.1.5post1 пакета "dydx-v4-client". Вредоносный код был встроен в ключевые файлы пакетов, такие как "registry.ts", "registry.js" и "account.py", что обеспечивало его выполнение при обычном использовании библиотеки разработчиками.

Механизм кражи учетных данных в обеих экосистемах работал схожим образом. При передаче сид-фразы в скомпрометированные функции данные вместе с детальным отпечатком устройства тайно отправлялись на сервер "dydx[.]priceoracle[.]site". Этот домен, зарегистрированный 9 января 2026 года, использовал метод тайпсквоттинга, имитируя легитимные сервисы dYdX и ценовых оракулов. Отпечаток устройства собирал информацию о MAC-адресе, имени хоста, операционной системе и других идентификаторах, позволяя злоумышленнику отслеживать жертв.

Питоновский пакет представлял повышенную опасность из-за встроенного трояна удаленного доступа. Вредоносная нагрузка была тщательно обфусцирована с помощью 100 итераций преобразований, включавших реверс строки, декодирование Base64 и распаковку zlib. После деобфускации код трояна запускался в фоновом потоке при импорте пакета. Этот RAT периодически связывался с командным сервером, получал инструкции в виде питоновского кода и выполнял их в скрытом процессе, что предоставляло злоумышленникам практически полный контроль над системой жертвы.

Контекст и масштаб угрозы

dYdX является одной из крупнейших децентрализованных бирж деривативов с совокупным объемом торгов за все время, превышающим 1.5 триллиона долларов. Библиотеки, ставшие целью атаки, критически важны для множества сервисов, автоматизирующих торговлю. Приложения, которые используют эти пакеты в контексте, связанном с хранением приватных ключей или сид-фраз, например торговые боты или бэкенд-сервисы, становились высокоценными целями.

Данный инцидент не является изолированным. Ранее инфраструктура, связанная с dYdX, уже подвергалась атакам. В сентябре 2022 года была скомпрометирована цепочка поставок через npm после взлома учетной записи сопровождающего. В июле 2024 года произошла атака с перехватом DNS на веб-сайт dYdX v3. Однако текущая атака представляет собой эскалацию, поскольку напрямую затрагивает клиентские библиотеки, которые разработчики встраивают в свои приложения, а не только веб-интерфейс для конечных пользователей.

Обнаружение и реакция

Искусственный интеллект сканера Socket выявил подозрительное поведение в пакетах 27 января 2026 года, вскоре после их публикации. На следующий день компания уведомила команду dYdX о компрометации. В тот же день dYdX публично подтвердила инцидент через свой официальный аккаунт в X (ранее Twitter), предупредив пользователей о вредоносных пакетах. Статус домена "priceoracle[.]site" вскоре сменился на "client hold", что, вероятно, указывает на его блокировку после сообщений о злоупотреблении.

Рекомендации по безопасности

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

Индикаторы компрометации

Комментарии: 0