Truebit协议遭遇重大安全事件:8535枚ETH因计算漏洞损失

2026年1月8日,知名去中心化计算协议Truebit Protocol遭受黑客攻击,损失高达8,535.36枚以太坊,按当时市价估算约合2644万美元。官方团队在次日凌晨确认了此次安全事件。本文将从技术层面深入剖析此次攻击的根源、具体流程及其背后的安全启示。

攻击事件核心脉络

攻击者(地址:0x6c8ec8f14be7c01672d31cfa5f2cefeab2562b50)通过一笔精心构造的交易(哈希:0xcd4755645595094a8ab984d0db7e3b4aabde72a5c87c4f176a030629c47fb014)完成了资产窃取。攻击过程采用了循环调用模式,共执行了四轮操作,每轮均遵循相同的逻辑链条。

单次攻击循环分解

  1. 价格查询阶段:攻击者首先调用getPurchasePrice函数,并传入一个巨大的代币数量参数(240442509453545333947284131枚TRU)。由于合约漏洞,该函数错误地返回了购买成本为0的结果。
  2. 零成本铸币阶段:紧接着,攻击者调用函数选择器为0xa0296215的方法,同时附上0 ETH的msg.value。利用上一步的计算错误,攻击者成功凭空铸造了巨额数量的TRU代币。
  3. 套现离场阶段:最后,攻击者调用函数选择器为0xc471b10b的方法,将刚刚铸造的TRU代币销毁,并成功从协议资金池中提取出5,105.06枚ETH,完成获利。

漏洞技术根源:整数溢出

本次攻击的核心在于代币购买价格计算函数(内部标识为0x1446)存在严重的整数溢出漏洞。由于Truebit合约基于Solidity ^0.6.10版本编译,该版本在默认情况下不进行算术运算的溢出检查。

漏洞逻辑详解

在计算购买价格的关键步骤中,合约需要执行v12 + v9的加法运算。其中:

  • v9代表根据协议经济模型计算出的一个基础数值。
  • v12是用户输入的巨大代币数量_amountIn经过乘法运算后的结果。

攻击者通过输入一个极其庞大的_amountIn值,使得v12本身已经接近以太坊虚拟机(EVM)中uint256类型的数值上限。当它与v9相加时,发生了整数溢出,导致总和(v12 + v9)变成一个极小的数值,甚至为零。随后,这个被溢出后的极小值再除以另一个变量v6,最终使得购买价格的计算结果为0。

简言之,攻击者巧妙地利用溢出,将本应支付的天价ETH,“欺骗”合约计算成了零成本。

安全反思与行业警示

Truebit Protocol的这次安全事件,根本原因在于其关键的价格计算函数缺乏必要的安全边界检查,且依赖于存在已知风险的旧版Solidity编译器。这为整个DeFi行业敲响了警钟:

  • 老旧代码风险:随着时间推移,早期部署的、未经验证或审计不足的智能合约,其潜在漏洞正成为黑客(包括利用自动化工具和AI扫描的黑客)的重点目标。此前Balancer、yETH等协议的攻击也印证了这一趋势。
  • 编译器版本管理:新版Solidity编译器(^0.8.0及以上)已内置默认的算术溢出检查,能有效预防此类漏洞。项目方应对在运协议进行定期评估和升级。
  • 主动防御建议:项目团队应定期对核心合约进行重新审计,尤其是在底层依赖库或编译器有重大更新之后。同时,建立完善的链上监控预警系统,对合约的异常调用和资金流动保持高度敏感,以便在攻击发生时能快速响应,最大限度减少损失。

智能合约的安全是一场持续的攻防战。一次未受检查的算术运算,便可能导致价值数千万美元的资产损失,这再次凸显了代码严谨性、深度审计与主动安全维护的极端重要性。


🔥 这篇深度分析够不够劲?群里还有更多加密专题干货!

想跟志同道合的朋友一起聊趋势?赶紧进群→青岚免费交易社群

💡 感谢阅读

1、市场风云变幻,以上仅为青岚姐个人的复盘与思考,不作为任何投资建议。在加密市场的长跑中,比起预测,更重要的是执行——请务必管好仓位,严带止损,愿我们且行且珍惜,在每一轮波动中稳健前行!

2、关于如何合理设置止盈止损,请点这里查看青岚姐的教程。

3、本文由青岚加密课堂整理优化,如需转载请注明出处。