Cargando precios...

ZetaChain sufre exploit de $334,000 tras ignorar un reporte de bug que alertaba de la vulnerabilidad

Arturo Trenard Arturo Trenard · · 5 min de lectura

ZetaChain sufre exploit de $334,000 tras ignorar un reporte de bug que alertaba de la vulnerabilidad

El protocolo blockchain ZetaChain perdió aproximadamente 334.000 dólares en un exploit ocurrido el pasado domingo. Según un informe post-mortem publicado el miércoles, la vulnerabilidad había sido reportada previamente a través de su programa de recompensas por errores (bug bounty), pero fue desestimada por el equipo como un comportamiento intencionado. El incidente ha llevado a la plataforma a revisar sus procesos de seguridad y a implementar parches permanentes.

El exploit y la advertencia ignorada

Cómo ocurrió el ataque

El exploit se produjo el domingo, apuntando al contrato de puente cross-chain de ZetaChain. El atacante ejecutó nueve transacciones en cuatro blockchains: Ethereum, Arbitrum, Base y BSC. Los fondos drenados, que suman aproximadamente 334.000 dólares, procedían de carteras controladas por ZetaChain. La plataforma ha confirmado que no se vieron afectados los fondos de usuarios.

El reporte de bug ignorado

La vulnerabilidad fue reportada a través del bug bounty de ZetaChain antes del ataque. Sin embargo, el equipo de ZetaChain desestimó el reporte, clasificándolo como «comportamiento intencionado» (intended behavior).

«Este bug fue reportado y simplemente lo ignoraron. Así es como funcionan los programas de bug bounty actualmente; incentivan pérdidas para el protocolo, el TVL y el saldo del usuario en lugar de pagar al investigador por descubrir y corregir el error», señaló un usuario en X tras la publicación del informe.

El incidente ha motivado una revisión de cómo el equipo maneja las futuras presentaciones de bug bounty, especialmente aquellas que involucran vectores de ataque encadenados.

Anatomía del ataque: tres fallos de diseño

El informe post-mortem detalla que el ataque fue posible gracias a la combinación de tres vulnerabilidades de diseño que, por separado, podrían haber parecido menores.

Fallo 1: Instrucciones arbitrarias sin restricciones

El gateway del puente permitía a cualquier persona enviar instrucciones cross-chain arbitrarias, sin ningún tipo de filtro. Cualquier usuario podía transmitir comandos sin restricciones a través de las diferentes blockchains conectadas.

Fallo 2: Ejecución sin control en el destino

Al recibir las instrucciones, el contrato ejecutaba casi cualquier comando en cualquier otro contrato. La lista negra de funciones prohibidas era tan limitada que no cubría funciones básicas de transferencia de tokens, lo que dejaba abierta la puerta a operaciones no autorizadas.

Fallo 3: Permisos de gasto perpetuos

Carteras que habían interactuado previamente con el gateway aún tenían aprobaciones de gasto ilimitadas (unlimited spending permissions) que nunca se habían revocado. Estas autorizaciones persistentes permitían a cualquier instrucción entrante disponer de fondos sin limitación.

Cómo se combinaron los fallos

El atacante explotó los tres fallos en cadena para enviar una instrucción al gateway: transferir tokens desde las carteras de las víctimas —aprovechando los permisos perpetuos— a su propia cartera. El gateway ejecutó la orden sin oposición, al no encontrar restricciones en las funciones de transferencia ni filtros en las instrucciones entrantes.

Un ataque premeditado, no oportunista

ZetaChain calificó el ataque de «premeditado». «Esto no fue un ataque oportunista», comunicó la plataforma en su post-mortem.

El atacante financió su cartera a través de Tornado Cash tres días antes del exploit, desplegó un contrato de drenaje (drainer contract) diseñado específicamente para este propósito en ZetaChain, y llevó a cabo una campaña de envenenamiento de direcciones (address poisoning), añadiendo transacciones de polvo (dust transfers) a su historial para ocultar sus movimientos.

Medidas correctivas y lecciones aprendidas

Parchado de la vulnerabilidad

ZetaChain está implementando un parche en los nodos de la mainnet que deshabilita permanentemente la funcionalidad de llamadas arbitrarias (arbitrary call functionality). Además, la plataforma ha eliminado las aprobaciones de gasto ilimitadas en su flujo de depósito, reemplazándolas por aprobaciones de cantidad exacta (exact-amount approvals).

Revisión de procesos

El equipo está revisando el proceso de gestión de reportes de bug bounty para garantizar que futuras vulnerabilidades sean evaluadas correctamente, especialmente aquellas que combinan múltiples vectores de ataque aparentemente inofensivos por separado.

Contexto ampliado: el riesgo creciente de exploits en DeFi

Datos de mercado

Según datos de DeFiLlama, los hackers de criptomonedas robaron 17.000 millones de dólares en los últimos diez años, lo que refleja la persistencia de las vulnerabilidades en el ecosistema descentralizado.

El factor IA en los exploits

Un estudio reciente de a16z probó si un agente de inteligencia artificial estándar —utilizando Codex de OpenAI— podía producir exploits funcionales. Sin guía previa, la tasa de éxito fue solo del 10%. Sin embargo, al proporcionar conocimiento estructurado sobre patrones de ataque comunes, la tasa de éxito saltó al 70%.

Este estudio, aunque no relacionado directamente con el incidente de ZetaChain, demuestra la creciente sofisticación de las herramientas que podrían utilizarse para encontrar vulnerabilidades como las explotadas en este ataque, lo que subraya la importancia de una respuesta rápida y rigurosa ante cualquier reporte de bug en protocolos blockchain.

Click to rate this post!
[Total: 0 Average: 0]