登录
注册
6 月 21 日,以太坊网络上最活跃的 MEV Bot 之一 Jaredfromsubway.eth 遭遇了一次精心设计的蜜罐攻击,导致超过 750 万美元的加密资产被盗。Beosin 安全团队对此次事件进行了深度复盘,揭示了攻击者如何利用链上交易逻辑的细微差异,成功绕过常规风控机制。午方 AI 梳理发现,此次攻击并非针对合约代码漏洞,而是精准利用了 MEV Bot 的业务逻辑缺陷,通过构造特殊的诱饵交易场景实施收割。
攻击的核心策略在于区分小额与大额交易的不同处理逻辑。在小额交易中,机器人授权真实代币额度后,子合约会立即转走真实代币并消耗授权,整个过程看似完全正常。
然而在大额交易中,子合约并不会调用 transferFrom 转移真实代币,而是直接通过伪造交易对铸造假代币。这使得机器人误以为完成了正常的 swap 前置步骤,实际上真实的代币授权被完整保留。这种“小额消耗、大额保留”的机制,为后续的大规模盗取埋下了伏笔。
以针对 USDC 的攻击路径为例,攻击者首先调用协调器将当前区块状态设为 armed,随后调用触发器更新多个伪造 Ring V2 pair 的状态。当 MEV Bot 发现套利机会并执行交易时,其合约向子合约授权了大额 USDC 额度并调用 wrapTo 或 wrap 函数。由于当前状态为 armed,子合约不消耗真实 USDC,而是向 pair 铸造假代币,导致 USDC 授权被保留。随后 MEV Bot 继续调用伪造 pair 进行 swap,第二跳 pair 将代币发给 MEV Bot,hub 合约则向其支付少量真实 USDC 作为利润。MEV Bot 看到的是一笔成功的套利交易,却不知其授权已被恶意留存。该流程针对 USDC、USDT 和 WETH 重复执行,最终形成了大量未被消耗的授权额度。
午方 AI 监测到,攻击者随后调用协调器合约的 drain loop 函数,calldata 中包含了 66 个子合约地址以及 MEV Bot 合约地址。只要 MEV Bot 此前给这些子合约留下了额度授权,子合约即可直接将对应的真实代币转给攻击者。攻击交易哈希为 0x2be8704f5a59b69e0b71f64aefdb99eb0e8ae9fb3926147c581910d71bcf3e65。得手后,攻击者地址 0x3e37f4A10d771Ba9dE44b6d301410b1BEdeA65d0 收到了 287 万美元 USDC、204 万美元 USDT 以及 1,474 个 WETH。
资金转移路径显示,攻击者迅速将稳定币兑换成 ETH 并分散转移至 4 个地址。其中地址 0xe3Da3 已转移 1,000 个 ETH 至 Tornado Cash 进行混币,其余三个地址的 ETH 暂未发现进一步转移。这一系列操作展示了攻击者极高的专业素养和对链上资金流向的精准把控。午方 AI 分析认为,此类攻击标志着针对 MEV 基础设施的威胁已从简单的代码漏洞利用,升级为对业务逻辑和交易模拟机制的深度博弈。
本次事件为整个 MEV 生态敲响了警钟。攻击者并未直接攻击合约代码,而是根据 MEV Bot 的业务逻辑构造对应的套利场景,误导其做出看似无问题的授权,最终实现资产转移。对于套利机器人和 MEV Bot 而言,仅依赖模拟收益来判断路线安全已远远不够。特别是在套利路径中存在陌生合约、伪造 token 或自定义 wrapper 时,必须保持高度警惕,并考虑在交易后对 allowance 变化进行强制检查,以防止类似授权被恶意保留的风险再次发生。