Term Labs 已收回其 8 月治理漏洞中受影响的保险库中持有的所有固定利率贷款头寸,最后一个头寸已于 8 月 25 日转移,而 Meta Vaults 和受影响的策略仍处于关闭状态。
摘要
- Term Labs 于 8 月 25 日收回了所有受影响的固定利率贷款头寸,而其 Meta Vaults 和受影响的策略仍处于关闭状态。
- 攻击者利用恶意治理提案取消了执行延迟,然后从保险库策略中提取了流动的 ETH 和 USDC。
- 一个伪造的回购代币根据每个策略的确切流动 USDC 余额定价,使攻击者能够扫走可用资金。
- Term Labs 表示其 V1 和 V2 合约未被入侵,其直接借贷和贷款市场仍在运营。
Term Labs 在最新的事故报告中表示,最后一个固定利率头寸已于 8 月 25 日 14:52 UTC 收回,而其调查发现攻击仅限于 Term 保险库内持有的流动余额。
该协议表示其 V1 和 V2 合约未被入侵,其直接借贷和贷款市场在整个事件期间持续运营。
Term Labs 表示借贷合约未受保险库漏洞影响
新的技术说明更详细地描述了 8 月 23 日的攻击,此前安全公司估计该攻击从 Term Finance 保险库中盗取了约 850 万美元。
Term Labs 最初披露了影响保险库的治理漏洞,但没有提供完整的攻击序列。安全公司 CertiK 和 PeckShield 估计损失接近 850 万美元,包括约 2,843 ETH 和 168 万 USDC。PeckShield 表示,USDC 随后被兑换成约 168 万 DAI。
该协议后来关闭了其 Meta Vaults,并撤销了它们的 DAO 治理角色。新存款被永久禁用,而提款仍然可用。Yearn 当时表示,受影响的合约使用了 Yearn V3 基础设施,但攻击涉及为 Term 开发的治理包装器,而不是标准的 Yearn V3 保险库。
Term Labs 现在表示,其基础固定利率借贷系统未受到攻击者的影响。其直接借贷市场中的供应、还款和清算功能持续运行,未受中断。
相反,攻击是通过两个通过 Tornado Cash 资助的操作者钱包以及一系列改变 Term 保险库策略控制的治理提案进行的。
第一个操作者于 8 月 17 日通过 Tornado Cash 收到资金。大约 24 分钟后,该钱包提交了一份 ETH 提案,标题为“投票赞成否决策展人提议的保险库参数变更”。
提案中包含的变更之一是将受影响堆栈的治理延迟减少到零。Term Labs 表示,该变更取消了额外的七天和一小时期限,在此期间流动性提供者本可以在执行前阻止该提案。
攻击者准备了单独的 ETH 和 USDC 活动
第二个操作者钱包于 8 月 18 日收到 Tornado Cash 资金,并于当天下午部署了一个单例合约。
根据 Term Labs 的说法,该合约在一次部署中结合了三个功能:控制器、价格适配器和伪造的回购代币。然后使用该单例初始化了一个辅助合约。
三天后,即 8 月 21 日,辅助合约提交了七项治理提案,并投了唯一的票。
两项提案针对 ETH 策略 DAO,但从未执行。其余五项成为 USDC 攻击的一部分。
五项提案中的每一项都将相关治理延迟减少到零,取消了额外的三天和一小时期限,在此期间 LP 本可以在执行前进行干预。
对该事件的早期分析发现,攻击者以极低的成本获得了治理影响力。一份关于治理接管事件的回顾显示,攻击者花费约951美元便购得了足够的治理代币,从而控制了与持有数百万美元存款的金库相关的投票权。
这些交易并未要求攻击者破坏Term的核心固定利率借贷合约。相反,治理合约执行了已通过提案和投票流程的指令。
8月初,StrongBlock也遭遇了类似的攻击路径,当时一名攻击者接管了其治理系统,并盗取了约72,000美元的STRONG和STRNGR代币。攻击者获得了足够的投票权,通过了一项提案,最终获得了对该项目Governor合约的管理控制权。
ETH通过固定接收方策略被转移
首个成功的Term提案于8月23日06:25 UTC执行。
四个活跃的ETH策略——Shorewoods、August Digital、Parity Prime和Parity Core——通过update_debt()被召回至Meta Vault,并被导向一个名为frWETH-EXIT的新增策略。
Term Labs表示,该策略被命名为“固定接收方WETH退出策略”。
一旦WETH进入新策略,frWETH-EXIT在同一个调用中将全部金额转发给第一个操作者。
这笔交易使Meta Vault在一个策略中持有2,841.74份额,而该策略中并不包含转入的WETH。
这一数字与PeckShield在事件初步分析中追踪到的约2,843 ETH高度吻合。
在ETH交易发生22分钟后,第二次行动针对五个USDC策略DAO执行。
Parity Prime、Parity Core、Parity HY、Parity HY v2和RockawayX Tori于06:47 UTC成为目标。
Term Labs表示,每个提案都导致其DAO以相当于该策略全部流动USDC余额的价值,向相关策略出售一个单位的伪造回购代币。
在提案安装了一个名为fmTERT的合约后,攻击者得以执行该出售。
Term Labs表示,fmTERT同时冒充了用于确定代币是否为合法Term工具的控制器,以及负责确定该工具价值的定价适配器。
提案将每个策略的准备金率设为零,并将其集中度限制提高到允许的最大值,从而防止这些控制措施限制伪造代币交易。
随后,伪造代币通过一个动态的redemptionValue()函数进行定价。
在执行时,该函数返回了策略中可用的精确流动USDC数量,使得一个单位的伪造回购代币几乎可以卖出该策略的全部可用余额。
出售后,提案批准了USDC收益,并将其从每个DAO中扫入第二个操作者的钱包。
固定利率头寸在可赎回前被转移
Term Labs表示,受影响的库所持有的固定利率贷款无法通过攻击本身触及。
当这些头寸到期时,会出现另一个问题,因为其收益计划赎回至在治理攻击中被捕获的同一金库。
该协议通过升级受影响的合约并在到期前转移固定利率头寸来应对。
所有受影响的固定利率贷款头寸此后均已恢复,最后一个头寸于8月25日14:52 UTC转移。
该事件凸显了执行延迟在治理安全中的作用。在Term Finance攻击发生前几天,币安表示已阻止了一项恶意DAO提案,该提案威胁到一个未具名项目约120万美元的资金。该提案执行前不到48小时,交易所联系了该项目,最终该项目否决了该提案,未报告损失。
就Term的情况而言,恶意提案本身在资产被取走之前移除了额外的延迟期。ETH提案取消了七天和一小时的窗口,而五个USDC提案则从其各自的治理堆栈中移除了三天和一小时的期限。
Term Labs表示,其Meta Vaults和受影响的策略仍然关闭,而涉及剩余低活跃度金库的关闭工作仍在进行中。
该协议正在与执法机构和网络安全公司合作,以识别攻击的负责人,并表示已提供相关信息以协助调查。






