游乐游手机版
首页/web3.0/文章详情

Cetus遭黑客攻击损失2.3亿美元 攻击手法与资金流向解析

时间:2026-08-05 22:17
Sui生态流动性协议Cetus遭黑客攻击,损失超2 3亿美元。攻击者利用闪电贷操纵池子价格,再通过合约中checked_shlw函数的溢出漏洞,以极少量代币换取巨额流动性,最终盗走资金。慢雾安全团队已介入分析。

Sui官方发了个声明,明确表示支持Cetus Protocol追回被盗资金,希望大家有线索就提供。保护社区、帮项目方解决问题,是目前他们最看重的事。之前有消息说,Cetus这个Sui生态上的流动性协议,在Inca Digital协助和Sui基金会资金支持下,悬赏了500万美元,想收集黑客的信息。

2026虚拟币交易平台推荐:

那问题来了:Cetus到底是怎么被盗的?攻击手法是什么样子的?钱又是怎么转走的?下面就跟大家详细拆解一下吧。

背景

5 月 22 日,社区里传出消息:SUI 生态上的流动性提供商 Cetus 疑似被攻击,流动性池的深度一下子掉了一大截,很多代币对的价格都在跌,预估损失超过了 2.3 亿美元。很快,Cetus 发了个公告说:“我们协议里监测到异常事件,为了安全,智能合约已经暂时停了。团队正在查这件事,很快会再发说明。”

事情出来之后,慢雾安全团队第一时间就介入分析,还发了安全提醒。下面就把攻击手法和资金转移的情况仔细说一下。

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

