Saltar al contenido
Est. MMXXVIVol. VI · № 273RSS
Blockchain Breaches

Archivo de incidentes de seguridad en criptomonedas — hackeos, exploits, fallos de puentes y rug pulls, documentados con evidencia on-chain.

Expediente № 229Manipulación de oráculo

Bypass de forwarder de oráculo en KiloEX

7,5 M$ extraídos de perps de KiloEX en Base, opBNB y BSC porque el MinimalForwarder se saltó verificaciones; posiciones abiertas a 100$, cerradas a 10.000$.

Fecha
Víctima
KiloEX
Cadena(s)
Estado
Fondos robados

El 15 de abril de 2025, el DEX de perpetuos respaldado por Binance KiloEX fue explotado por aproximadamente 7,5 millones de dólares en tres cadenas. El exploit se desarrolló como un ataque de manipulación de oráculo de manual —abrir una posición a un precio, cerrarla a un precio radicalmente distinto—, hecho posible por un bug de control de acceso en el contrato MinimalForwarder del protocolo que dejaba a cualquier llamador enviar actualizaciones de precio firmadas arbitrarias.

Qué ocurrió

KiloEX usaba un flujo personalizado de actualización de precios heredado del MinimalForwarderUpgradeable de OpenZeppelin: un contrato diseñado para permitir a los usuarios ejecutar meta-transacciones en nombre de un firmante que ha autorizado criptográficamente la llamada. La función execute() debería:

  1. Verificar la firma de la solicitud de meta-transacción contra los datos provistos.
  2. Reenviar la llamada solo si la firma corresponde a un firmante autorizado.

El MinimalForwarder personalizado de KiloEX no verificó adecuadamente las firmas contra los datos provistos: la lógica de validación estaba presente estructuralmente pero no vinculaba la firma al payload real de la llamada. Cualquier llamador podía enviar una solicitud de actualización de precio afirmando estar firmada por un oráculo autorizado y hacer que el contrato la aceptara.

Una vez que el atacante podía empujar precios arbitrarios al oráculo de KiloEX:

  1. Abrió un long de perpetuos sobre ETHUSD con un precio reportado por oráculo de 100 $.
  2. Cerró inmediatamente la misma posición con un precio reportado por oráculo de 10.000 $: un swing de 100x en una sola transacción.
  3. Se llevó la diferencia, neteando 3,12 millones de dólares en una sola transacción en Base.

Repetido en varias cadenas: ~3,3 M$ en Base, ~3,1 M$ en opBNB, ~1 M$ en BSC.

Consecuencias

  • KiloEX suspendió operaciones y ofreció al atacante una recompensa de 750K$ (10% del botín) más la liberación de responsabilidad legal por la devolución del 90% restante.
  • El equipo hizo blacklist a las direcciones del atacante y trabajó con firmas forenses afiliadas a Binance para rastrear los fondos.
  • Las operaciones permanecieron suspendidas durante un período extendido conforme el equipo reauditó el flujo de meta-transacciones.

Por qué importa

KiloEX es un caso de estudio inusualmente puro de por qué actualizar o personalizar contratos de OpenZeppelin probados en batalla es territorio de alto riesgo. El MinimalForwarder original es una primitiva bien revisada con cobertura de pruebas extensa; la personalización introducida por KiloEX —para encajar en su flujo de actualización de oráculo— rompió la garantía de seguridad de una manera que no era visible para las listas de verificación de auditoría estándar.

La lección estructural: heredar de un contrato base confiable no es lo mismo que heredar su seguridad. Cualquier sobreescritura de una función crítica para la seguridad (verificación de firma, control de acceso, protección contra replay) necesita reauditarse como si fuera una implementación nueva, porque funcionalmente lo es.

Fuentes y evidencia on-chain

  1. [01]halborn.comhttps://www.halborn.com/blog/post/explained-the-kiloex-hack-april-2025
  2. [02]coindesk.comhttps://www.coindesk.com/markets/2025/04/15/dex-kiloex-loses-usd7m-in-apparent-oracle-manipulation-attack
  3. [03]decrypt.cohttps://decrypt.co/314827/binance-backed-dex-kiloex-suspends-operations-following-7-5-million-exploit

Registros relacionados