Paquetes oficiales para interactuar con el protocolo dYdX v4 en los ecosistemas npm y PyPI fueron manipulados para distribuir código malicioso. La campaña apuntó directamente a desarrolladores y a usuarios que integran dYdX en sus aplicaciones, combinando el robo de seed phrases de monederos con la instalación de un troyano de acceso remoto (RAT) capaz de tomar control de los sistemas comprometidos.
Compromiso de paquetes dYdX v4: un ataque clásico a la cadena de suministro de software
Según el análisis de la firma de seguridad Socket, el incidente afectó a dos clientes clave del protocolo dYdX v4: el paquete de npm @dydxprotocol/v4-client-js y el paquete de Python dydx-v4-client publicado en PyPI. Estas bibliotecas se emplean para firmar transacciones, gestionar órdenes y operar monederos, por lo que se sitúan en el núcleo de confianza de la infraestructura de sus usuarios.
Las versiones maliciosas se publicaron a través de las cuentas oficiales de dYdX en los registros de paquetes, lo que apunta a una comprometida de credenciales de desarrolladores más que a una vulnerabilidad en npm o PyPI. Las versiones afectadas identificadas son:
npm (@dydxprotocol/v4-client-js): 3.4.1, 1.22.1, 1.15.2, 1.0.31
PyPI (dydx-v4-client): 1.1.5post1
Con un volumen total de negociación superior a 1,5 billones de dólares y un promedio diario estimado entre 200 y 540 millones de dólares, la manipulación de librerías de acceso a dYdX convierte este incidente en un caso crítico de ciberseguridad en finanzas descentralizadas (DeFi).
Payload en JavaScript: robo de seed phrases y huella digital del dispositivo
En el ecosistema npm, el código malicioso se integró en los archivos registry.ts y registry.js, ejecutados de forma rutinaria al usar el cliente. La lógica modificada interceptaba y enviaba a los atacantes tanto las seed phrases de los monederos como un fingerprint del dispositivo, es decir, una huella digital basada en características técnicas del sistema.
La exfiltración se efectuaba hacia el dominio dydx.priceoracle[.]site, diseñado con una técnica de typosquatting: un nombre muy similar al dominio legítimo (dydx.xyz) para pasar desapercibido. Asociar las seed phrases a un dispositivo concreto permite a los atacantes:
• rastrear a las víctimas en múltiples incidentes;
• priorizar ataques contra cuentas con mayores activos;
• correlacionar credenciales robadas con actividad real en cadena.
Payload en Python: RAT integrado y control remoto sigiloso
El paquete dydx-v4-client en PyPI incorporaba un componente aún más avanzado. Además de robar seed phrases, incluía un RAT (Remote Access Trojan) que se activaba inmediatamente al importar la librería, ejecutándose como un hilo en segundo plano.
Cada 10 segundos el troyano establecía conexión con dydx.priceoracle[.]site y recibía código Python arbitrario, que era ejecutado en un subproceso aislado sin mostrar salida visible. Para autenticarse ante el servidor de mando y control se usaba un token incrustado:
490CD9DAD3FAE1F59521C27A96B32F5D677DD41BF1F706A0BF85E69CA6EBFE75
En sistemas Windows se empleaba la bandera CREATE_NO_WINDOW, que permite ejecutar procesos sin abrir ventana de consola, dificultando la detección por parte del usuario o de herramientas de monitorización básicas.
Impacto del RAT en entornos de desarrollo y operaciones
Con este nivel de acceso, los atacantes obtienen, en la práctica, una consola remota dentro del entorno del desarrollador o del operador. Entre las acciones posibles se encuentran:
• ejecutar cualquier código Python con los permisos del usuario;
• robar claves SSH, tokens de API y secretos de CI/CD;
• extraer código fuente e instrumentos internos;
• desplegar backdoors adicionales y otra malware;
• manipular datos críticos y repositorios de código;
• moverse lateralmente dentro de la red corporativa.
Una operación dirigida y técnicamente sofisticada
El código malicioso se insertó estratégicamente en componentes que se ejecutan en todos los usos normales de las bibliotecas: registry.ts / registry.js en npm y account.py en PyPI. En la versión de Python, el atacante aplicó varias capas de ofuscación, dificultando el análisis estático del código.
Socket destaca que el operador mantuvo un conjunto coherente de dominios de exfiltración, tokens y lógica de fingerprinting, adaptando al mismo tiempo la técnica a las particularidades de cada ecosistema (JavaScript y Python). El 28 de enero de 2026, tras ser notificado, el equipo de dYdX confirmó públicamente el incidente y señaló que el código fuente y los paquetes publicados en GitHub (dydxprotocol) no se habían visto afectados.
Historial de ataques contra dYdX y lecciones para la seguridad en criptomonedas
Este episodio encaja en un patrón de ataques reiterados contra la infraestructura de dYdX. En 2022, la cuenta de npm de un empleado fue comprometida para publicar paquetes maliciosos con funcionalidades de robo de datos. En 2024, el sitio de dYdX v3 sufrió un DNS hijacking, redirigiendo a los usuarios a una página de phishing donde se les inducía a firmar transacciones que vaciaban sus monederos.
En conjunto, estos incidentes ilustran una campaña sostenida de ataques a la cadena de suministro, en la que los adversarios explotan canales de confianza —DNS, registros de paquetes y cuentas oficiales de desarrolladores— para eludir controles de seguridad tradicionales.
La protección de activos en criptomonedas exige hoy un enfoque sistemático sobre la seguridad de la cadena de suministro de software. Para equipos de desarrollo y seguridad, resulta clave reforzar las cuentas con FIDO2 y llaves hardware, automatizar la revisión de dependencias (SCA) y el análisis de anomalías en nuevas versiones, adoptar compilaciones reproducibles y mantener espejos locales de librerías de confianza. Para los usuarios, es recomendable evitar mantener grandes saldos en monederos cuyas seed phrases se hayan introducido o gestionado en entornos de desarrollo y auditar de forma periódica las herramientas utilizadas. Elevar estos estándares como práctica habitual hará significativamente más difícil la repetición de ataques similares a la cadena de suministro en el ecosistema cripto.