假币与转账事故
钱包里突然多出不明代币,先别动它
没做任何操作却收到陌生代币,这是正常现象,不代表私钥泄露。但这些代币的存在目的就是引你做某个动作。这篇讲三类目的和地址投毒的三种形态,以及万一你已经点了、已经签过名,按什么顺序抢时间——先断授权还是先查原因,差别很大。
你没做任何操作,钱包里突然多出一个没见过的代币,可能还显示着不小的金额。
先说结论:这是正常现象,不代表你的钱包被入侵,也不代表私钥泄露了。任何人都可以向任意地址转任意代币,不需要接收方同意,就像任何人都能往你家门口放东西。
但接下来的动作很关键,因为这些代币的存在目的就是引导你去做某个动作。
为什么会收到
链上转账是单向的、无需许可的。发送方只要付手续费,就能把自己部署的任意代币转给任意地址。批量向几万个地址转一遍,成本很低。
所以收到不明代币这件事,和你是谁、有多少资产、用什么钱包基本无关。你的地址只要在链上有过活动,就会被扫到。
三类目的
引你去交易
代币名称往往写成某个看起来值钱的东西,或者干脆写成 USDT。你看到余额想卖掉,于是去某个去中心化交易所挂单,过程中需要先给合约授权。而这个代币合约可以被设计成:授权之后,攻击方能动的不只是这个垃圾代币。
引你去网站
代币名称本身就是一个网址,或者代币详情里带着"访问某站领取"之类的文字。打开之后是钓鱼站,要求连接钱包并签名。签名内容通常不是转账,而是授权,普通人从签名弹窗里看不出区别。
地址投毒
这一类最阴,也最容易中。
基本手法是:攻击方生成一个和你常用地址首尾几位完全相同的地址,让它出现在你的转账历史里,等你下次从历史记录复制地址时用错。首尾一样,中间不同,肉眼扫一眼看不出来。
让假地址混进你历史记录的方式有三种,形态不一样,都要认得出:
-
零额转入:直接向你转一笔金额为 0 的代币。这笔记录挨着你真实的常用地址那几条,最常见。
-
伪造转出记录:更隐蔽。攻击方调用
transferFrom发起一笔从你的地址转出 0 个代币到假地址的交易。因为金额是 0,不需要你的授权也能成功。结果是假地址出现在你的转出列表里,看起来像是"我以前给这个地址转过钱",可信度比零额转入高得多。 -
同名假币小额转入:用一个名字写成 USDT 的假代币,从假地址转一小笔给你。你看到"收到 USDT"就更容易相信这个地址是熟人的。
三种的共同破法只有一个:转账地址永远不从历史记录里复制。
该做什么
1. 什么都先别点
不要去授权,不要去卖,不要点代币名称或者描述里的任何链接,不要连接任何要求你"领取"的网站。
2. 确认它是不是真的
如果它显示成 USDT 或者别的知名代币,在区块链浏览器里打开这笔转入交易,核对代币合约地址。核对方法和真合约地址写在"核对合约地址"。
3. 在钱包里隐藏它
多数钱包支持隐藏某个代币,隐藏之后不影响你的其他资产。这比试图"清理"它更省事,因为链上记录本身是删不掉的。
4. 检查并取消多余的钱包授权
这一步和这个代币无关,但值得顺手做。钱包的授权是持久的:你过去连接过的网站,可能到现在还持有动你某些代币的权限,而你早就忘了。
具体去哪里查,按链分:
- 以太坊、BNB Chain、Polygon 这些 EVM 链:用 revoke.cash,连上钱包就能列出所有授权记录,逐条取消。Etherscan 也有一个 Token Approvals 页面(在地址页面里),能看到同样的清单
- 波场:在 Tronscan 打开你的地址页,找 Approvals 相关的标签,能看到 TRC20 的授权记录
- 钱包内置的:imToken、TokenPocket、OKX Web3 钱包等都有授权管理入口,位置各版本不同,一般在"设置"或"安全"里找"授权管理"

连上钱包后看到的就是图里右侧那种列表。取消授权本身是一笔链上交易,要付手续费,所以不必一次全清——标着无限额度的、授权给你已经不用的项目的、以及授权对象你压根记不起来的,这三类优先。
5. 转账时别再从历史记录复制地址
这是防地址投毒唯一可靠的办法。地址来源只用两种:对方当场给你的原始文本,或者你自己保存的地址簿条目。
复制之后核对方式也要改一改:不要只看首尾四位,要看中间。更稳的做法是先转一笔很小的金额测试,确认到账再转大额。
如果你已经点了、已经签过名了
上面都是"还没动"的情况。如果你已经连了那个网站、甚至签过一次名,按下面的顺序来,时间就是钱。
第一步:立刻断授权,别先研究原因
打开 revoke.cash(EVM 链)或 Tronscan 的授权页(波场),连上钱包,把所有你不认识的授权全部取消,尤其是额度显示为无限的那些。这一步要花手续费,但比资产被转走便宜太多。
顺序很重要:先断授权,再回头查自己签了什么。授权还在,攻击方随时可以动手。
第二步:判断你签的是哪一类
- 签了授权(approve / permit / setApprovalForAll):对方获得的是"代你转某种代币"的权限,只影响被授权的那个代币。取消授权后威胁就解除了
- 签了转账:钱已经走了,链上不可逆,取消授权也追不回
- 泄露了助记词或私钥(在网站上填过 12 / 24 个单词、或者导入过钱包):这是最严重的情况,取消授权没用——对方拥有整个钱包的完全控制权
第三步:助记词泄露的话,抢时间转移资产
新建一个钱包(用全新的助记词,不要用任何和旧钱包相关的东西),把旧钱包里还能动的资产全部转过去。这是在和对方抢时间,对方的脚本通常会盯着地址,一有进账就自动转走。
优先转价值最高的。如果旧钱包里没有手续费代币,需要先从别处转一点进去——但注意,这笔手续费也可能被对方的脚本抢先卷走,所以要转完立刻操作。
旧钱包从此作废,不要再往里转任何东西,也不要以为"清空了就安全了"。
第四步:检查有没有别的钱包受牵连
如果你在同一台设备上导入过其他钱包、或者几个钱包用了同一套助记词派生,一并处理。
不该做什么
-
别为了"清干净"去转移它。没有必要,而且转移这个代币的过程本身可能是攻击路径的一部分。
-
别因为它出现就慌忙转移其他资产。收到代币不等于钱包被控制。你的私钥没有泄露,其他资产是安全的。慌张之下匆忙转移资产,反而容易在新流程里出错。
-
别试图联系发送方。没有意义,而且会让你从一个批量目标变成一个已确认活跃的目标。
一个例外情况
有时候突然出现的代币是真的,比如你确实参与过某个项目的活动,后来收到了正常的代币发放。
区分方式还是核对合约地址:去项目方的官方渠道确认他们公布的合约地址,和你钱包里这个对比。官方渠道指项目自己的官网和官方社交账号,不是搜索结果,也不是群里转发的链接。
即便确认是真的,处理这些代币时也换一个只放少量资产的钱包,别用存主要资产的地址去连任何网站。隔离地址这个习惯的价值不止在这一件事上:凡是要你签名、要你连站点的操作,都该在一个全亏光了也不心疼的地址上做完。