mt logoMyToken
ETH Gas
日本語

Balancer 1.28 亿美元攻击的机制剖析

一、事件概览

在去中心化金融(DeFi)这一基于区块链运行的链上金融体系中,Balancer 作为核心流动性协议之一,于2025年11月3日发生大规模资金异常提取事件。攻击者围绕 Composable Stable Pools 的计算逻辑,利用 scaling math 中的舍入方向错误(rounding direction error),结合 batchSwap 的多路径交易能力,在短时间内反复执行复杂交换操作,逐步扭曲流动性池的内部状态,并在未触发有效防护机制的情况下完成资金转移,最终造成约 1.16 亿至 1.28 亿美元损失,波及主协议及多个 fork 项目,涉及 WETH、wstETH、osETH 等核心资产。

以2026年的视角回看,这起事件已经不再只是一次“漏洞利用”,而更接近一次对协议运行规则的系统性操控。攻击者没有突破权限边界,也未篡改合约代码,而是在既有机制内,通过精确构造交易路径,持续放大微小计算偏差,最终让系统在逻辑上接受了资金归属的转移。问题的关键不在于单一错误,而在于多个设计假设在对抗性环境中叠加后形成的结构性偏差。

如果用统一的银行系统类比来理解:

  • Balancer Pool = 银行的资金池账户
  • invariant = 银行账本的平衡规则
  • batchSwap = 客户在银行内部进行复杂转账组合
  • rounding error = 利息或汇率计算中的微小偏差
  • internal balance = 银行内部记账账户

这起事件的关键在于:

攻击者并没有“入侵银行”,而是利用规则,让银行系统在逻辑上“承认”这笔钱属于他。


二、攻击路径:从“数学偏差”到“系统性抽水”

站在2026年回看,这次攻击可以被清晰地拆分为四个阶段,其本质不是单点漏洞利用,而是一个逐步放大的系统操控过程。

攻击起点来自 Composable Stable Pool 中的一个关键实现缺陷:在 _swapGivenOut(EXACT_OUT) 路径中,对输出资产进行 _upscale 时错误地使用了 FixedPoint.mulDown(向下舍入),而非应使用的 mulUp(向上舍入)。

这一舍入方向错误(rounding direction error)导致系统在计算所需输入金额时产生系统性低估,从而使 invariant 在特定路径下被持续压低,并为后续的组合利用提供了基础。该误差在单次计算中影响极小,但在特定路径下会形成稳定的价值偏移方向,并具备被重复利用的条件。


2. 利用放大:批量交换机制形成路径级套利能力

攻击者利用批量交换机制(batchSwap)的组合执行能力,将这一微小偏差转化为可持续放大的套利路径:

  • 在单笔交易中执行多步骤交换
  • 在多个流动性池之间构造循环路径
  • 在每一步中稳定获取 rounding advantage

关键在于,这些操作本身属于协议设计允许的复杂交易能力,而 invariant 校验仅在局部生效,使得系统将这些路径视为“正常套利行为”。

最终结果是,攻击者能够在协议规则范围内,持续积累结构性收益。


3. 状态扭曲:人为制造系统性 deficit

随着循环操作的持续进行,流动性池逐渐进入一种“表面平衡、实际偏移”的状态:

  • invariant 在局部仍然成立
  • 资产分布逐步偏离初始平衡
  • 系统内部形成隐性 deficit

这一阶段标志着系统安全假设开始失效,但仍未触发任何有效检测机制。


4. 收割阶段:internal balance 的合法提取

在完成状态操控后,攻击者通过 Vault 的 manageUserBalance

  • 将账面上“归属于自己”的资产转入 internal balance
  • 再完成提取与转移

这一过程未涉及权限绕过,本质上是一次系统在规则内认可的提款行为。随后资金被拆分,并通过跨链桥及新部署合约进行分散处理。


三、资金路径与行为模式

资金流结构

  1. 初始资金(闪电贷或自有资金)进入池子
  2. 多轮 batchSwap 操作(数十至数百次)
  3. 不变量逐步偏移
  4. internal balance 累积
  5. 资金提取
  6. 跨链拆分与转移

行为特征

  • 高频、结构化交易(非随机行为)
  • 强脚本化执行(高度自动化)
  • 多链分散(降低追踪难度)

多家分析机构基于行为模式认为,攻击者具备成熟 DeFi 攻击经验,可能属于专业化攻击组织,但目前尚无明确归因结论。


四、范式升级:从舍入漏洞到机制性利用

行业对该事件的复盘已经相对充分,但更关键的问题在于:

攻击的利用方式,正在从单点漏洞扩展为对系统规则的组合性操控。

1. 从 Bug Exploit → Economic Manipulation

  • 传统攻击路径通常是:发现漏洞 → 绕过权限 → 直接获取资金
  • 本次攻击:未突破权限 → 未篡改代码 → 完全利用既有规则

