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]
Disclaimer: This article is copyrighted by the original author and does not represent MyToken’s views and positions. If you have any questions regarding content or copyright, please contact us.(www.mytokencap.com)contact
More exciting content is available on
X(https://x.com/MyTokencap)
or join the community to learn more:MyToken-English Telegram Group
https://t.me/mytokenGroup