Aave v3 Loop Safe 模块遭攻击,两个 Safe 多签损失约 114 ETH
TREE NEWS 报道, 两个 Safe 多签钱包合计损失约 114.09 ETH,原因是 Aave v3 Loop Safe Module 存在访问控制漏洞。慢雾安全团队在事后分析中指出,攻击者绕过了模块的权限校验,反过来借用了受害者 Safe 自身的执行权限完成盗取。
攻击路径拆解
慢雾将根因定位在 FlashLoopAdapter 合约。其 open() 与 close() 函数所依赖的访问控制机制可以被伪造的 Safe 绕过,使未授权调用者能够触发模块执行。更严重的是,该适配器的 _swap() 函数接受完全由调用方控制的 router 地址与任意 calldata,一旦进入调用内部,攻击者就掌握了资金路由的全部控制权。
- 绕过校验:伪造 Safe 身份,骗过模块的调用方验证。
- 执行调用:攻击者调用受害者 Safe 的模块执行功能。
- 转出资产:weETH 及 Aave 抵押资产被移出。
- 解锁抵押:偿还约 1,300 WETH 债务,释放对应抵押品。
偿还债务这一步值得注意:攻击者并未简单提取闲置代币,而是先平掉杠杆循环仓位、归还 WETH 借款,再取走抵押品。这一顺序说明这是一套针对循环仓位的成熟打法,而非临时起意的顺手牵羊。
循环模块为何成为高危攻击面
循环策略——反复抵押并借贷以放大收益——已成为 Aave v3 上最流行的挖矿方式之一。为让流程更顺滑,第三方团队开发了「安全模块」,让多签钱包可以自动化开仓与平仓。便利的同时也集中了风险:模块对用户 Safe 持有执行权,其权限模型上的任何弱点,实质上就是金库本身的弱点。
本次事件还暴露了 DeFi 设计中反复出现的反模式:把调用方提供的地址直接传入 swap router,且不做白名单限制。当 router 可任意指定、calldata 不受约束时,一次访问控制失误就足以变成完整的资产抽干原语。114 ETH 的绝对损失并不大,但机制本身不小——同样的漏洞若发生在一个体量更大的 Safe 上,代价会高得多。
后续展望
可以预期,模块开发者将转向更严格的调用方身份验证、router 白名单与 calldata 校验,并为自动化循环执行引入时间锁或单笔限额。使用第三方模块的 Safe 用户,应把模块权限视同签名权来对待并加以审计。对 Aave 生态而言,核心协议本身并未被波及,但其周边的工具层,如今看起来是杠杆收益堆栈中最软的一环。




