浏览器里的官方标签不能当证据:转账备注、别名与验证交易的伪造面 图 1
浏览器里的官方标签不能当证据:转账备注、别名与验证交易的伪造面 · 图 1

很多用户核对一笔转账的方式很固定:把哈希贴进区块浏览器,看收款人旁边的标签、代币名称和备注文字,觉得写着官方充值地址或者带着一段说明,就是可信的。问题是,浏览器页面上你最先读到的那几行字,恰恰是整页里最容易伪造的部分。

分开看这些信息的来源。链上原始数据只有几样:发送地址、接收地址、数值、代币合约地址、调用数据、备注字段。有些链的转账交易允许在调用数据里附带一段自由文本,任何人都可以往里面写入任何内容,包括官方验证转账、请退回原地址这类句子,链只负责记录,不验证真伪。浏览器展示时往往把这段文本原样放进备注栏,字体还和系统提示一样醒目。

地址标签看着权威,机制上却是浏览器运营方维护的一张映射表。主流浏览器有社区标签库和举报纠错机制,官方标签依赖提交者提供证明材料,再由平台审核。对攻击者来说,把自己的地址提交成某个交易所的标签,是一条被反复尝试的路径:即便主流平台审核较严,区域性或镜像类浏览器的标签审核就宽松得多,而钓鱼教程会专门教你去那种平台先污染标签,再把链接发给受害者。换句话说,标签能证明某平台曾经记录过这个映射,不能证明这个地址此刻归谁。

代币名同理。一个仿冒代币的合约由部署者自由填写符号和名称,可以和正品完全同名,区别只在合约地址这串你多半没核对的字符上。于是组合拳出现了:你收到一笔备注写着验证转账的USDT,浏览器显示USDT,你以为是平台来的消息,实际上是攻击者从自己钱包给你打了一枚仿冒币,备注是他自己写进交易数据的。

正确的核验纪律是把页面拆成两层:先读原始数据,再读展示层。拿到任何带转账的提示,第一件事在浏览器里点开交易详情,找到收款地址,逐段和官方公布的充值或退款地址比对,比对长度和首尾各八位,中间抽样;第二件事查代币合约地址,与官方合约清单一致才算收到了那个币;备注、标签、留言一律只当线索。如果有人在群里或私信里给你看一张截图证明身份,要求对方做一笔你能独立核验的转账,你自己去浏览器查,不要点开对方给的查看链接。收到来路不明的验证转账时,唯一稳妥的做法是不动它:不转回、不点附带的链接、不在任何页面为它签名。

把上面的内容压缩成一张可执行的卡片。场景一,群里有人说给你打过验证转账:回复里只说自己会独立核验,要求对方用约定关键词加一笔小额真实转账,你在浏览器查原始数据后确认;全程不点对方提供的链接。场景二,收到备注写着官方退回的转账:查代币合约地址与官方清单是否一致,查发送地址是否与任何你办过业务的平台历史地址有过交集,两条都不符就当作陌生人的自由文本处理,不动它也不回复。场景三,页面显示某地址带官方标签:把地址复制进浏览器看纯地址页面,标签悬浮层、颜色标记一概忽略,只认地址字符串本身。三条场景的共同点是,核验动作的发起权必须在你手里——你发起搜索、你打开浏览器、你对照官方清单;只要某条路径要求你先点对方给的链接、先看对方的截图、先听对方的解释,它就已经偏离了核验,进入了说服。说服是社工攻击的核心工艺,而链上数据是唯一不会说服你的东西,这一层优势值得用熟。