Команда по исследованию угроз компании 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", что, вероятно, указывает на его блокировку после сообщений о злоупотреблении.
Рекомендации по безопасности
Этот инцидент высвечивает уязвимость цепочек поставок в экосистемах с открытым исходным кодом, особенно в высокорискованной области криптовалют. Атака демонстрирует, что компрометация учетной записи разработчика позволяет злоумышленникам внедрять вредоносный код в доверенные пакеты, обходя стандартные проверки. Для противодействия подобным угрозам командам рекомендуется применять многоуровневую стратегию защиты. Критически важно внедрить автоматическое сканирование зависимостей на этапах разработки и сборки, мониторинг сетевой активности приложений и строгое следование принципу наименьших привилегий для всех систем, работающих с конфиденциальными данными. Кроме того, необходимо всегда проверять подлинность доменов и пакетов, особенно при работе с финансовыми инструментами.
Индикаторы компрометации
URLs
- https://dydx.priceoracle.site
- https://dydx.priceoracle.site/py
- https://dydx.priceoracle.site/v4/price
Malicious Packages
- npm: @dydxprotocol/v4-client (v1.0.31, v1.15.2, v1.22.1, v3.4.1)
- PyPI: dydx-v4-client (v1.1.5post1)
Hardcoded Credentials
- API key: dydx1gh6fj28w37rykqu6szgp9q0rzejslmj0umk55c
- RAT authorization token: 490CD9DAD3FAE1F59521C27A96B32F5D677DD41BF1F706A0BF85E69CA6EBFE75