廣場
最新
熱門
資訊
我的主頁
發布
掃描下載 Gate App
更多下載方式
今天不再提醒
Haotian|Web3DA
2025-05-22 15:11:57
關注
这次攻击暴露的是一个经典的整数溢出问题,具体表现为类型转换过程中的数据截断。
技术细节拆解:
1)漏洞定位:问题出现在get_amount_by_liquidity函数的类型转换机制中,从u256到u64的强制转换导致高位数据丢失。
2)攻击流程:
1、攻击者通过add_liquidity函数传入极大的流动性数量参数;
2、系统调用get_delta_b函数计算所需的B代币数量;
3、在计算过程中,两个u128类型数据相乘,理论结果应为u256类型;
关键缺陷:函数返回时将u256结果强制转换为u64,导致高位128位数据被截断。
3)利用效果:原本需要大量代币才能铸造的流动性额度,现在仅需极少量代币即可完成。攻击者以极低成本获得巨额流动性份额,随后通过销毁部分流动性实现资金池套利。
简单类比:就像用只能显示8位数的计算器计算10亿×10亿,20位的计算结果只能显示后8位,前12位直接消失。攻击者正是利用了这种"计算精度缺失"漏洞。
Move语言在资源管理和类型安全方面确实具备显著优势,能够有效防范双重支付、资源泄露等底层安全问题。但此次Cetus协议出现的是应用逻辑层面的数学计算错误,并非Move语言本身的设计缺陷。
具体而言,Move的类型系统虽然严格,但对于显式类型转换(explicit casting)操作,仍需依赖开发者的正确判断。当程序主动执行u256到u64的类型转换时,编译器无法判断这是有意设计还是逻辑错误。
此外,这次安全事件与Sui的共识机制、交易处理、状态管理等核心底层功能完全无关。Sui Network只是忠实执行了Cetus协议提交的交易指令,漏洞源于应用层协议本身的逻辑缺陷。
说白了,再先进的编程语言也无法完全杜绝应用层的逻辑错误。Move能够防范大部分底层安全风险,但无法代替开发者进行业务逻辑的边界检查和数学运算的溢出保护。
GET
-0.07%
B
8.58%
MOVE
2.34%
CETUS
2.61%
此頁面可能包含第三方內容,僅供參考(非陳述或保證),不應被視為 Gate 認可其觀點表述,也不得被視為財務或專業建議。詳見
聲明
。
讚賞
點讚
留言
轉發
分享
留言
0/400
留言
暫無留言
話題
#
BTC重返12萬
5k 熱度
#
ETH突破4300
4k 熱度
#
曬出我的Alpha積分
78k 熱度
#
穩定幣流通量破2700億美元
384 熱度
#
美財長預計10月解決貿易問題
122 熱度
置頂
道金斯說的「模因」,可以書裏是一句話、歌曲裏的一段旋律、一幅畫中的意境、或者電影裏的一幕橋段。「回首向來蕭瑟處,歸去,也無風雨也無晴」,蘇東坡的詞能流傳千年,靠的不是基因遺傳,而是通過人類模仿與傳播而延續下來。
Gate 鏈上賺幣:ETH 挖礦限時高收益!
✅ 年化收益近 5% + 額外獎勵單人額度 1000 ETH
💎 最低 0.00000001 ETH 起投,無贖回期,隨存隨取!
立即上車,穩賺鏈上收益:https://www.gate.com/staking/ETH
網站地圖
这次攻击暴露的是一个经典的整数溢出问题,具体表现为类型转换过程中的数据截断。
技术细节拆解:
1)漏洞定位:问题出现在get_amount_by_liquidity函数的类型转换机制中,从u256到u64的强制转换导致高位数据丢失。
2)攻击流程:
1、攻击者通过add_liquidity函数传入极大的流动性数量参数;
2、系统调用get_delta_b函数计算所需的B代币数量;
3、在计算过程中,两个u128类型数据相乘,理论结果应为u256类型;
关键缺陷:函数返回时将u256结果强制转换为u64,导致高位128位数据被截断。
3)利用效果:原本需要大量代币才能铸造的流动性额度,现在仅需极少量代币即可完成。攻击者以极低成本获得巨额流动性份额,随后通过销毁部分流动性实现资金池套利。
简单类比:就像用只能显示8位数的计算器计算10亿×10亿,20位的计算结果只能显示后8位,前12位直接消失。攻击者正是利用了这种"计算精度缺失"漏洞。
Move语言在资源管理和类型安全方面确实具备显著优势,能够有效防范双重支付、资源泄露等底层安全问题。但此次Cetus协议出现的是应用逻辑层面的数学计算错误,并非Move语言本身的设计缺陷。
具体而言,Move的类型系统虽然严格,但对于显式类型转换(explicit casting)操作,仍需依赖开发者的正确判断。当程序主动执行u256到u64的类型转换时,编译器无法判断这是有意设计还是逻辑错误。
此外,这次安全事件与Sui的共识机制、交易处理、状态管理等核心底层功能完全无关。Sui Network只是忠实执行了Cetus协议提交的交易指令,漏洞源于应用层协议本身的逻辑缺陷。
说白了,再先进的编程语言也无法完全杜绝应用层的逻辑错误。Move能够防范大部分底层安全风险,但无法代替开发者进行业务逻辑的边界检查和数学运算的溢出保护。