观点:黑客偷了钱,所以 Sui 就能抢吗?

2025-06-03 21:04:46

撰文:十四君

这次的事件,是资本的胜利,而不是用户的,对于行业发展更是一种倒退。

比特币向左,Sui 向右,每一个动摇去中心化的行业举动出现,都带来更强烈对比特币的信仰。

世界需要的不只是一套更好的全球化金融基础设施,而是始终都会有一群人需要自由的空间。

曾几何时,联盟链是比公链更红火的存在,就是因为他满足那个时代的监管需求,如今联盟的式微,其实也就是意味着单纯遵从此需求,并不是真实用户的需求,失去的被监管的用户,那又需监管工具呢?

1、事件背景

2025 年 5 月 22 日,Sui 公链生态的最大去中心化交易所 (DEX) Cetus 遭遇黑客攻击,瞬间流动性骤减,多种交易对价格崩塌,损失超过 2.2 亿美元。

截止发稿前,时间线如下:

  • 5 月 22 日上午,黑客攻击 Cetus 套取 2.3 亿美元,Cetus 紧急暂停合约,发布公告

  • 5 月 22 日 下午,黑客跨链转出约 6000 万美元,其余 1.62 亿美元仍在 Sui 链上地址中,Sui 验证节点迅速采取行动,将黑客地址加入「拒绝服务黑名单(Deny List)」,冻结资金

  • 5 月 22 日晚间,Sui CPO @emanabio 发推确认:资金已被冻结、归还将很快开始

  • 5 月 23 日,Cetus 开始修复漏洞并更新合约

  • 5 月 24 日,Sui 开源 PR,解释即将通过别名机制(aliasing)与 whitelist 进行资金回收

  • 5 月 26 日,Sui 启动链上治理投票,提议是否执行协议升级、将黑客资产转至托管地址

  • 5 月 29 日,投票结果公布,超过 2/3 验证节点权重支持;协议升级准备执行

  • 5 月 30 日 -6 月初,协议升级生效,指定交易哈希被执行,黑客资产被「合法转走」

2、攻击原理

事件原理相关,行业已经有多篇表述,在此仅做核心原理概览:

从攻击流程上看:

攻击者首先利用闪电贷借出约 10,024,321.28 个 haSUI,瞬间将交易池的价格下跌了

99.90%。这一巨额卖单使得目标池价格从约 1.8956×10^19 降至 1.8425×10^19,几乎见底清空。

随后,攻击者在 Cetus 上以极窄的区间(Tick 下限 300000、上限 300200,区间宽度仅 1.00496621%)创建流动性头寸。如此窄的区间放大了后续计算误差对所需代币数量的影响。

而攻击核心原理:

在于 Cetus 用于计算所需代币数量的 get_delta_a 函数中存在整数溢出漏洞。攻击者故意声明要添加一个巨大流动性(约 10^37 单位),但实际只向合约中投入 1 个代币。

由于 checked_shlw 的溢出检测条件错误,合约在左移计算时发生了高位截断,使得系统严重低估了所需的 haSUI 数量,从而以极小成本换取了巨量流动性。#p#分页标题#e#

从技术上看,上述漏洞源于 Cetus 在 Move 智能合约中使用了错误的掩码和判断条件,导致任何小于 0xffffffffffffffff << 192 的值都能绕过检测;而左移 64 位后高位数据被截断,系统仅收取极少代币就认为获得了巨大流动性。

在事件发生后,衍生出 2 个官方操作:「冻结」 vs 「追回」 ,他是两个阶段:

  • 冻结阶段靠 Deny List + 节点共识完成;

  • 追回阶段则需链上协议升级 + 社区投票 + 指定交易执行绕过黑名单。

3、Sui 的冻结机制

Sui 链内本身就存在特殊的 Deny List ( 拒绝列表 ) 机制,实现了本次黑客资金冻结。不止如此,其实 Sui 的代币标准也有「受监管代币」模式,带有内置冻结功能。

此次应急冻结正是利用了这一特性:验证者节点在本地配置文件中快速添加了被盗资金相关的地址。理论上每个节点运营者都可以自行修改 TransactionDenyConfig 来更新黑名单,但为了确保网络一致性,Sui 基金会作为最初的配置发布方进行了集中协调。

基金会首先官方发布了含黑客地址的配置更新,验证者按默认配置同步生效,从而让黑客资金在链上暂时被「封印」,这背后实际上存在高度的集中化因素

为了从冻结资金中解救受害者,Sui 团队紧接着推出了白名单 (Whitelist) 机制补丁。

这是针对后续转回资金的操作的。可以事先构造好合法交易并登记在白名单中,即便该资金地址还在黑名单上,也能强制执行。

这个新的特性 transaction_allow_list_skip_all_checks 允许将特定交易预先加入「免检名单」,使这些交易可以

声明:投资有风险,入市须谨慎。本资讯不作为投资建议。
本文链接: - 链补手