非小号动态

非小号app5年6次事故损失破亿回顾老牌DeFi协议Balancer的黑客

新闻 2025-11-06 08:25

  

5年6次事故损失破亿回顾老牌DeFi协议Balancer的黑客光顾史

  随后据 Lookonchain 监测相关钱包地址,协议遭受攻击的总损失金额已升至 1.166 亿美元。

  「已发现可能影响 Balancer v2 池的漏洞攻击,其工程和安全团队正在高优先级调查此事件,将在获取更多信息后分享已验证的更新和后续措施。」

  此外,官方也尝公开表示愿意支付被盗资产的 20% 作为白帽奖励以追回资产,48 小时内有效。

  不过,如果你是个 DeFi 老玩家,肯定不会对「Balancer 被黑」这个标题感到诧异,而是有一种诡异的既视感。

  作为一个成立于 2020 年的老牌 DeFi 协议,Balancer 5 年来甚至出现了 6 次安全事故,平均每一年都会上演一次黑客光顾的保留节目,而这一次只是其中被盗金额最大的。

  回看历史,当市场行情让交易难度变成地狱级,很有可能存在 DeFi 里生息套利也并不安全。

  2020 年 3 月,Balancer 带着「灵活的自动化做市商」的创新理念进入 DeFi 世界。然而,仅仅三个月后,这个雄心勃勃的协议就迎来了第一个噩梦。

  攻击者利用了协议对通缩代币(Deflationary Token)处理不当的漏洞,造成了约 52 万美金的损失。

  大体的原理是,当时一个叫做 STA 的代币每次转账会自动销毁 1% 作为手续费。

  攻击者从 dYdX 闪电贷借出 10.4 万 ETH,然后在 STA 和 ETH 之间反复交易 24 次。由于 Balancer 没有正确计算每次转账后的实际余额,池子里的 STA 最终被耗尽至仅剩 1 wei。随后攻击者利用价格严重失衡,用微量 STA 换走了大量 ETH、WBTC、LINK 和 SNX。

  这次攻击其实之前有预兆。当年 8 月 22 日,Balancer 主动披露漏洞并警告用户撤资,但 5 天后攻击还是发生了。

  漏洞涉及 V2 Boosted Pool 的舍入误差(rounding error)。攻击者通过精确操纵,使得 BPT(Balancer Pool Token)的供应量计算出现偏差,从而以不正当的汇率提取池中资产。攻击通过多笔闪电贷交易完成,不同安全公司对损失的估算从 97.9 万到 210 万美元不等。

  黑客通过社会工程手段攻破域名注册商 EuroDNS,劫持 balancer.fi 域名。用户被重定向到钓鱼网站,该网站使用 Angel Drainer 恶意合约诱骗用户授权转账。

  虽然这事本身并不是 Balancer 的锅,但树大招风,利用该协议的品牌进行钓鱼,也让人防不胜防。

  虽然 Velocore 是独立项目,它被盗本来和 Balancer 没啥关系。但作为 Balancer 的分叉,Velocore 使用了相同的 CPMM(恒定乘积做市商)池设计,某种程度上可谓一脉相承,更像是盗在别处,但机制在 Balancer。

  这次的始末,大概是攻击者利用 Velocore 的 Balancer 式 CPMM 池合约中的溢出漏洞,通过操纵费用乘数(feeMultiplier)使其超过 100%,导致计算错误。

  这次攻击的技术原理已经初步明确。根据安全研究员分析,漏洞位于 Balancer V2 协议里的 manageUserBalance 函数的访问控制检查中,而这也对应着用户权限的检查。

  根据安全监控机构 Defimon Alerts 和 Decurity 的分析,系统在验证 Balancer V2 的提款权限时,本应检查调用者是否是账户的真正所有者,但代码错误地检查了 msg.sender(实际调用者)是否等于用户自己提供的 op.sender 参数。

  由于 op.sender 是用户可控的输入参数,攻击者可以随意伪造身份,绕过权限验证,执行 WITHDRAW_INTERNAL(内部提款)操作。

  说人话就是,这个漏洞让任何人都可以冒充任何账户的所有者,直接提取内部余额。这种基础的访问控制错误更像是低级失误,在一个运行 5 年的成熟协议中出现,让人非常诧异。

  笔者的感受是,加密世界里的 DeFi 协议,更像是「可远观而不可亵玩」,远看风平浪静,而如果真要细细研究,有很多叙事之外的技术债恐怕需要偿还。

  比如 Balancer 这个老牌 DeFi 协议,仔细看它的创新之一,那自然绕不过允许最多 8 种代币的自定义权重而组成混合池。

  相比 Uniswap 的简洁设计,Balancer 的复杂性呈指数级增长。

  每增加一种代币,池子的状态空间就会急剧膨胀。当你试图在一个池子里平衡 8 种不同代币的价格、权重和流动性时,攻击面也随之扩大。2020 年的通缩代币攻击和 2023 年的舍入误差漏洞,本质上都是复杂性带来的边界条件处理不当。

  更要命的是,Balancer 选择了快速迭代的发展路径。从 V1 到 V2,再到各种 Boosted Pool,每次升级都在旧代码上叠加新功能。这种「技术债务」的累积,让代码库变成了一个脆弱的积木塔;

  比如最近这次因为权限问题而导致的攻击,如此基础的设计错误不应该是一个运行 5 年的协议所产生的问题,或许某种程度上也说明项目的代码维护已经失控。

  又或许,在叙事、利润和情绪大于技术的现在,底层代码是否有漏洞,已经不重要了。

  Balancer 当然也不会是最后一个,你永远都不知道因为 DeFi 各种可组合性所堆叠的黑天鹅到底何时到来。DeFi 世界里各种复杂的依赖网络,让风险评估变得几乎不可能。

  即使你信任 Balancer 的代码,你能信任它所有的集成与合作伙伴吗?

  对于旁观者,DeFi 是一场新奇的社会实验;对于参与者,DeFi 被盗是一次昂贵的教训;对于整个行业,DeFi 健全是走向成熟必须付出的学费。

上一篇:DeFi需要更高的确定性而非更高的收益

下一篇:RWA :数字经济新引擎——《链改20:从数字资产

猜你喜欢