2025-05-26 128

慢雾:Cetus被盗2.3亿美元,解析攻击手法及资金转移情况

作者:Victory&Lisa

背景

5月22日,据社区消息,SUI生态上的流动性提供商Cetus疑似遭攻击,流动性池深度大幅下降,Cetus上多个代币交易对出现下跌,预计损失金额超过2.3亿美元。随后,Cetus发布公告称:“我们协议中检测到了一起事件,安全起见,智能合约已暂时暂停。目前,团队正在对该事件展开调查。我们很快会发布进一步的调查声明。”

事件发生后,慢雾安全团队第一时间介入分析,并发布安全提醒。以下是对攻击手法及资金转移情况的详细解析。

(https://x.com/CetusProtocol/status/1925515662346404024)相关信息

其中一笔攻击交易:

https://suiscan.xyz/mainnet/tx/DVMG3B2kocLEnVMDuQzTYRgjwuuFSfciawPvXXheB3x

攻击者地址:

0xe28b50cef1d633ea43d3296a3f6b67ff0312a5f1a99f0af753c85b8b5de8ff06

被攻击的池子地址:

0x871d8a227114f375170f149f7e9d45be822dd003eba225e83c05ac80828596bc

涉及代币

haSUI/SUI

攻击分析

此次事件的核心是攻击者通过精心构造参数,使溢出发生但又能绕过检测,最终用极小的Token金额即可换取巨额流动性资产,以下为具体步骤解析:

1.攻击者首先通过闪电贷借出了10,024,321.28个haSUI,导致池子价格从18,956,530,795,606,879,104暴跌至18,425,720,184762886,价格下跌幅度达到99.90%。

2.攻击者精心选择了一个极窄的价格区间开立流动性头寸:

Tick下限:300000(价格:60,257,519,765,924,248,467,716,150)Tick上限:300200(价格:60,863,087,478,126,617,965,993,239)价格区间宽度:仅1.00496621%

3.接着就是此次攻击的核心,攻击者声明要添加10,365,647,984,364,446,732,462,244,378,333,008单位的巨大流动性,但由于存在漏洞,系统只收取了1个代币A。

我们来分析一下攻击者为什么能够用1个Token兑换出巨额流动性。其核心原因在于get_delta_a函数中的checked_shlw存在溢出检测绕过漏洞。攻击者正是利用了这一点,使得系统在计算实际需要添加多少haSUI时出现了严重偏差。由于溢出未被检测,系统误判了所需haSUI的数量,导致攻击者仅需极少的Token,就能兑换出大量的流动性资产,从而实现了攻击。

当系统计算添加如此巨大流动性需要多少haSUI时:

这里的关键在于checked_shlw函数的实现存在严重缺陷。实际上,任何小于0xffffffffffffffff

Join now ?

立即创建 账号,开始交易