← 返回博客

Bitget 被盗链上复盘:三小时换币、跨链,6.8 万 ETH 停在 8 个钱包

截至 9 月 25 日 12:15,链上能看到的约 1.93 亿美元被盗资金里,约 98% 还停在攻击者一方的钱包中,没有进交易所。我们用公开链上数据,按时间顺序复盘换币、跨链、归集与拆分。

发布于 事件复盘链上追踪 Read in English

9 月 25 日凌晨 02:31,一笔 0.84 ETH 从 Bitget 的热钱包转进一个新地址。这是试探。27 分钟后,3,475 万 USDT 跟着转了过去。

Bitget 官方确认,这次热钱包被盗约 3.516 亿美元。我们用公开链上数据,把能看到的那部分钱从头追了一遍,结论先放在这里:

截至今天中午 12:15,链上能看到的被盗资金约 1.93 亿美元,其中约 98% 还停在攻击者一方的钱包里,没有进交易所。

攻击者的手法也很清楚:稳定币到手几分钟内就全部换成 ETH,把发行方冻结的机会堵死;别的链上的钱跨链桥回以太坊,先归集到一个地址,再按每份 1 万 ETH 拆开,最后停在 8 个钱包里。

下面按时间顺序讲。文中时间都是北京时间。

3.5 亿还是 1.9 亿

先说两个数字为什么对不上。

3.516 亿美元是 Bitget 内部核算的损失,涉及热钱包和一部分暖钱包。1.9 亿美元左右是链上分析师从公开地址里数出来的:Etherscan 已经把收钱的地址标成 Bitget Exploiter 1,打进这个地址的钱,谁都能在链上查到。

我们这次查的是 Dune 上以太坊、Arbitrum、Optimism、Base、BNB 链和 Avalanche 这六条链的公开数据,算出来是 1.926 亿美元,和 CryptoSlate 引用的「近 1.92 亿」基本一致。剩下约 1.6 亿美元去了哪里,可能在比特币、Solana、波场这些没查的链上,也可能从没有公开标签的暖钱包转出,这篇文章不做猜测。

第一步:钱是怎么出门的

打钱的一方是 4 个被 Dune 标成 Bitget 的地址,在 6 条链上一共转了 16 笔,全部打进同一个攻击者地址 0x770b…63Ee:

  • 02:31 先转 0.84 ETH 试水,和 Bitget 官方说的「02:31 发现异常」是同一分钟;
  • 02:58 转 3,475 万 USDT;
  • 03:01 前后半分钟内,在以太坊、Arbitrum、Optimism、Base 四条链上同时转出 6 笔,合计约 8,400 万美元,有 USDT0、USDC、黄金代币 XAUt,也有 ETH;
  • 03:16 再转 3 笔,合计约 5,600 万美元,其中一笔是 13,966 枚 ETH;
  • 04:09 又转 3,275 枚 ETH,04:55 在 Avalanche 上转 820 万 USDC;
  • 最后一笔是 05:23 的 223 ETH。

最后这笔值得提一下。公开报道把流出时间记到 04:55 为止,但链上显示,直到 05:23,Bitget 的热钱包还在往攻击者地址打钱,离官方 05:30 发公告只差 7 分钟。

图 2 时间线

如果你自己去 Etherscan 看这个地址,会发现记录很乱:许多名字也叫「USDT」「ETH」的代币,用的是长得像的字符,还有很多首尾几位和攻击者常用地址一模一样的陌生地址。这叫地址投毒,专门有人在大额地址上刷假记录,等人复制地址时抄错。这个地址的 149 条转账记录里,一百多条是这种假记录,查的时候要按代币合约地址逐条核对。

第二步:稳定币几分钟内全部换掉

攻击者拿到钱以后做的第一件事,是把稳定币换掉。

原因很简单:USDT 和 USDC 背后有发行公司,发行方可以冻结某个地址上的币;ETH 没有发行方,没人能冻结。被盗的稳定币只要多留一会儿,就可能被冻住。

所以攻击者动作很快:

  • 3,475 万 USDT 转进中转地址 0x7c96… 后,不到 10 分钟分 7 笔全部卖完;
  • 1,285 万 USDC 到账两分多钟就卖完,3,000 枚 XAUt 也在七分钟内卖完;
  • Arbitrum 上的 1,967 万 USDT0 由另一个中转地址 0xe410… 处理,从 03:36 到 03:42,6 分钟换成 7,111 枚 ETH。

卖的渠道是 UniswapX 和 1inch Fusion。它们的做法类似挂单:卖家写明「我卖多少、最少换回多少」,由专业做市商来接单成交,大单也能快速成交。

快是有代价的。Arbitrum 那 7,111 枚 ETH 平均每枚约 2,766 美元,而当时市价约 2,695 美元,攻击者平均多付了 2.6%,约 50 万美元。宁可多花钱也要抢在冻结前换完,这很说明攻击者的优先级。

Optimism 上还有一个细节:攻击者把 ETH 先换成 USDC,通过 Circle 官方的跨链通道转到以太坊,到账后一两分钟内又换回 ETH。稳定币在它手里每次只停一两分钟。

第三步:跨链回以太坊,先归集再拆开