(https://x.com/CetusProtocol/status/1925515662346404024)

相关信息

其中一笔攻击交易:

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

攻击者地址:

0xe28b50cef1d633ea43d3296a3f6b67ff0312a5f1a99f0af753c85b8b5de8ff06

被攻击的池子地址:

0x871d8a227114f375170f149f7e9d45be822dd003eba225e83c05ac80828596bc

涉及代币:

haSUI / SUI

攻击分析

这次事件的核心,其实是攻击者精心构造了一堆参数,让数字溢出发生了,但又绕过了系统的检测,最后用极少的代币就能换走巨额流动性资产。下面一步步说清楚:

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

1.攻击者先通过闪电贷借出了10,024,321.28 个 haSUI,这一下就让池子价格从18,956,530,795,606,879,104暴跌到18,425,720,184,762,886,跌幅超过99.90%。

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

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。

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

我们来分析一下,为什么攻击者能用 1 个代币换出那么多流动性。核心原因在于 get_delta_a 函数里的 checked_shlw 存在一个溢出检测绕过漏洞。攻击者刚好利用了这一点,让系统在计算实际需要加多少 haSUI 时,算出了严重偏差。因为溢出没被检测到,系统以为需要的 haSUI 数量很少,结果攻击者只花了极少的代币就换到了海量流动性。

系统计算添加这么多流动性需要多少 haSUI 时:

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

这里关键在 checked_shlw 函数的实现有严重缺陷。实际上,任何小于 0xffffffffffffffff << 192 的输入值都能绕过溢出检测。但问题是,这些值左移 64 位之后,结果会超出 u256 能表示的范围,高位数据被截断,导致最终算出来的值比理论值小得多。这样一来,系统后续计算就大大低估了所需的 haSUI 数量。

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

  • 错误掩码:0xffffffffffffffff << 192 = 一个非常大的数(大约 2^256 - 2^192)
  • 几乎所有输入都比这个掩码小,所以都能绕过溢出检测
  • 真正的问题在于:当 n >= 2^192 时,n << 64 会超出 u256 的范围,从而被截断

攻击者构造的中间值 liquidity * sqrt_price_diff = 6277101735386680763835789423207666908085499738337898853712:

  • 这个值小于错误掩码,所以绕过了溢出检测
  • 但左移 64 位之后会超出 u256 的最大值,超出部分被截断
  • 最终计算结果大约是 1 以下,但因为向上取整,quotient 算出来正好等于 1

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

4.最后攻击者撤掉流动性,拿到巨额代币收益:

  • 第一次撤:拿到 10,024,321.28 个 haSUI
  • 第二次撤:拿到 1 个 haSUI
  • 第三次撤:拿到 10,024,321.28 个 haSUI

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

5.攻击者还掉了闪电贷,净赚了大约 10,024,321.28 个 haSUI 和 5,765,124.79 个 SUI,攻击完成。

项目方修复情况

攻击发生后,Cetus 发布了修复补丁。具体的修复代码可以看这里:https://github.com/CetusProtocol/integer-mate/pull/7/files#diff-c04eb6ebebbabb80342cd953bc63925e1c1cdc7ae1fb572f4aad240288a69409。

修复后的 checked_shlw 函数长这样:

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

修复说明:

  • 把错误的掩码 0xffffffffffffffff << 192 改成了正确的阈值 1 << 192
  • 把判断条件从 n > mask 改成了 n >= mask
  • 确保当左移 64 位可能导致溢出时,能正确检测并返回溢出标志

MistTrack 分析

据分析,攻击者 0xe28b50cef1d633ea43d3296a3f6b67ff0312a5f1a99f0af753c85b8b5de8ff06 获利大约 2.3 亿美元,其中包括 SUI、vSUI、USDC 等多种资产。

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

我们发现攻击者两天前就准备好了 Gas 费,然后攻击之前先试了一次,不过失败了:

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

得手之后,攻击者把一部分资金比如 USDC、SOL、suiETH 通过跨链桥(像 Sui Bridge、Circle、Wormhole、Mayan 这些)跨到了 EVM 地址 0x89012a55cd6b88e407c9d4ae9b3425f55924919b:

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

其中,5.2341 WBNB 跨到了 BSC 地址 0x89012a55cd6b88e407c9d4ae9b3425f55924919b:

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

接着,攻击者又把价值 1,000 万美元的资产存进了 Suilend:

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

攻击者还转了 24,022,896 SUI 到一个新地址 0xcd8962dad278d8b50fa0f9eb0186bfa4cbdecc6d59377214c88d0286a0ac9562,目前这个地址还没有进一步动作:

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

还算幸运的是,据 Cetus 说,在 SUI 基金会和其他生态项目合作下,目前已经冻结了 SUI 上 1.62 亿美元的被盗资金。

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

(https://x.com/CetusProtocol/status/1925567348586815622)

接下来,我们再用链上反冼钱与追踪工具 MistTrack 来分析一下 EVM 上那个接收跨链资金的地址 0x89012a55cd6b88e407c9d4ae9b3425f55924919b。

这个地址在 BSC 上收到了 5.2319 BNB,目前还没转走:

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

这个地址在 Ethereum 上收到了 3,000 个 USDT、4,088 万个 USDC、1,771 个 SOL 和 8,130.4 个 ETH。

其中,USDT、USDC 和 SOL 通过 CoW Swap、ParaSwap 这些工具兑换成了 ETH:

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

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

接着,这个地址把 20,000 ETH 转到了地址 0x0251536bfcf144b88e1afa8fe60184ffdb4caf16,目前还没转出:

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

目前这个地址在 Ethereum 上的余额是 3,244 ETH:

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

MistTrack 已经把上面这些相关地址加入了恶意地址库,同时我们也会持续监控这些地址的余额变动。

总结

这次攻击充分展示了数学溢出漏洞的破坏力。攻击者通过精确计算选择特定参数,利用 checked_shlw 函数的缺陷,只花 1 个代币的成本就拿到了价值数十亿的流动性。可以说是一次极其精密的数学攻击。慢雾安全团队建议大家,在开发智能合约时一定要严格测试所有数学函数的边界条件,避免类似问题。另外需要提醒的是,任何时候参与 DeFi 协议都存在智能合约漏洞风险,新手尤其要谨慎,不要只看收益不看风险。本文仅做技术分析,不构成任何投资建议,也不保证数据实时准确,具体行情和合约状态请以交易平台和官方公告为准。投资有风险,入市需谨慎。

来源:https://www.jb51.net/blockchain/987088.html
上一篇年全球十大最佳数字货币交易平台排名 下一篇NATIX币深度解析:运作原理、市场地位与价格预测
本站内容用于信息整理与展示,如有侵权或内容问题请及时联系处理。

相关推荐

补充同频道和同主题内容,方便继续浏览更多相关内容。

同类最新

继续查看同栏目最近更新的文章。

更多