分析 0x770bc9a1f7c32cb63a5002b9ceb5c7994cd3af0fc6b2309cb32d3c46f629daa0
我来分析这笔交易。先获取基本信息。
非常有趣的数据。让我查一下关键信息。
现在让我查一下关键地址的标签和信息。
现在让我查找一些关键地址的标签信息。
现在我有足够的信息了。让我快速查一下受害者和攻击者的地址历史。
完美,所有信息都对齐了。以下是完整的分析。
🔴 这是 Ekubo Protocol V2 扩展合约的漏洞利用交易(盗取 WBTC)
一句话结论
这是一次正在进行的攻击(exploit)。攻击者利用 Ekubo Protocol 的定制扩展合约(0x8ccb1ffd...)中的 IPayer.pay 回调参数校验缺失漏洞,将受害者 0x765dec... 之前授权的无限额 WBTC 通过 85 次循环转账全部盗走。本笔交易盗取了 0.2 WBTC,是该攻击序列(共 85 笔,总计 17 WBTC)中的一笔。
🎯 关键地址
| 地址 | 身份 |
|---|---|
0xa911ff351b143634dbc5af3e204ea074583a83e3 | 攻击者 EOA(创建了专用合约来执行攻击) |
0x765decf4fa157756e850c1079f60801b9219edd1 | 受害者(158天前给了无限 WBTC 授权) |
0x61b0dad9628d3e644eb560a5c9b0f960430e3a75 | 攻击者部署的专用合约,仅用于本次攻击,在块 25030405 创建 |
0x8ccb1ffd5c2aa6bd926473425dea4c8c15de60fd | Ekubo V2 扩展合约(有漏洞的合约,未验证源码) |
0xe0e0e08a6a4b9dc7bd67bcb7aade5cf48157d444 | Ekubo Core 主合约(已验证的 StarkNet 桥接合约) |
0x2260fac5e5542a773aa44fbcfedf7c193bc2c599 | WBTC 合约 |
🔬 交易流程详解
函数选择器: 0x718a549d — 这是攻击者自己部署的合约上的自定义函数,未在公开数据库中注册。
调用路径:
- 攻击者
0xa911ff...调用其部署的 攻击合约0x61b0da...的0x718a549d()函数 - 攻击合约在构造函数中设置攻击者为
owner,且要求msg.sender == owner且tx.origin == msg.sender - 循环 85 次 (0x55) 调用 Ekubo V2 扩展合约
0x8ccb1ffd...,传入受害者地址作为参数 - Ekubo V2 扩展合约触发
payCallback(0x0c11dedd = pay(address)),其中payer参数被攻击者操控为受害者地址 - 合约调用
WBTC.transferFrom(victim, Ekubo Core, 0.2 WBTC)— 因为受害者之前授权了无限额 - 然后通过 Ekubo Core 的
withdraw/pay结算流程将资金路由到攻击者
每笔转账金额:0x1312d00 = 20,000,000 satoshi = 0.2 WBTC
交易事件日志:总共 86 个 Transfer 事件(85 次循环 × 两次 transfer + 最终结算),全部指向 WBTC。
📊 攻击全貌
| 指标 | 数值 |
|---|---|
| 本笔交易盗取 | 0.2 WBTC(约 $16,000) |
| 总计 85 笔类似交易 | 17 WBTC(约 $1.4M) |
| 攻击起始块 | 25030405(攻击合约创建) |
| 受害者余额(攻击后) | ~70.45 ETH(WBTC 已被掏空) |
| 攻击者余额 | ~0.099 ETH(后续已通过 Velora → Tornado Cash 混币) |
⚠️ 漏洞根因
根据 Blockaid、SlowMist(余弦)、Darkfost 等多个安全团队的确认:
IPayer.pay回调没有充分限制参数来源。攻击者可以操控payer、token、amount三个参数,从而从任何之前授权了 V2 扩展合约(0x8ccb1ffd...)的用户地址转移代币。
受影响范围:仅限授权过 0x8ccb1ffd5c2aa6bd926473425dea4c8c15de60fd 作为代币支出方的用户。Ekubo Core 主协议本身未受影响。
🚨 安全建议
- 立即撤销对
0x8ccb1ffd5c2aa6bd926473425dea4c8c15de60fd的所有代币授权(使用 revoke.cash 等工具) - 如果你是 Ekubo 用户但未授权此地址,则不受影响
- 攻击者的后续资金已流向 Velora 兑换为 USDC/DAI/ETH,然后转入 Tornado Cash 混币器