撰文:David,深潮TechFlow
屋漏偏逢连夜雨,黑客专挑下跌时。
在近期整个加密市场行情低迷的环境下,老牌DeFi协议再遭重创。
11月3日,链上数据显示,协议Balancer疑似遭到黑客攻击。约7,090万美元的资产被转移至新钱包,其中包括6,850枚osETH、6,590枚WETH及4,260枚wstETH。
随后据Lookonchain监测相关钱包地址,协议遭受攻击的总损失金额已升至1.166亿美元。
而Balancer团队在事件后表示:
“已发现可能影响Balancerv2池的漏洞攻击,其工程和安全团队正在高优先级调查此事件,将在获取更多信息后分享已验证的更新和后续措施。”
此外,官方也尝公开表示愿意支付被盗资产的20%作为白帽奖励以追回资产,48小时内有效。
回应的很及时,但也很官方。
不过,如果你是个DeFi老玩家,肯定不会对"Balancer被黑"这个标题感到诧异,而是有一种诡异的既视感。
作为一个成立于2020年的老牌DeFi协议,Balancer5年来甚至出现了6次安全事故,平均每一年都会上演一次黑客光顾的保留节目,而这一次只是其中被盗金额最大的。
回看历史,当市场行情让交易难度变成地狱级,很有可能存在DeFi里生息套利也并不安全。
2020年6月:通缩代币漏洞,损失约52万美元2020年3月,Balancer带着"灵活的自动化做市商"的创新理念进入DeFi世界。然而,仅仅三个月后,这个雄心勃勃的协议就迎来了第一个噩梦。
攻击者利用了协议对通缩代币(DeflationaryToken)处理不当的漏洞,造成了约52万美金的损失。
大体的原理是,当时一个叫做STA的代币每次转账会自动销毁1%作为手续费。
攻击者从dYdX闪电贷借出10.4万ETH,然后在STA和ETH之间反复交易24次。由于Balancer没有正确计算每次转账后的实际余额,池子里的STA最终被耗尽至仅剩1wei。随后攻击者利用价格严重失衡,用微量STA换走了大量ETH、WBTC、LINK和SNX。
2023年3月:Euler事件躺枪,损失约1190万美元这次Balancer是间接受害者。
EulerFinance遭受1.97亿美元闪电贷攻击,Balancer的bb-e-USD池因持有Euler的eToken而受到牵连。
当Euler被攻击时,约1190万美元从Balancer的bb-e-USD池被转移到Euler,占该池TVL的65%。虽然Balancer紧急暂停了相关池子,但损失已经造成而无法挽回。
2023年8月:BalancerV2池精度漏洞,损失约210万美元这次攻击其实之前有预兆。当年8月22日,Balancer主动披露漏洞并警告用户撤资,但5天后攻击还是发生了。
漏洞涉及V2BoostedPool的舍入误差(roundingerror)。攻击者通过精确操纵,使得BPT(BalancerPoolToken)的供应量计算出现偏差,从而以不正当的汇率提取池中资产。攻击通过多笔闪电贷交易完成,不同安全公司对损失的估算从97.9万到210万美元不等。
2023年9月:DNS劫持攻击,损失约24万美元这是一次社会工程攻击,目标不是智能合约而是传统互联网基础设施。
黑客通过社会工程手段攻破域名注册商EuroDNS,劫持balancer.fi域名。用户被重定向到钓鱼网站,该网站使用AngelDrainer恶意合约诱骗用户授权转账。
攻击者再将所盗赃款通过TornadoCash进行洗白。
虽然这事本身并不是Balancer的锅,但树大招风,利用该协议的品牌进行钓鱼,也让人防不胜防。
2024年6月:Velocore被黑,损失约680万美元虽然Velocore是独立项目,它被盗本来和Balancer没啥关系。但作为Balancer的分叉,Velocore使用了相同的CPMM(恒定乘积做市商)池设计,某种程度上可谓一脉相承,更像是盗在别处,但机制在Balancer。
这次的始末,大概是攻击者利用Velocore的Balancer式CPMM池合约中的溢出漏洞,通过操纵费用乘数(feeMultiplier)使其超过100%,导致计算错误。
攻击者最终通过闪电贷配合精心构造的提取操作,盗取了约680万美元。
2025年11月:最新攻击,损失过亿这次攻击的技术原理已经初步明确。根据安全研究员分析,漏洞位于BalancerV2协议里的manageUserBalance函数的访问控制检查中,而这也对应着用户权限的检查。
根据安全监控机构DefimonAlerts和Decurity的分析,系统在验证BalancerV2的提款权限时,本应检查调用者是否是账户的真正所有者,但代码错误地检查了msg.sender(实际调用者)是否等于用户自己提供的op.sender参数。
由于op.sender是用户可控的输入参数,攻击者可以随意伪造身份,绕过权限验证,执行WITHDRAW_INTERNAL(内部提款)操作。
说人话就是,这个漏洞让任何人都可以冒充任何账户的所有者,直接提取内部余额。这种基础的访问控制错误更像是低级失误,在一个运行5年的成熟协议中出现,让人非常诧异。
黑客光顾史读后谈我们能从这段“黑客光顾史”里学到什么?
笔者的感受是,加密世界里的DeFi协议,更像是“可远观而不可亵玩”,远看风平浪静,而如果真要细细研究,有很多叙事之外的技术债恐怕需要偿还。
比如Balancer这个老牌DeFi协议,仔细看它的创新之一,那自然绕不过允许最多8种代币的自定义权重而组成混合池。
相比Uniswap的简洁设计,Balancer的复杂性呈指数级增长。
每增加一种代币,池子的状态空间就会急剧膨胀。当你试图在一个池子里平衡8种不同代币的价格、权重和流动性时,攻击面也随之扩大。2020年的通缩代币攻击和2023年的舍入误差漏洞,本质上都是复杂性带来的边界条件处理不当。
更要命的是,Balancer选择了快速迭代的发展路径。从V1到V2,再到各种BoostedPool,每次升级都在旧代码上叠加新功能。这种"技术债务"的累积,让代码库变成了一个脆弱的积木塔;
比如最近这次因为权限问题而导致的攻击,如此基础的设计错误不应该是一个运行5年的协议所产生的问题,或许某种程度上也说明项目的代码维护已经失控。
又或许,在叙事、利润和情绪大于技术的现在,底层代码是否有漏洞,已经不重要了。
Balancer当然也不会是最后一个,你永远都不知道因为DeFi各种可组合性所堆叠的黑天鹅到底何时到来。DeFi世界里各种复杂的依赖网络,让风险评估变得几乎不可能。
即使你信任Balancer的代码,你能信任它所有的集成与合作伙伴吗?
对于旁观者,DeFi是一场新奇的社会实验;对于参与者,DeFi被盗是一次昂贵的教训;对于整个行业,DeFi健全是走向成熟必须付出的学费。
只是这个学费,希望不要太贵了。