这意味着:代码层面可以是“正确的”,但系统层面仍然可能是“可被操控的”。

2. DeFi 的核心假设被挑战

Balancer V2 的设计隐含一个重要前提:参与者行为以理性套利为主,而非对抗性攻击。

但现实情况是:

  • 攻击者是主动对抗系统的参与者
  • 会组合多个机制构造最优攻击路径
  • 会系统性利用规则边界

类比银行系统业务:这就像是系统假设客户只是正常交易,但现实中有人在专门设计规则套利路径。

3. invariant 不再是安全边界

过去,invariant 被视为核心安全保障;但此次事件表明:

  • invariant 可以在多步操作中被逐步削弱
  • 局部正确不等于整体安全

这意味着:安全边界不再是单一公式,而是整个执行路径与行为组合。


五、官方响应与效果评估

1. 有效性分析

Balancer 团队及生态方在事件后迅速采取措施,包括暂停受影响池、协调流动性撤出、修复 rounding 逻辑,以及推进 V3 架构改进。

这些措施在短期内有效,主要因为:

  • 直接切断已知攻击路径
  • 降低系统中可被利用的流动性规模
  • 修复导致偏差累积的关键计算问题

从效果来看:

  • 短期:有效阻止进一步损失,稳定市场预期
  • 长期:为后续架构升级提供方向,尤其是在数学一致性与校验机制方面

2. 局限性分析

然而,这些措施更多是针对已暴露问题的修复,而非对机制本身的重构。

  1. 修复 rounding ≠ 修复机制
    虽然消除了直接触发点,但 batchSwap 的组合利用空间仍然存在。
  2. invariant 校验仍是局部的
    系统依旧以单步正确性为核心,难以防御路径级攻击。
  3. 缺乏行为级风控能力
    协议仍缺乏对异常交易模式(如循环路径、高频套利)的识别能力。

总结来看: 当前响应解决了“这个漏洞”,但尚未覆盖“这一类攻击方式”。


六、防御建议

  1. 引入 Path-level Invariant 校验
    在交易层面验证整个执行路径的净效果,防止多步合法操作累积异常结果。
  2. 强制 rounding 一致性
    统一所有计算路径的舍入逻辑,从源头消除可被放大的偏差。
  3. 引入经济攻击仿真(Adversarial Simulation)
    通过对抗性测试模拟极端攻击路径,提前发现机制风险。
  4. 限制复杂交易组合能力
    对 batchSwap 的路径复杂度与执行深度设置约束,降低攻击可行性。
  5. 构建行为级风控系统
    识别异常交易模式(如循环套利、高频路径),并实施动态限制。
  6. internal balance 提取隔离机制
    对内部余额提取引入延迟或额外验证,阻断最终价值提取路径。

总结来看: 这些措施的核心在于,将安全边界从“代码正确性”扩展到“系统行为正确性”。在对抗性环境中,攻击者往往不会违反规则,而是组合利用规则,因此防御体系必须具备识别路径异常与行为异常的能力。


七、结论

Balancer V2 Exploit 不仅是一次大规模资金损失事件,更揭示了 DeFi 安全范式正在发生的变化。从表面看,这是一次由计算误差引发的攻击;但从本质上看,它暴露的是协议在对抗性环境中的结构性脆弱。

攻击者并未突破系统,而是通过构造路径,让系统在自身规则内逐步偏离安全状态,最终完成资金转移。这种方式表明,单纯依赖代码正确性已不足以保障安全,系统设计本身必须具备对抗性思维。

因此,未来 DeFi 安全的核心,将从“智能合约是否正确”转向“机制在对抗环境中是否稳定”。Balancer 事件,正是这一转变的典型案例。


References

  1. Certora – Breaking Down the Balancer Hack [Technical Analysis]
  2. SlowMist – When Small Flaws Collapse a Giant [Technical Analysis]
  3. Trail of Bits – Balancer Hack Analysis and Guidance [Incident Report]
  4. PeckShield – On-chain Alert Reports [On-chain Analysis]
  5. Cyvers – Real-time Threat Detection Reports [On-chain Analysis]
  6. Balancer Official X Postmortem [Incident Report]
免責事項:この記事の著作権は元の作者に帰属し、MyTokenを表すものではありません(www.mytokencap.com)ご意見・ご感想・内容、著作権等ご不明な点がございましたらお問い合わせください。
MyTokenについて:https://www.mytokencap.com/aboutusこの記事へのリンク:https://www.mytokencap.com/news/579794.html
community_x_prefix
X(https://x.com/MyTokencap)
community_tg_prefixcommunity_tg_name
https://t.me/mytokenGroup
関連読書