去中心化困境:黑客偷了钱,所以Sui就能抢吗?
前言
这次的事件,是资本的胜利,而不是用户的,对于行业发展更是一种倒退。
比特币向左,Sui向右,每一个动摇去中心化的行业举动出现,都带来更强烈对比特币的信仰。
世界需要的不只是一套更好的全球化金融基础设施,而是始终都会有一群人需要自由的空间。
曾几何时,联盟链是比公链更红火的存在,就是因为他满足那个时代的监管需求,如今联盟的式微,其实也就是意味着单纯遵从此需求,并不是真实用户的需求,失去的被监管的用户,那又需监管工具呢?
1、事件背景2025年5月22日,Sui公链生态的最大去中心化交易所(DEX)Cetus遭遇黑客攻击,瞬间流动性骤减,多种交易对价格崩塌,损失超过2.2亿美元。
截止发稿前,时间线如下:
5月22日上午,黑客攻击Cetus套取2.3亿美元,Cetus紧急暂停合约,发布公告
5月22日下午,黑客跨链转出约6000万美元,其余1.62亿美元仍在Sui链上地址中,Sui验证节点迅速采取行动,将黑客地址加入“拒绝服务黑名单(DenyList)”,冻结资金
5月22日晚间,SuiCPO@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数量,从而以极小成本换取了巨量流动性。
从技术上看,上述漏洞源于Cetus在Move智能合约中使用了错误的掩码和判断条件,导致任何小于0xffffffffffffffff