2025年6月25日,对于ResupplyFi来说,本应是充满期待与庆祝的一天,然而仅仅两个小时后,这个备受瞩目的去中心化金融借贷协议,却因一场经典的ERC4626捐赠攻击陷入了近1亿美元的惨痛灾难。此次事件不仅暴露了当今DeFi领域依旧存在的数学计算漏洞,更折射出审计覆盖和协议部署环节的安全缺口,成为业界难以忽视的警钟。ResupplyFi事件的起因源自该协议在当天刚刚上线不久的一个新市场——cvcrvUSD(基于Curve Finance稳定币crvUSD的票据市场)。该市场上线时间不足两小时,流动性极其有限,几乎处于一个空市场状态。攻击者利用ERC4626标准的设计细节,向该市场的“金库”直接捐赠了2000个crvUSD代币,随后仅铸造了极少量(仅1个wei)的份额。这一操作令份额价格被人为抬升到天文数字,从而导致后续的兑换率计算出现异常。
ResupplyFi的智能合约在计算兑换率时,采用了1e36除以来自预言机报价的方法。当预言机反映出被人为拉升的份额价格后,计算结果因采用了向下取整而变成了零。兑换率为零的现象让借贷协议误判了担保资产的价值,导致借款人的借贷额度极大提高,几乎无人可控。攻击者因此仅抵押极少的份额便成功借出了高达9800万美元的reUSD。这一漏洞的本质源于捐赠攻击,这种攻击手段通过向空市场中的ERC4626协议金库注入资金,极度扭曲了份额价格,这一脆弱点已在多个DeFi协议中一再暴露,却仍频频出现。此次事件表明,官方治理、执行审计及风险控制体系未能有效识别并防范捐赠攻击带来的风险。
关键问题还体现在审计范围的界定上。ChainSecurity与Electi这两大权威审计机构虽均已完成对ResupplyFi核心代码的审查,但新上线的市场部署及初始化环节未在审计范围内。同样关键的是,审计侧提出假设认为市场上线时会有“足够的担保资产”存在,而实际上线时却是空市场,引发漏洞。审计与部署环节的断层,使得防护措施难以覆盖所有可能的攻击场景。从技术流程角度看,攻击者的操作堪称一场精密的数学诈骗。攻击开始时,攻击者通过闪电贷借入4000 USDC,随后使用Curve协议将USDC转换成crvUSD,并将2000个crvUSD捐赠至金库,同时只铸造极少份额以制造极端份额价格。
借助伪造的高份额价格,攻击者利用智能合约漏洞借出极大额度的reUSD,随后完成兑换回ETH,并偿还闪电贷,最终实现净利千万美元以上。此次攻击的资金流动经由多条钱包地址分散存储,利用Tornado Cash等交易混淆器洗白,展现出现代DeFi攻击者在链上技术的娴熟运用。ResupplyFi事发后迅速暂停受影响的wstUSR市场合约,并展开内部调查与损失评估。官方发布的声明强调,虽然单市场遭受冲击,但整体协议仍能正常运行。与此同时,社区保险基金被启动,部分损失由保险池和协议资金池共同承担。来自Convex的个人与团队也纷纷伸出援手,投入近300万美元资金补偿用户损失。
虽然此次补偿展示了DeFi生态中社区互助与风险共担的积极一面,但也暴露了保险机制设计及用户风险认知方面的盲点。许多用户入池时并未充分理解保险池的范围和作用,事后引发了一系列的社区讨论与争议。ResupplyFi攻击事件揭示了现有DeFi安全体系的复杂性和几何级数膨胀的威胁模型。从智能合约代码签审,到市场部署、参数设置、流动性引入,乃至实时监控和应急响应,每一环节的疏漏都可能成为致命破绽。ERC4626作为新兴的资产通用接口标准,设计理念虽先进,却对流动性、安全性及数学机制提出了更高要求。ResupplyFi典型的“捐赠攻击”案例让整个行业反思为何明文记载的攻击手段依然能够横扫新项目。
责任不仅在项目方,更涉及整个生态的风险意识与安全文化建设。教训之一,是审计机构必须将部署流程与初始化参数作为安全审查的固定标准,避免出现仅审查代码逻辑而忽略实际应用场景的情况。其次,项目方在部署阶段更应强化环境验证,确保上线市场具备合理流动性基础,避免空市场泄露“数学炸弹”。同时,提高用户教育和风险披露力度,让参与保险机制的用户能够清晰理解其中细节与权责。最终,ResupplyFi事件警示DeFi行业,代码和创新固然重要,但安全机制、漏洞防护与危机管理的不断优化,才是保证生态健康与用户资产安全的根本保障。链上不可篡改的数学世界没有人为错误的余地,任何一次细微失误都可能酿成数千万甚至数亿的损失。
DeFi发展的下一阶段,唯有吸取教训、完善技术和流程,才能真正实现去中心化金融的理想与价值。