Un error de cálculo permitió hackear Truebit por 8535 ETH

By: WEEX|13/01/2026 09:00:06
Título original: "Protocolo Truebit Protocolo $26,44M Análisis de la vulnerabilidad del contrato del hackeo"
Fuente original: ExVul Security

El 08/01/2026, el protocolo Truebit fue hackeado, lo que provocó una pérdida de 8,535.36 ETH (aproximadamente $26,44M). El anuncio oficial del protocolo Truebit se publicó a primera hora del día siguiente. El equipo de seguridad de ExVul realizó un análisis detallado de la vulnerabilidad que permitió este ataque y obtuvo los siguientes resultados:

Proceso del ataque

Dirección del atacante:

0x6c8ec8f14be7c01672d31cfa5f2cefeab2562b50

Hash de la transacción del ataque:

0xcd4755645595094a8ab984d0db7e3b4aabde72a5c87c4f176a030629c47fb014

El atacante completó el ataque repitiendo 4 veces las llamadas de las transacciones getPurchasePrice→0xa0296215→0xc471b10b. El análisis se centra en el primer ciclo como ejemplo.

1. Primero, el atacante llamó a la función getPurchasePrice(240442509453545333947284131), que devolvió 0.

Un error de cálculo permitió hackear Truebit por 8535 ETH

2. El atacante llamó a la función 0xa0296215(c6e3ae8e2cbab1298abaa3) con un msg.value de 0 y acuñó correctamente 240442509453545333947284131 tokens TRU.

3. El atacante llamó a la función 0xc471b10b(c6e3ae8e2cbab1298abaa3). Luego quemó 240442509453545333947284131 tokens TRU y recibió 5105.06 ETH.

Análisis de la lógica del ataque

Al comprender el proceso del ataque descrito anteriormente, queda claro que hay problemas en la lógica de las funciones getPurchasePrice y 0xa0296215. A continuación, se presenta un análisis detallado (como el contrato no es de código abierto, el código siguiente es código descompilado).

Al comparar las similitudes entre las dos funciones, podemos descubrir que la función 0x1446 se utiliza para determinar cuánto ETH se necesita para comprar una cantidad específica de TRU. Claramente, hay una falla en la lógica de la función 0x1446, que provoca un cálculo incorrecto de ETH. A continuación, se presenta un análisis detallado de la lógica de la función 0x1446.

Al observar la lógica de la función 0x1446, como el resultado final del cálculo v13  == 0, queda claro que la lógica de cálculo mencionada antes tiene una falla. Es importante tener en cuenta que la función 0x18ef equivale a _SafeMul, por lo que el problema está en usar la suma nativa v12 + v9 (la versión del contrato es  ^0.6.10, por lo que no se comprueba el desbordamiento).

v12 y v9 representan:

Según el análisis anterior, el atacante introduce un _amountIn enorme para provocar que v12 + v9 se desborde y se convierta en un valor muy pequeño, lo que finalmente da como resultado (v12 + v9) / v6 == 0.

Resumen

La causa fundamental de este ataque al protocolo Truebit fue un grave error de desbordamiento de enteros en la lógica de cálculo del precio de compra de sus tokens. Como el contrato usa la versión ^0.6.10 de Solidity y no realiza comprobaciones de seguridad en operaciones aritméticas cruciales, terminó provocando una pérdida considerable de 8,535.36 ETH. La nueva versión de Solidity ya ha mitigado por sí misma las vulnerabilidades de desbordamiento. Este ataque debe considerarse un caso en que un hacker aprovechó la IA para escanear automáticamente algunos protocolos DeFi antiguos que siguen activos y descubrir vulnerabilidades (incluidos los recientes ataques a Balancer y yETH). Creemos que, en un futuro cercano, serán más comunes los ataques impulsados por IA contra protocolos DeFi antiguos. Por lo tanto, recomendamos que los proyectos realicen nuevas auditorías de seguridad de su código de contratos. Si encuentran vulnerabilidades, deberían actualizar el contrato o transferir los activos con prontitud, mantener la supervisión on-chain, detectar anomalías de inmediato y minimizar las pérdidas.

Este artículo es contenido de colaboradores y no representa las opiniones de BlockBeats.

Precio de --

--
--
--

Este contenido se ofrece únicamente con fines informativos generales y no constituye asesoramiento financiero, de inversión, legal ni fiscal. Cualquier evento, recompensa, promoción en línea o información relacionada que se mencione en el presente documento no debe considerarse como una recomendación, solicitud o invitación a comprar, vender, tradear o de negociar de otra manera con cualquier criptoactivo. Los criptoactivos son sumamente volátiles y pueden provocar pérdidas. La disponibilidad de los servicios, productos y eventos relacionados de WEEX puede variar según la región. Tienes la responsabilidad de asegurarte de que tu participación esté de acuerdo con las leyes y regulaciones locales vigentes.

También te puede interesar

iconiconiconiconiconiconiconicon
Atención al cliente:@weikecs
Cooperación empresarial:@weikecs
Trading cuantitativo y MM:[email protected]
Programa VIP:[email protected]