news 2026/4/23 15:46:29

20260109 - TRU 协议攻击事件分析:买得够多免费送了喂!

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
20260109 - TRU 协议攻击事件分析:买得够多免费送了喂!

20260109,ETH 链上的 TRU 协议遭受了黑客攻击,损失约 2600 万美元。漏洞原因是计算购买 TRU 代币所需要的 ETH 数量的计算公式设计存在缺陷,购买大量 TRU 代币时会因为精度丢失而得到 0 值,使得攻击者可以以 0 ETH 购买大量的 TRU 代币,最后抛售完成获利。

  • TX:https://app.blocksec.com/explorer/tx/eth/0xcd4755645595094a8ab984d0db7e3b4aabde72a5c87c4f176a030629c47fb014

Trace 分析

  1. 黑客调用 buyTRU() 函数以零成本购入大量的 TRU 代币
  2. 然后调用 sellTRU() 函数卖出所有 TRU 代币完成获利

随后攻击者利用漏洞以零或极低成本的价格购买 TRU 代币后出售的流程重复多次。

代码分析

TRU 合约是一个代理合约:0x764C64b2A09b09Acb100B80d8c505Aa6a0302EF2

其具体的逻辑逻辑合约为:0x18ceDF1071EC25331130C82D7AF71D393Ccd4446

由于逻辑合约并没有开源,所以接下来会采用 dedaub 反编译 + 人工校正的方式分析项目的业务逻辑。

  • 逻辑合约的反编译地址:https://app.dedaub.com/ethereum/address/0xc186e6f0163e21be057e95aa135edd52508d14d3/decompiled

在 buyTRU() 函数中,会根据输入的 TRUAmount 参数值计算所需要的 ETH 数量,并检查 msg.value 的值是否为相等。通过检查后,会给用户 mint TRUAmount 数量的 TRU 代币。

其问题就出在计算 ETH 数量的 TRUtoETH() 函数上,其反编译的内容如下,根据输入的 TRUAmount 值进行一系列的计算。

通过 solidity 重写这个函数,得到以下的内容。其中 _setParameters 的值为 75,代表 75% 的一个比例。

/* by 01022.hk - online tools website : 01022.hk/zh/jianfan.html */ function TRUtoETH(uint256 TRUAmount) private view returns (uint256) { uint256 totalSupply = TRU.totalSupply(); // numerator: (100 - 75) * totalSupply² = 25 * totalSupply² uint256 numerator = (100 - _setParameters) * totalSupply * totalSupply; // denominator: 100 * TRUAmount * _reserve * (TRUAmount + 2 * totalSupply) uint256 denominator = 100 * TRUAmount * _reserve * (TRUAmount + 2 * totalSupply); return numerator / denominator; }

由上面的代码分析可得,当 _setParameters,totalSupply 和 _reserve 为固定值时,传入的参数 TRUAmount 越大,分母就越大,返回值就会相应的变小。而当分母大于分子时,由于 solidity 精度丢失的特性,返回值将会为 0。也就是说:

当 TRUAmount 的值非常大,当前的计算公式在计算所需要提供的 ETH 数量时,会由于 solidity 的精度丢失返回 0 值。

这样,攻击者就完成了攻击的第一个步骤:以零或极低成本的价格购买 TRU 代币。

随后就是正常使用 sellTRU() 函数卖出所有 TRU 代币完成了获利。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/23 13:45:06

腾讯HY-MT1.5部署排坑指南:常见问题解决方案

腾讯HY-MT1.5部署排坑指南:常见问题解决方案 1. 引言 随着多语言交流需求的不断增长,高质量、低延迟的翻译模型成为智能应用的核心组件。腾讯近期开源了其混元翻译大模型 HY-MT1.5 系列,包含两个关键版本:HY-MT1.5-1.8B 和 HY-MT…

作者头像 李华
网站建设 2026/4/23 12:16:09

Hunyuan HY-MT1.5镜像启动慢?GPU加速优化实战教程

Hunyuan HY-MT1.5镜像启动慢?GPU加速优化实战教程 1. 背景与问题引入 随着多语言交流需求的不断增长,高质量、低延迟的翻译模型成为智能应用的核心组件。腾讯开源的混元翻译大模型 HY-MT1.5 系列,包含 HY-MT1.5-1.8B 和 HY-MT1.5-7B 两个版本…

作者头像 李华
网站建设 2026/4/23 12:32:50

HY-MT1.5为何能超越商业API?开源模型性能评测数据揭秘

HY-MT1.5为何能超越商业API?开源模型性能评测数据揭秘 1. 背景与技术演进:从混元大模型到专业翻译引擎 近年来,随着多语言交流需求的激增,高质量机器翻译成为AI落地的关键场景之一。尽管主流商业API(如Google Transl…

作者头像 李华
网站建设 2026/4/23 12:32:53

d3dx10_39.dll文件丢失找不到问题 教你彻底解决办法分享

在使用电脑系统时经常会出现丢失找不到某些文件的情况,由于很多常用软件都是采用 Microsoft Visual Studio 编写的,所以这类软件的运行需要依赖微软Visual C运行库,比如像 QQ、迅雷、Adobe 软件等等,如果没有安装VC运行库或者安装…

作者头像 李华
网站建设 2026/4/23 14:23:53

Qwen3-VL视频分析省钱攻略:按帧计费,比包月服务器省80%

Qwen3-VL视频分析省钱攻略:按帧计费,比包月服务器省80% 1. 为什么短视频团队需要精准计费方案 很多短视频团队都遇到过这样的困扰:每天只需要处理2-3小时的视频素材,却不得不租用整月的服务器资源。这就像你每天只喝一杯咖啡&am…

作者头像 李华
网站建设 2026/4/20 4:20:44

Qwen3-VL低成本体验方案:按秒计费,测试成本直降80%

Qwen3-VL低成本体验方案:按秒计费,测试成本直降80% 1. 为什么需要低成本体验方案? 技术爱好者想要尝鲜阿里云最新发布的Qwen3-VL多模态大模型时,往往会遇到一个现实问题:传统云服务按小时计费的模式对于短期测试极不…

作者头像 李华