MagnoSec
Interfaz de Polymarket con gráficos de predicción y candado roto representando el ataque a la cadena de suministro que costó 3 millones de dólares

MagnoSec Blog

Polymarket Pierde 3 Millones en un Ataque a la Cadena de Suministro: La Lección para Cualquier Plataforma Web3

Por Equipo MagnoSec5 min de lectura

El contexto: qué ha pasado y por qué importa

Polymarket es la plataforma de mercados de predicción más grande del mundo, con cientos de millones de dólares en volumen de trading. Cuando sus usuarios conectan sus wallets para hacer predicciones, confían en que el código que se ejecuta en su navegador es el código legítimo de Polymarket, no una versión modificada por un atacante. Esa confianza se rompió esta semana cuando un atacante comprometió una dependencia npm utilizada por el frontend de Polymarket y la modificó para inyectar código JavaScript malicioso. El resultado: aproximadamente 3 millones de dólares drenados de las wallets de usuarios que interactuaron con la interfaz web de Polymarket durante la ventana de ataque. No fue un hackeo del smart contract, no fue una vulnerabilidad de blockchain: fue un ataque a la cadena de suministro de software, el mismo vector que ha comprometido a empresas de todo tipo, aplicado ahora contra una plataforma Web3 con consecuencias financieras directas e inmediatas.

Antecedentes y evolución de la amenaza

El vector de ataque es técnicamente idéntico a los ataques de supply chain que hemos visto en SolarWinds, 3CX y el ecosistema npm en general, pero con un agravante específico de Web3: el código malicioso no robaba contraseñas ni instalaba ransomware, robaba directamente fondos de criptomonedas. El atacante comprometió la cuenta de npm de un mantenedor de una dependencia utilizada por el frontend de Polymarket —probablemente mediante robo de token de acceso o compromiso de credenciales— y publicó una nueva versión del paquete que incluía un script adicional. Este script monitorizaba las interacciones de los usuarios con la página de trading de Polymarket y, cuando detectaba una transacción de depósito o retiro, modificaba silenciosamente la dirección de destino para enviar los fondos a una wallet controlada por el atacante. El usuario veía la interfaz normal de Polymarket, confirmaba la transacción en su wallet, y los fondos se iban a otra parte.

Así funciona: los detalles técnicos

La sofisticación del ataque merece atención. El código malicioso no se activaba en entornos de desarrollo o testing —verificaba el dominio y las condiciones de red antes de ejecutarse—, lo que dificultó su detección durante las pruebas automatizadas de Polymarket. Estaba diseñado para ser sigiloso y específico: solo afectaba a usuarios reales en producción, no a tests automatizados ni a desarrolladores trabajando en localhost. Esta capacidad de 'targeting' es una evolución preocupante en el malware de supply chain: el atacante no quiere ser detectado por los sistemas de CI/CD de la víctima, solo quiere afectar a los usuarios finales cuando el código llega a producción.

Impacto real en organizaciones y empresas

El impacto financiero inmediato —3 millones de dólares— es solo la parte visible del iceberg. El daño reputacional para Polymarket es difícil de cuantificar: los usuarios que perdieron fondos no van a recuperarlos porque la transacción fue firmada voluntariamente desde su wallet, aunque la dirección de destino fuera modificada sin su conocimiento. Para una plataforma que basa su modelo de negocio en la confianza de que 'lo que ves en la interfaz es lo que ocurre en la blockchain', un ataque que rompe esa confianza es existencial. Polymarket puede parchear la dependencia, pero no puede deshacer la pérdida de confianza de los usuarios que vieron cómo su dinero desaparecía mientras usaban la plataforma legítima.

Cómo MagnoSec aborda esta amenaza en sus auditorías

En MagnoSec, las auditorías de seguridad de aplicaciones web incluyen la cadena de suministro de dependencias frontend como un vector de ataque específico. El frontend de una aplicación Web3 es, a efectos prácticos, el custodio de los fondos de los usuarios: si el frontend es comprometido, el smart contract puede ser perfectamente seguro y los fondos se perderán igual. Revisamos las dependencias npm de cada proyecto, verificamos las sumas de comprobación de los paquetes instalados, auditamos los scripts de build y deploy en busca de puntos de inyección, y recomendamos políticas de seguridad que incluyan la revisión manual de cambios en dependencias antes de desplegar a producción. La seguridad del smart contract no protege contra un frontend comprometido: es como tener la caja fuerte más segura del mundo con un empleado que apunta las combinaciones en un post-it.

Qué puedes hacer ahora: acciones concretas

La mitigación para plataformas Web3 y cualquier aplicación que maneje transacciones financieras requiere un enfoque de defensa en profundidad para la cadena de suministro de frontend. Primero, implementar políticas de integridad de dependencias con herramientas como Socket.dev, npm audit y Snyk que detecten cambios sospechosos en paquetes antes de que lleguen a producción. Segundo, utilizar lockfiles (package-lock.json) y verificación de integridad con hashes específicos para cada dependencia, impidiendo que una actualización maliciosa pase desapercibida. Tercero, implementar Content Security Policy (CSP) estricto que restrinja las conexiones salientes del frontend exclusivamente a los dominios conocidos de la plataforma —si el código malicioso intenta enviar fondos a una wallet desconocida, CSP lo bloquea. Cuarto, y más importante: tratar el frontend como lo que es en Web3 —la capa de seguridad más crítica, no un mero estilo visual— y asignarle los mismos recursos de auditoría y revisión que al smart contract.

Temas tratados

Polymarket · supply chain attack · Web3 security · npm · crypto theft · dependencia maliciosa · frontend security

¿Quieres saber si tu empresa tiene estas vulnerabilidades?

Auditamos la seguridad de empresas de toda España con alcance cerrado por escrito, informe técnico y ejecutivo, y retest de las correcciones. Presupuesto en 24 horas y primera consultoría sin coste. Si no sabes por dónde empezar, haz el test de seguridad de 15 preguntas.

¿Quieres más información?