KiloEx, la bolsa perpetua descentralizada, publicó un análisis posterior a su explotación de 7 millones de dólares, resultado de una vulnerabilidad crítica en su contrato inteligente.
El problema
Según el informe, el problema se originó en el contrato TrustedForwarder. Este contrato heredaba del MinimalForwarderUpgradeable de OpenZeppelins pero no logró anular el método de ejecución, dejándolo sin permisos. Esto significó que cualquier persona podía ejecutar el contrato sin restricciones.
El ataque
La falta de seguridad permitió al atacante manipular posiciones comerciales en varias cadenas. El 13 de abril, el atacante comenzó la explotación retirando 1 ETH de Tornado Cash para financiar carteras en diversas cadenas. Acto seguido, ejecutó el exploit en menos de una hora, utilizando el método abierto para abrir y cerrar posiciones a precios favorables.
Identificación del exploit
La explotación fue detectada por primera vez por Cyvers Alerts, que señaló actividad sospechosa de intercambio de cadenas en varias cadenas, incluyendo Base, Taiko y BNB Chain. Según PeckShield, las pérdidas se produjeron en las cadenas de Base, opBNB y BSC.
Negociaciones con el hacker
De acuerdo con el informe, después de intensas negociaciones, el hacker aceptó una retención de recompensa del 10% y devolvió sistemáticamente todos los activos robados a las billeteras multi-firma Safe designadas por KiloEx.
Acciones posteriores al ataque
KiloEx afirmó que la vulnerabilidad se ha resuelto y que ninguna posición abierta enfrentará liquidación. En lugar de ello, todas las posiciones se cerrarán en base a las instantáneas de precios tomadas antes del ataque. Los beneficios y las pérdidas del periodo de explotación no contarán para los saldos finales de los usuarios.
La plataforma también indicó que trabajó en conjunto con la policía y SlowMist para investigar el hackeo. Este incidente pone de relieve la importancia de un control riguroso en el diseño y ejecución de smart contracts para prevenir ataques de este tipo en el futuro.