El protocolo Truebit fue hackeado por 26,44 millones de dólares debido a una vulnerabilidad de desbordamiento de enteros.

iconOdaily
Compartir
Share IconShare IconShare IconShare IconShare IconShare IconCopy
AI summary iconResumen

expand icon
El protocolo Truebit sufrió un ataque que le costó 26,44 millones de dólares el 8 de enero de 2026, debido a una vulnerabilidad de desbordamiento de enteros en su lógica de compra de tokens. El atacante aprovechó un fallo en la función 0x1446, utilizando un bucle para manipular valores de entrada grandes y provocar cálculos incorrectos de ETH. La vulnerabilidad se originó en Solidity ^0.6.10, que carece de comprobaciones de desbordamiento. Este incidente pone de relieve la necesidad de actualizar el protocolo y refuerza la urgencia de abordar las noticias sobre vulnerabilidades en DeFi. El equipo de seguridad ExVul advierte que los ataques impulsados por IA contra protocolos obsoletos podrían aumentar, instando a los equipos a realizar auditorías y a implementar monitoreo.

El 8 de enero de 2026, el protocolo Truebit Protocol fue atacado por un hacker, perdiendo 8.535,36 ETH (aproximadamente 26,44 millones de dólares estadounidenses). El equipo oficial de Truebit Protocol confirmó el incidente en un comunicado publicado la madrugada siguiente. El equipo de seguridad ExVul realizó un análisis detallado del agujero de seguridad de este ataque, y los resultados del análisis son los siguientes:

Flujo de ataque

Dirección del atacante:

0x6c8ec8f14be7c01672d31cfa5f2cefeab2562b50

Hash de la transacción de ataque:

0xcd4755645595094a8ab984d0db7e3b4aabde72a5c87c4f176a030629c47fb014

El atacante completó el ataque mediante una transacción que llamó en cadena durante 4 rondas a getPurchasePrice→0xa0296215→0xc471b10b. A continuación se analiza como ejemplo la primera ronda del ciclo.

1. El atacante llama primero a la función getPurchasePrice(240442509453545333947284131), que devuelve 0.

2. El atacante llama a la función 0xa0296215(c6e3ae8e2cbab1298abaa3) con msg.value igual a 0. Finalmente, logra acuñar 240442509453545333947284131 tokens TRU.

3. El atacante llama a la función 0xc471b10b(c6e3ae8e2cbab1298abaa3). Finalmente, destruye 240442509453545333947284131 TRU y obtiene 5105,06 ETH.

Análisis de la lógica de ataque

Al comprender el flujo de ataque mencionado anteriormente, se puede identificar claramente que existe un problema lógico en las funciones getPurchasePrice y 0xa0296215. A continuación se realizará un análisis más detallado (debido a que el contrato no está abierto al público, el código que se muestra a continuación es código desensamblado).

Al comparar los puntos comunes entre las dos funciones, podemos descubrir que la función 0x1446 se utiliza para obtener la cantidad de ETH necesaria para comprar una cantidad específica de TRU. Es evidente que existe un problema lógico en la función 0x1446, lo que lleva a un cálculo incorrecto de ETH. A continuación se presenta un análisis detallado de la lógica dentro de la función 0x1446.

Observe la lógica de la función 0x1446. Dado que el resultado final del cálculo v13 == 0, es seguro que hay un problema en la lógica de cálculo mencionada anteriormente. Es importante saber que la función 0x18ef tiene el mismo propósito que _SafeMul, por lo tanto, el problema radica en el uso de la suma nativa v12 + v9 (la versión del contrato es ^0.6.10, por lo tanto, no hay comprobación de desbordamiento).

v12 y v9, respectivamente, representan:

A través del análisis anterior, la estrategia de ataque del atacante consiste en introducir un valor _amountIn muy grande, haciendo que v12 + v9 se desborone (overflow) y se convierta en un valor muy pequeño, y finalmente que (v12 + v9) / v6 == 0.

Resumen

La causa fundamental del ataque al protocolo Truebit radica en la existencia de un grave error de desbordamiento de enteros en la lógica de cálculo del precio de compra de su token. Debido a que el contrato inteligente utiliza la versión Solidity ^0.6.10 y no realiza comprobaciones de seguridad en operaciones aritméticas clave, se produjo una pérdida significativa de 8.535,36 ETH. Actualmente, las nuevas versiones de Solidity ya incluyen mejoras que mitigarían este tipo de vulnerabilidades de desbordamiento. Este ataque probablemente haya sido descubierto por un atacante que utilizó inteligencia artificial para escanear automáticamente algunos protocolos DeFi antiguos ya implementados (incluidos recientemente los ataques a Balancer y yETH). Creemos que este tipo de ataques, aprovechando la IA para explotar protocolos DeFi antiguos, aumentará en los próximos tiempos. Por lo tanto, recomendamos encarecidamente a los equipos de proyectos realizar nuevas auditorías de seguridad en sus contratos inteligentes. Si se detectan vulnerabilidades, deben actualizarse los contratos lo antes posible o transferirse los activos, además de implementar un monitoreo en cadena para detectar anomalías de forma oportuna y minimizar al máximo las pérdidas.

Descargo de responsabilidad: La información contenida en esta página puede proceder de terceros y no refleja necesariamente los puntos de vista u opiniones de KuCoin. Este contenido se proporciona solo con fines informativos generales, sin ninguna representación o garantía de ningún tipo, y tampoco debe interpretarse como asesoramiento financiero o de inversión. KuCoin no es responsable de ningún error u omisión, ni de ningún resultado derivado del uso de esta información. Las inversiones en activos digitales pueden ser arriesgadas. Evalúa con cuidado los riesgos de un producto y tu tolerancia al riesgo en función de tus propias circunstancias financieras. Para más información, consulta nuestras Condiciones de uso y la Declaración de riesgos.