值得注意的是,这正是 @CetusProtocol 构建的同一个库,实际上每个在 Sui 上的 CLAMM 都依赖于它。
这个修复将这个相当不可靠的部分转换为:
public fun sub(arg0: I128, arg1: I128) : I128 {
let v0 = I128{bits: u128_neg(arg1.bits)};
add(arg0, wrapping_add(v0, from(1)))
}
变成了适当的溢出保护:
public fun sub(arg0: I128, arg1: I128) : I128 {
let v0 = wrapping_sub(arg0, arg1);
let v1 = sign(arg0) != sign(arg1) && sign(arg0) != sign(v0);
assert!(!v1, 0);
v0
}
非常感谢 @bluefinapp 为整个 Sui CLAMM 生态系统提供安全保障!这正是有益于每个人的严格安全工作。
在我们与 @AsymptoticTech 合作进行的正式验证过程中,我们发现了一个边缘案例,涉及到 integer-mate —— 一个在许多 Sui 协议中使用的核心数学库 —— 当第二个操作数达到其最小可能值时,带符号减法可能会表现不正确。
虽然这个漏洞对 Bluefin 的系统没有影响,但对其他人如何使用该库的不确定性促使我们迅速采取行动——与我们的安全合作伙伴准备改进的实现,并与 Sui 基金会紧密合作,向受影响的 DEX 传播消息,以便他们能够修复这个漏洞。
感谢所有参与者:感谢 @AsymptoticTech 的深入研究和发现边缘案例,感谢 @osec_io 的 @NotDeGhost 参与验证,感谢 @SuiNetwork 领导迅速而协调的响应。
这就是让 Sui 与众不同的合作。安全是一项持续的承诺,这次快速的识别和解决表明我们是团结在一起的。
我们将继续投资于正式验证、架构审查和生态系统范围的协调,以提高安全和可验证 DeFi 的标准。
2
3,235
本页面内容由第三方提供。除非另有说明,欧易不是所引用文章的作者,也不对此类材料主张任何版权。该内容仅供参考,并不代表欧易观点,不作为任何形式的认可,也不应被视为投资建议或购买或出售数字资产的招揽。在使用生成式人工智能提供摘要或其他信息的情况下,此类人工智能生成的内容可能不准确或不一致。请阅读链接文章,了解更多详情和信息。欧易不对第三方网站上的内容负责。包含稳定币、NFTs 等在内的数字资产涉及较高程度的风险,其价值可能会产生较大波动。请根据自身财务状况,仔细考虑交易或持有数字资产是否适合您。