从转账记录里复制地址也会出事?拆解地址投毒的套路

给自己另一个钱包或朋友转账时,很多人懒得翻地址簿,直接点开上次那笔转账记录,把对方地址复制过来。开头几位、结尾几位都对得上,看着没问题。偏偏这个顺手的习惯,就是地址投毒瞄准的地方。这篇笔记想弄清楚:假地址是怎么混进你的记录的,转账前又该怎么核对。

地址投毒是什么

地址投毒,英文叫 address poisoning,是一种不需要拿到你私钥的骗局。以太坊地址是0x开头、后面跟40个字符的一长串,界面常常只显示前几位和后几位,中间用省略号代替。骗子会用靓号生成器,也就是不停随机生成地址、直到碰出想要的开头结尾的程序,造出一个和你常用收款地址首尾相同的假地址。

有了假地址,骗子就用它给你发一笔很小甚至零金额的转账,让它混进你的交易记录。等你下次图省事从记录里复制,钱就进了骗子的口袋。X 上有位博主总结说,这类骗局利用的只是一个习惯:从记录里复制地址,默认它是对的。

假记录是怎么混进来的

Etherscan 在2024年1月发布的说明里,把常见手法分成三类。一是伪造地址,就是上面说的首尾相同。二是伪造代币,部署一个名字和符号都叫 USDT 的假代币,界面上看着和真币差不多。三是伪造事件,利用 ERC-20 标准里的 transferFrom 功能制造假转账记录。

ERC-20 是以太坊上大多数代币共用的一套接口规则,transferFrom 是其中允许别人代为划转代币的功能。零金额的划转不需要你真给过额度,所以任何人都能造出一条“你给某地址转了0个 USDC”的记录,配上首尾相同的假地址,就很像你自己操作过的历史。Etherscan 还提到,有时目标转账后1分钟内假记录就出现了。

关键在于,你的钱包并没有被入侵,资产也没少,真正把钱转出去的是你自己那次复制粘贴。所以撤销授权、换钱包都挡不住它,能挡住它的只有转账前的核对。

一个真实案例和一笔假设的账

公开报道显示,2024年5月3日,以太坊上一个大户先向真正的收款地址转了一笔小额款,看起来是测试;几分钟后正式转账,却把约6800万美元的 WBTC 转进了骗子地址。WBTC 是以太坊上与比特币1比1挂钩的代币。两个地址开头都是“0xd9A1”,也就是0x之后的前4个字符相同,只看开头分不出来。5月9日,骗子把相当于6800万美元的 ETH 退了回去,因为期间币价上涨,自己还留下约300万美元。

同一份分析统计了这轮行动的规模:2024年2月28日到5月4日共66天,骗子生成了82,031个仿冒地址,有2,774个地址往里转过钱,合计约6972万美元。其中只有22个假地址从骗子以外收到过100美元以上,成功率很低,但碰上一个大户就够本了。这个案例里小额测试其实做了,出问题的是测试之后那次复制,下一次粘贴同样要重新核对。

为什么只看首尾不够(假设)

假设你只核对开头4位和结尾4位(0x不算),共8个字符,每个字符有16种可能,随机碰中的概率是16的8次方分之一,即1/4,294,967,296。再假设骗子的电脑每秒能试100万个地址,平均需要4,294,967,296 ÷ 1,000,000 ≈ 4,295秒,约72分钟。如果首尾各核对6位,16的12次方约281万亿,同样速度要约281,474,977秒,约8.9年。每多核对一位,难度就乘以16。

转账前可以怎么检查

  1. 不从交易记录里复制收款地址,常用地址存进钱包的地址簿或白名单,并起一个好认的名字。
  2. 完整核对整串地址,中间几段也要看;往交易所充值时,回到充值页面重新复制。
  3. 先小额测试,核对地址,确认到账再转大额;正式转账时重新从可信来源取地址。
  4. 打开钱包和区块浏览器里的“隐藏零金额转账”和陌生代币过滤,看到来路不明的小额转入就当作提醒。
  5. 助记词不要给任何人,也不要存进联网设备。地址投毒本身用不到助记词,以“帮你追回”为名索要助记词的,多半是第二轮骗局。

这些办法的局限

这些习惯能把风险降下来,但做不到零风险。地址簿可能在第一次保存时就存错,录入时最好换个渠道和对方再确认。ENS 这类链上域名能少看长串地址,但 Etherscan 也提醒域名同样可能被仿冒。链上转账一旦确认通常无法撤回,前面那位大户能拿回钱,是极少见的例外。

地址投毒不碰你的钥匙,它只是赌你哪天赶时间。把“从记录里复制”换成“从地址簿里选、整串核对、先小额测试”,多花一两分钟就够了。你的钱包记录里,有没有出现过来路不明的零金额转账?

以上仅为个人学习记录,不构成投资建议。

分享这篇文章
X Telegram
关注 ZHUDATOU 的更新