Pérdidas superan los 26 millones de dólares: Análisis del incidente de seguridad de Truebit Protocol y seguimiento del flujo de fondos robados

marsbitPublicado a 2026-01-09Actualizado a 2026-01-09

Resumen

El protocolo Truebit sufrió un ataque el 9 de enero, resultando en una pérdida de 8,535.36 ETH (aproximadamente 26.4 millones de dólares). El contrato afectado, desplegado hace cinco años y sin código abierto, presentaba una vulnerabilidad en una función no auditada. El atacante explotó un error de lógica aritmética (posiblemente truncamiento de enteros) al llamar a la función 0xa0296215() con un msg.value mínimo, lo que permitió la acuñación masiva de tokens TRU. Posteriormente, los intercambió por ETH del contrato mediante la función burn, repitiendo el proceso hasta drenar casi todos los fondos. Los activos robados se encuentran principalmente en las direcciones 0xd12f6e0fa7fbf4e3a1c7996e3f0dd26ab9031a60 (4,267.09 ETH) y 0x273589ca3713e7becf42069f9fb3f0c164ce850a (4,001 ETH). Beosin recomienda actualizar contratos antiguos, implementar mecanismos de pausa de emergencia y realizar auditorías de seguridad para prevenir incidentes similares.

Autor: Beosin

El 9 de enero en la madrugada, un contrato no abierto implementado hace 5 años por Truebit Protocol sufrió un ataque, perdiendo 8,535.36 ETH (valorados en aproximadamente 26.4 millones de dólares). El equipo de seguridad de Beosin realizó un análisis de la vulnerabilidad y el seguimiento de fondos de este incidente de seguridad, y comparte los resultados a continuación:

Análisis de la técnica de ataque

Para este incidente, tomamos como análisis la transacción de ataque más significativa, cuyo hash es: 0xcd4755645595094a8ab984d0db7e3b4aabde72a5c87c4f176a030629c47fb014

1. El atacante llama a getPurchasePrice() para obtener el precio

2. Luego llama a la función defectuosa 0xa0296215(), estableciendo el valor de msg.value extremadamente bajo

Dado que el contrato no es de código abierto, a través del código descompilado se infiere que esta función tiene una vulnerabilidad lógica aritmética, como problemas de truncamiento de enteros, lo que permitió al atacante acuñar con éxito una gran cantidad de tokens TRU.

3. El atacante utiliza la función burn para "vender" los tokens acuñados de vuelta al contrato, extrayendo una gran cantidad de ETH de las reservas del contrato.

Este proceso se repite 4 veces, incrementando el valor de msg.value cada vez, hasta extraer casi todo el ETH del contrato.

Seguimiento de fondos robados

Según los datos de transacciones en cadena, Beosin realizó un seguimiento exhaustivo de los fondos a través de su plataforma de investigación y rastreo en cadena BeosinTrace, y comparte los resultados a continuación:

Actualmente, los 8,535.36 ETH robados, después de ser transferidos, se encuentran en su mayor parte en 0xd12f6e0fa7fbf4e3a1c7996e3f0dd26ab9031a60 y 0x273589ca3713e7becf42069f9fb3f0c164ce850a.

La dirección 0xd12f posee 4,267.09 ETH, y la dirección 0x2735 posee 4,001 ETH. La dirección desde la que el atacante inició el ataque (0x6c8ec8f14be7c01672d31cfa5f2cefeab2562b50) aún tiene 267.71 ETH. Las tres direcciones no han realizado más transferencias de fondos por el momento.

Gráfico de análisis del flujo de fondos robados por Beosin Trace

Todas las direcciones mencionadas han sido marcadas como direcciones de alto riesgo por Beosin KYT. Tomando como ejemplo la dirección del atacante:

Beosin KYT

Conclusión

Los fondos robados en este incidente involucran un contrato inteligente no abierto implementado hace 5 años. Para este tipo de contratos, los proyectos deberían actualizar el contrato, introducir funciones de pausa de emergencia, limitaciones de parámetros y las características de seguridad de las nuevas versiones de Solidity. Además, la auditoría de seguridad sigue siendo un paso esencial para los contratos. A través de auditorías de seguridad, las empresas Web3 pueden detectar de la manera más exhaustiva posible el código del contrato inteligente, encontrar y reparar vulnerabilidades potenciales, mejorando así la seguridad del contrato.

*Beosin proporcionará el informe completo de todos los flujos de fondos y riesgos de direcciones de este incidente. Bienvenidos a solicitarlo a través del correo oficial [email protected].

Preguntas relacionadas

Q¿Qué es el Truebit Protocol y cuánto perdió en el ataque?

ATruebit Protocol es un proyecto de blockchain que sufrió un ataque a un contrato no abierto implementado hace 5 años, perdiendo 8,535.36 ETH (equivalente a aproximadamente 26.4 millones de dólares).

Q¿Cuál fue la principal vulnerabilidad explotada en el ataque según Beosin?

ALa vulnerabilidad explotada fue un problema lógico aritmético en una función no abierta (posiblemente relacionada con truncamiento de enteros), permitiendo al atacante acuñar una gran cantidad de tokens TRU con un msg.value mínimo.

Q¿A qué direcciones se transfirieron la mayoría de los fondos robados?

ALa mayoría de los fondos robados (8,535.36 ETH) fueron transferidos a dos direcciones: 0xd12f6e0fa7fbf4e3a1c7996e3f0dd26ab9031a60 (4,267.09 ETH) y 0x273589ca3713e7becf42069f9fb3f0c164ce850a (4,001 ETH).

Q¿Qué herramienta utilizó Beosin para rastrear el flujo de fondos?

ABeosin utilizó su plataforma de investigación y rastreo en cadena BeosinTrace para realizar un seguimiento detallado del flujo de fondos robados.

Q¿Qué recomendaciones de seguridad sugiere Beosin después de este incidente?

ABeosin recomienda actualizar contratos no abiertos, introducir funciones de pausa de emergencia, limitaciones de parámetros, características de seguridad de nuevas versiones de Solidity y realizar auditorías de seguridad para detectar y reparar vulnerabilidades.

Lecturas Relacionadas

Trading

Spot
Futuros
活动图片