Bunni 智能合约舍入误差酿 840 万美元闪电贷攻击!细节曝光、漏洞已修补

去中心化交易平台 Bunni 公布了一起重大安全事件调查结果——攻击者利用智能合约中的 舍入误差漏洞,成功发动闪电贷攻击,导致 840 万美元资金被盗。被转移的资金已经通过 Tornado Cash 混币,增加了追踪难度。Bunni 已向攻击者提出「白帽赏金」方案,愿意归还 10% 资金以换取剩余款项回流。

事件概览:两大资金池受影响

根据 Bunni 的事后分析报告,此次漏洞影响了:

Unichain 上的 weETH/ETH 交易池

以太坊主网 上的 USDC/USDT 交易池

漏洞源于 BunniHubLogic::withdraw() 函数中更新资金池闲置余额的舍入方向处理不当。单独操作

时该逻辑安全,但在多次复合操作下,却为攻击者提供了可乘之机。

攻击手法拆解:44 次小额提现耗尽流动性

Bunni 报告还原了攻击过程:

闪电贷借入资金:攻击者透过闪电贷获取 300 万美元 USDT。

价格操纵:多次掉期交易将 USDC 流动性压缩至仅剩 28 wei。

利用舍入误差:连续 44 次小额提现,进一步削减 USDC 余额,导致资金池流动性大幅下降。

反向套利:最后透过大额掉期擡高价格,再以操纵后的价格进行反向交易,套取巨额利润。

漏洞成因:舍入方向的隐性风险

Bunni 指出,问题在于提款时更新闲置余额的舍入方向处理。虽然单次计算不会出错,但在多次操作叠加后,误差被放大,最终形成可利用的攻击面。

Bunni 表示:「所有舍入方向在单独情况下都是安全的,但多操作组合时会引发漏洞利用。」

应对措施与平台状态

漏洞修补:已更新舍入逻辑,防止同类攻击。

安全验证:区块链安全公司 Cyfrin 进行分叉测试,确认修补后的安全性。

功能恢复:已重新开放所有网路的提现功能,但储值、掉期等功能仍暂停。

追踪与合作:与执法部门及中心化交易所合作,尝试冻结相关资金流向。

资金追踪与悬赏

Bunni 已锁定两个与攻击相关的钱包地址,但由于资金已经通过 Tornado Cash 混币,攻击者身份难以确认。平台向攻击者提出 10% 白帽赏金 提议,以换取剩余资金的归还。

未来防御与测试框架升级

Bunni 表示,将全面升级测试框架,强化对复合操作场景的模拟,避免类似漏洞再次出现。虽然修正舍入方向能阻止当前攻击,但团队仍在评估是否会引入新的潜在风险。

结语

此次事件凸显了 智能合约数学逻辑中的细微错误 也可能引发巨额损失。对 DeFi 项目而言,安全审计不仅要检查单一函数的正确性,更要关注多步操作的交互影响。Bunni 的快速响应与透明披露,为行业提供了宝贵的安全案例,但同时也提醒所有协议开发者——在去中心化金融的世界里,细节决定生死。

USDC0.02%
查看原文
此页面可能包含第三方内容,仅供参考(非陈述/保证),不应被视为 Gate 认可其观点表述,也不得被视为财务或专业建议。详见声明
  • 赞赏
  • 1
  • 转发
  • 分享
评论
0/400
暂无评论
交易,随时随地
qrCode
扫码下载 Gate App
社群列表
简体中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)