
Term Labs 已恢复所有受 8 月底针对其协议的治理攻击影响的固定利率贷款头寸,结束了此前因约850 万美元从流动性金库余额中被盗而启动的恢复工作。根据该协议最新发布的事件报告,最后一个头寸已于 8 月 25 日 14:52 UTC 安全转移。该报告还首次详细阐述了攻击者如何操纵其治理系统,从与 Term Finance 关联的 Meta Vaults 中提取资金。
要点总结
- 8 月 23 日Term Labs 治理攻击导致 Term 金库中的流动资金余额损失约850 万美元,其中包括约 2843 个 ETH 和 168 万个 USDC。
- 核心V1 和 V2 固定利率贷款合同从未受到影响,直接借贷和清算功能在整个事件过程中一直正常运行。
- 攻击者通过Tornado Cash为两个运营商钱包充值,花费约951 美元购买治理代币,然后提交提案以消除执行延迟。
- Term Labs 于 8 月 25 日关闭了其 Meta Vaults,撤销了其 DAO 治理角色,并收回了所有受影响的固定利率贷款头寸。
- 目前,该协议正与执法部门和网络安全公司合作,追查肇事者。
治理攻击导致流动性金库余额损失 850 万美元
Term Labs治理攻击仅限于Term金库内的流动资金余额,并未波及协议底层借贷市场。安全公司CertiK和PeckShield此前估计,8月23日事件造成的损失接近850万美元,包括约2843个ETH和168万个USDC。PeckShield随后报告称,被盗的USDC被兑换成了约168万个DAI。
Term Labs 更新后的账户证实了这一数字,但补充了关键的背景信息:消失的资金全部来自金库策略,而不是来自处理固定利率借贷的核心系统。
固定利率贷款合同保持不变
在整个事件期间,Term Labs 的 V1 和 V2 合约始终处于攻击者的控制范围之外。即使构建于这些市场之上的 Meta Vault 遭到清空,协议直接借贷市场的供应、偿还和清算功能也始终保持正常运行。对于任何评估 DeFi 领域固定利率借贷安全性的人来说,这一区别至关重要:此次攻击的目标是围绕 Meta Vault 构建的治理层,而非借贷引擎本身。
攻击者如何利用治理提案和龙卷风现金基金
攻击者根本无需直接破坏Term的智能合约——他们只需投票即可获得控制权。两个运营商钱包(均由Tornado Cash注资)提交了一系列治理提案,旨在移除那些旨在阻止此类攻击的安全措施。
第一个钱包于 8 月 17 日收到 Tornado Cash 资金,大约 24 分钟后,提交了一份名为“投票否决策展人提出的金库参数变更”的 ETH 提案。该提案中包含一项变更,将受影响堆栈的治理延迟降低至零,从而消除了流动性提供者可能在资金转移执行前阻止该操作的七天零一小时窗口期。
第二个钱包于 8 月 18 日通过 Tornado Cash 充值,部署了一个单例合约,该合约将控制器、价格适配器和伪造的 Repo 代币整合到一个软件包中。三天后,即 8 月 21 日,一个由该单例合约初始化的辅助合约提交了七项治理提案,并对所有提案投出了唯一的一票。其中两项提案针对的是 ETH 策略 DAO,但从未执行;其余五项提案则针对 USDC 发起攻击,每项提案都从其各自的治理堆栈中移除了三天零一小时的执行延迟。此前对该事件的分析发现,攻击者仅花费了约951 美元就获得了足够的治理代币,从而控制了与持有数百万美元存款的金库相关的投票权——这鲜明地说明了当执行延迟较弱或不存在时,DeFi治理提案可以被多么廉价地劫持。
伪造的回购代币耗尽了USDC策略
一旦延迟结束,攻击者便迅速行动。8月23日06:25 UTC,第一个执行的提案将四个活跃的ETH策略——Shorewoods、August Digital、Parity Prime和Parity Core——召回至Meta Vault,并将它们重定向至一个名为frWETH-EXIT(固定接收方WETH退出策略)的新增策略。WETH一旦进入该策略,便立即被全额转发至第一个操作者的钱包,导致Meta Vault中持有2,841.74份该策略的份额,而该策略实际上并不包含任何其本应代表的资产——这一数字与PeckShield此前已从Term Finance追踪到的约2,843份ETH非常接近。
22分钟后,即UTC时间06:47,第二次攻击活动席卷了五个USDC策略DAO:Parity Prime、Parity Core、Parity HY、Parity HY v2和RockawayX Tori。每个提案都强制其DAO以等于该策略全部流动USDC余额的价格“出售”一枚伪造的回购代币。此次出售是通过一个名为fmTERT的合约实现的,该合约同时冒充了验证合法Term工具的控制器和为其估值的价格适配器。这些提案还将每个策略的储备金比例清零,并将其集中度上限拉满,从而禁用了通常会发现欺诈行为的检查机制。伪造代币的价格是通过一个动态的redemptionValue()函数计算的,该函数简单地返回策略中当时恰好存在的流动USDC——这使得攻击者能够以几乎全部余额的价格出售一个毫无价值的代币。所得款项随后获得批准,并直接转入了第二个运营者的钱包。
Term Labs的回应:恢复工作和持续调查
Term Labs在攻击发生后的首要举措是阻止进一步的损失:它关闭了其Meta Vaults并撤销了其DAO治理权限,永久阻止了新的存款,但仍允许现有存款人提取资金。Yearn(其V3基础设施为受影响的合约提供支持)当时表示,此次攻击涉及专为Term构建的治理封装层,而非Yearn标准V3 Vaults本身的缺陷。
更棘手的问题是仍存放在被入侵金库中的固定利率贷款。这些贷款头寸虽然没有直接受到攻击,但其收益会在贷款到期后自动赎回至攻击者目前控制的同一金库。Term Labs 通过升级受影响的合约并在到期前将固定利率头寸实际转移,提前规避了这一风险。最终,这项工作于 8 月 25 日 14:52 UTC 完成,所有头寸均被恢复,从而避免了可能出现的第二波损失。
Term Labs表示,其Meta Vaults和受影响的策略仍然处于关闭状态,其余低活跃度Vaults的关闭工作仍在进行中。该协议还表示,正在与执法机构和网络安全公司合作,并已分享相关信息以支持正在进行的攻击调查。
此次攻击对 DeFi 治理安全意味着什么
为什么850万美元的损失仅限于“流动资金余额”会给Term本身带来如此大的影响?因为这次攻击表明,即使协议的核心借贷逻辑完全安全,但由于治理层从未经过与协同提案活动的实战检验,仍然可能遭受数百万美元的损失。
执行延迟机制的存在正是为了给流动性提供者一个窗口期,让他们能够发现并拒绝恶意提案——而这次事件表明,当授权盗窃的同一投票取消了这一窗口期时,将会发生什么。就在Term Finance金库漏洞事件发生前几天,币安表示,他们拦截了一个不同的恶意DAO提案,该提案威胁到一个未具名项目的约120万美元资金。币安在提案执行前不到48小时联系了该项目团队。该项目及时拒绝了该提案,没有遭受任何损失。相比之下,Term的攻击者直接在窃取资金的提案中取消了这些延迟机制,使得任何外部方都没有机会进行干预。
类似的模式在8月初针对StrongBlock的攻击中也出现过。攻击者接管了一个废弃的治理系统,在获得足够的投票权控制项目Governor合约后,盗走了价值约7.2万美元的STRONG和STRNGR代币。这些事件中反复出现的模式包括:廉价获取治理代币、执行延迟机制薄弱或可移除,以及DAO结构被赋予对金库策略的广泛控制权——其他使用类似治理机制的DeFi协议或许应该仔细审查这一模式。
常问问题
Term Labs治理攻击造成了多大的损失?
约有 850 万美元从定期存款金库中被挪用,这些资金仅限于流动资金余额。
Term Labs 的核心贷款合同是否在攻击中遭到泄露?
不,固定利率贷款合同(V1 和 V2)在整个事件过程中保持安全有效。
攻击者是如何对 Term Labs 发起治理攻击的?
他们使用两个通过 Tornado Cash 提供资金的运营商钱包提交治理提案,消除了执行延迟,从而实现了 ETH 和 USDC 的重定向。
针对此次攻击,Term Labs采取了哪些措施?
Term Labs 关闭了 Meta Vaults,撤销了 DAO 治理角色,停止了新的存款,收回了固定利率贷款头寸,并正在与执法部门和网络安全公司合作。
本文由人工智能辅助生成,并经编辑团队审核。