Balancer 去中心化交易所协议中的关键漏洞,允许攻击者通过利用分批交换机制中的舍入错误提取超过 1.2 亿美元。分析表明,EXACT_OUT 交换函数中的有缺陷逻辑在多步过程中错误地放大和缩小代币数量,造成微小的余额不平衡,并在重复交易中累积。这些差异,类似于削去几分之一美分,被黑客系统性地抽走,直到触发流动性不足的保护措施。
该攻击针对包含不同小数精度的代币的池子,这种情景在经过多轮安全审计后仍未被发现。在分批交易期间,Balancer 的代码在执行价格计算前将输入金额转换为以 18 位小数表示,然后再将结果还原到原生代币的小数位。在某些情况下,最后的下采样步骤将数值向上舍入,向交易发起方授予多出的资产。通过编排高频微交易,攻击者累积获得的收益超过了链上滑点限制。
发现后,Balancer 团队发布了初步报告,并与区块链验证者和节点运营商协调实施应急措施。在 Polygon 与 Sonic 上,治理机构启动了冻结模块,以锁定受影响的池合约并拦截外发转账。Berachain 的利益相关者批准了一次应急硬分叉,以回滚利用窗口并为流动性提供者提供赔偿。这些干预凸显了去中心化金融生态系统中,不可变账本原则与快速危机应对之间持续的张力。
此事件重新点燃了关于安全控制集中化的辩论,批评者认为冻结功能和硬分叉违背了“代码即法律”的理念。支持者则认为,适应性治理工具在高风险环境中保护用户是必要的。Balancer 的漏洞凸显了对小数处理检查的严格性的重要性,并揭示了利用数学边缘情形的不断演化的攻击向量。协议开发者现在正在重新审视审计框架,并在未来的版本中整合对小数运算的自动模糊测试,以防止类似利用再次发生。
评论 (0)