Cetus security issues revelation: What should DeFi teams pay attention to?

从 Cetus 开始,所有的 DeFi 团队都应该改掉纯技术思维的局限性,真正培养起「金融工程师」的Safety风险意识。

Written by: Haotian

读完 @CetusProtocol 的黑客攻击Safety「复盘」报告,你会发现一个「耐人寻味」的现象:技术细节披露得相当透明,应急响应也堪称教科书级别,但在最关键的「为什么会被黑」这个灵魂拷问上,却显得避重就轻:

报告用大量篇幅解释`integer-mate`库的`checked_shlw`函数检查错误(应该≤2^192,实际≤2^256),并将此定性为「语义误解」。这种叙述虽然在技术上成立,但巧妙地将焦点引向了外部责任,仿佛 Cetus 也是这个技术缺陷的无辜受害者。

问题来了,既然`integer-mate`是一个开源且广泛应用的数学库,偏偏在你这发生了 1 个 token 便可获得天价流动性份额的荒谬错误?

分析黑客攻击路径会发现,黑客要实现完美攻击必须同时满足四个条件:错误的溢出检查、大幅位移运算、向上取整规则、缺乏经济合理性验证。

Cetus 恰恰在每一个「触发」条件上都「疏忽大意」了,比如:接受用户输入 2^200 这样的天文数字,采用极度危险的大幅位移运算,完全信任外部库的检查机制,最致命的是——当系统计算出「1 个 token 换天价份额」这种荒谬结果时,竟然没有任何经济常识检查就直接执行了。

所以,Cetus 真正应该反思的点如下:

1)为什么采用通用外部库没做好安全测试?虽说`integer-mate`库有开源、流行、广泛使用等特性,Cetus 用它来管理上亿美元的资产却没有充分了解这个库的安全边界在哪里,如果库作用失效有没有合适的备选方案等等。显然,Cetus 缺乏最基础的供应链安全防护意识;

2)为什么会允许输入天文数字而不设边界?虽说 DeFi 协议应寻求去中心化,但一个成熟的金融系统越是开放却越是需要明确的边界。

当系统允许输入攻击者精心构造的天文数字时,团队显然没思考过,这样的流动性需求合理吗?即使是全球最大的对冲基金,也不可能需要如此夸张的流动性份额。显然,Cetus 团队缺乏具备金融直觉的风险管理人才;

3)为什么经过多轮安全审计却依然没预先发现问题?这句话无意中暴露了一个致命的认知误区:项目方将安全责任外包给安全公司,把审计当成了免责金牌。但现实很残酷:安全审计工程师擅长发现代码 Bug,谁会想到去测试系统算出天方夜谭般的交换比例时可能不对劲?

这种跨数学、密码学、经济学的边界验证,正是现代 DeFi 安全的最大盲区。审计公司会说「这是经济模型设计缺陷,不是代码逻辑问题」;项目方则抱怨「审计没发现问题」;而用户只知道自己的钱没了!

你看,这归根结底暴露的是 DeFi 行业的系统性安全短板:纯技术背景的团队严重缺乏基本的「金融风险嗅觉」。

而从 Cetus 这份报告来看,团队显然并没有反思到位。

比起单纯针对此次黑客攻击上的技术性缺陷不足,我觉得从 Cetus 开始,所有的 DeFi 团队都应该改掉纯技术思维的局限性,真正培养起「金融工程师」的安全风险意识。

比如:引入金融风控专家,补足技术团队的知识盲区;进行多方审计审查机制,不仅看代码审计,必要的经济模型审计也得补上;培养「金融嗅觉」,模拟各种攻击场景和相应应对措施,对异常的操作时刻保持敏感等等。

这让我想起之前安全公司的从业经验,包括行业安全大佬们 @evilcos、@chiachih_wu、@yajinzhou、@mikelee205 们交流也有这样的共识:

随着行业的日趋成熟,代码层面的技术 Bug 问题会日趋减少,而边界不清、职责模糊的业务逻辑「意识 Bug」才是最大的挑战。

审计公司只能确保代码无 Bug,但如何才能做到「逻辑有边界」需要项目团队对业务本质有更深度理解和边界把控能力。(之前很多安全审计后依然遭黑客攻击的「甩锅事件」根本原因都在于此)

DeFi 的未来,属于那些代码技术过硬,同时业务逻辑理解又深刻的团队!

The article comes from the Internet:Cetus security issues revelation: What should DeFi teams pay attention to?

share to
© 版权声明

相关文章