换成 ETH 以后,钱开始往以太坊主网集中。

Arbitrum、Optimism、Base 上的 ETH 通过 Across、Stargate、deBridge 这几个跨链桥转回以太坊。跨链桥的作用是:你在 A 链把币交给它,它在 B 链付给你等值的币。Avalanche 上的 USDC 先换成 AVAX,再转进攻击者另开的几个中转地址,跨链换成以太坊上的 ETH。这几个中转地址在两条链上用的是同一个地址,Arkham 已经把它们标成 Bitget Hacker。BNB 链那部分则拆得更碎,后面单独说。

从 03:30 起,这些 ETH 陆续汇进同一个归集地址 0xa6dd…5545,第一笔就是以太坊上换出来的 22,320 枚。它前后一共收了 43,698 枚 ETH,然后在 05:57 到 07:37 之间,按每份 1 万 ETH 拆到 4 个新钱包,零头放进第 5 个,11:45 又往这个钱包补了 485 枚。

从 Bitget 直接转来的 24,597 枚 ETH 则没有换也没有跨链,04:13 到 05:41 由攻击者地址直接转进另外 3 个钱包,其中两个各 1 万枚。

图 1 资金流向

钱现在在哪

截至 12:15,下面这些地址只收过钱,没有再转出。它们在 Arkham 上都已被标为 Bitget Hacker:

地址链余额
0xd2c2f029eff5cacc686f24377cfddcfc82d9f899以太坊10,000 ETH
0x600cfedc6bd65fa79b604dc44964f419e45784b2以太坊10,000 ETH
0x9fa39d62095302431d7d4167a7e80f8ec6ea4fa0以太坊10,000 ETH
0xa6bfd7fcaf4711da1f61d5e91d03a2c7c72db272以太坊10,000 ETH
0xfd5ebe912e2061992437767e24e5bcb52a3f9e54以太坊10,000 ETH
0xed5a394a7558929112848b7e97b569de6bbe1a51以太坊10,000 ETH
0xdc2901f741b4003e32b8b752e97b8c4c1891dc63以太坊4,596 ETH
0x52f08feb1b0da609a5442514e2bb43c99d25d284以太坊3,698 ETH
0x150889fe4fa7a7699588f75c4189fa9e721acfd3BNB 链5,897 BNB
0xe07bd590e1198666230932bad5db3dbbe21e7d57以太坊约 21.8 万 USDT、10 万 USDC、170 ETH

8 个 ETH 钱包合计 68,294 枚,按现价约 1.83 亿美元;加上 BNB 和剩下的稳定币,约 1.88 亿美元,占链上可见被盗金额的 98% 左右。

「停着」不等于「安全」。这些钱包的私钥在攻击者手里,随时可以动;ETH 也没有发行方可以冻结。真正还能冻结的只有最后一行那约 32 万美元的 USDT 和 USDC。

接下来值得盯的三件事

一是那 740 万美元去了哪条链。 BNB 链那一路,12,719 枚 BNB 大部分转进了中转地址 0xe07bd…。它在 BNB 链和以太坊上把钱拆成几十笔小额,转进 5 个交易量很大的地址,合计约 740 万美元。我们在 Arkham 上逐个查了标签,没有一个是交易所:

  • 约 461 万美元进了跨链桥:PancakeSwap 的跨链合约 374 万、Mayan 77 万、Celer 10 万。这部分钱已经离开这次查的六条链,要到桥的另一头接着追;
  • 约 278 万美元进了 MetaMask 钱包内置的兑换合约,换成了别的币。

到目前为止,我们查到的资金都没有直接转进交易所。

二是那 8 个钱包什么时候动。 大额被盗资金常见的去向是混币器、场外兑换,或者长期不动等风头过去。拆成整齐的 1 万 ETH 一份,像是在为后面分批处理做准备。这些地址已经公开,交易所和跨链桥都可以提前加进风控名单。

三是别把 Bitget 自己的转账当成被盗。 04:40 前后,Bitget 标签地址在多条链上几分钟之内向地址 0xadfffc33… 转出超过 5,000 万美元。Dune 没有给这个地址打标签,很容易被误读成「第二个攻击者」。但它从 8 月起就和 Bitget 热钱包双向往来,收过也付过上亿美元,Arkham 也把它标成了 Bitget。更合理的解释是 Bitget 发现被盗后,把热钱包里剩下的资产紧急转去自己的其他钱包。

写在最后

链上数据全都公开,但公开不等于看得清。这次攻击三个小时里,钱在 6 条链、几十个地址之间换了好几种币,还夹着上百条投毒假记录。要把「钱现在在哪」说清楚,得一笔一笔核对真假、按时间把换币和跨链串起来。

这篇文章的数字截至 9 月 25 日 12:15,之后资金再有变动,我们会继续跟进。


我们专注于链上资金追踪 AI Agent,希望让它承担逐笔查找、整理和核对的工作,同时让每一步结论都能追溯到链上原始记录。

如果你也对这个方向感兴趣,或者正在面对相关的实际业务问题,欢迎联系我们。

公开资料:

有一条线索,或者一个地址?

两款产品都在早期试用阶段。我们会和你一起跑一次真实调查,把结果和证据完整交给你。