DeFi2026年5月16日

当你在 1inch 做交易时,你信任的不只是 1inch

2026 年 5 月 7 日,一个叫可信交易量协议(TrustedVolumes)的流动性提供商在以太坊上被攻击,587 万美元在一笔交易里被清空,四种资产全部消失。

但这个事件真正值得理解的地方,不是那个数字,而是它发生的方式。

TrustedVolumes 不是你直接使用的那个协议。它是 1inch Fusion 生态里的一个订单解析商(Resolver),负责在幕后撮合和执行订单。当用户在 1inch 发出一笔交易请求,订单解析商接单、提供流动性、完成执行。用户看到的是 1inch,感受到的是交易完成,但背后有一整条你看不见的执行链在运作。

TrustedVolumes 为了执行这个角色,自己建了一套询价机制(RFQ)合约,让这个合约持有它资金库的无限授权。那个合约从来没有开源,从来没有公开审计,代码只能从链上的 bytecode 读取,而且超过一年没有任何公开的安全更新或社群沟通。

攻击者在那套代码里找到了三个可以串在一起使用的问题。

其中一个是任何人都可以调用的公开函数,让任何地址都可以把自己登记成系统里的合法订单签署者,没有任何权限限制。攻击者调用了它,把自己的地址登记进去,成为系统眼中的「合法参与者」。另一个是授权验证对着错误的地址做确认,系统确认了攻击者可以替自己控制的接收地址签署订单,但从来没有问过那个签署者是否有权动用被指定的资金。第三个是资金转移的来源地址使用了攻击者可以自己填写的字段,攻击者把 TrustedVolumes 的资金库地址填进去,合约照单全收。

TrustedVolumes 的资金库给了那个 RFQ 合约无限授权,意味着合约可以移动任何数量的任何代币。当那三个问题被串在一起,攻击者不需要任何私钥,不需要任何受害者的签名,只需要那个已经存在的无限授权。整个过程在一笔交易里完成,每次提款只需要 1 wei 的代币作为名义买入金额,合约接受了,继续执行,把数百万美元往另一个方向送出去。

这次损失的是 TrustedVolumes 自己作为流动性提供商持有的库存资产,不是个别用户的钱包。直接受害者是这个协议本身。

CertiK 第一个在链上发现,Blockaid 六十秒后跟进。TrustedVolumes 的官方确认,在攻击发生的两个半小时后才出现,而那时资产早已被转走。他们在那之前已经超过一年没有任何公开发文。

这个事件和使用 DeFi 的普通用户有什么关系?

当你在 1inch 完成一笔交易,你在信任的不只是 1inch 的合约。你在信任它背后依赖的每一个订单解析商、每一个流动性来源,以及那些参与者各自建立和管理的自定义合约。那条信任链可以延伸得很长,而链上的每一个环节,你通常看不见,也无从审查。

TrustedVolumes 的合约没有开源,没有审计记录,但它持有对资金库的无限授权。这个组合在它正常运作的每一天里都存在,只是没有人去测试它的边界。

这不是在说 1inch 本身有问题。1inch 作为一个聚合协议,它的职责是找到最优的执行路径,而不是替每一个它依赖的解析商做安全审查。这个事件显示出当今 DeFi 生态的部分风险结构:协议依赖协议,授权依赖授权,安全性的边界往往在你视线之外的地方。

在进入任何 DeFi 交易系统之前,用户值得停下来想一个问题:我这笔交易实际上会经过哪些不熟悉的参与者和他后面的系统,我们到底有没有办法看清楚,我承担了什么风险。

TrustedVolumes 超过一年没有公开发文,合约从未开源,审计记录从未公开。这些不是攻击发生之后才存在的事实,它们在攻击发生之前就已经在那里了。一个协议的透明度、社群的活跃程度、公开记录的完整性,这些在任何事故发生之前都是可以观察到的。

在 Web3 里,理解你要进入的是什么,比任何事后的补救都更有意义。毕竟这是去中心化的 Web3 世界,没有任何第三方监管机构和客服中心能替我们追回损失。

延伸阅读:

为什么审计程序代码已经不够了

当你使用 DeFi,你实际上在信任什么

BasicsSafetyBriefingPortfolioTools