钱包收到陌生转账(地址投毒)怎么办

钱包记录里多出一笔转出,金额是 0 或者小到没有意义,而那个收款地址的开头几位、结尾几位,和你自己的地址一模一样——是不是被盗了?
先把最要紧的一句说完:多数情况下没有。私钥没有泄露,余额也没有少。有人往你的地址上「记」了一行,赌的是你下一次转账时,顺手从记录里把那个地址复制走。要做的就两件:以后别从交易记录里复制地址;转账前点开地址看全串,核中间那一段。这一手叫地址投毒,钱不在这一步丢,丢在你以为自己复制的是老地址的那一刻。
记录里每个字段各是什么意思,BscScan 交易记录怎么看:各字段什么意思 已经讲过,这篇只回答一件事:多出来的那一行是什么,以及从今往后地址该怎么核。
先对账:多出来的是哪一种
别急着往下读。先打开钱包看一眼余额,再回来对号入座——三种情况后面的处理完全不同。
- 多出一笔 0 额、或者小到零点几分钱的代币转出,余额没变。这就是本文说的地址投毒。那一行只是一条记录,钱没少。
- 真的少了币,某笔转账把余额划走了。这不是本文的题目。它关系到你给过谁授权、私钥和助记词存在哪,先去核这两样:BNB 怎么安全持有。
- 凭空多出一个没见过的代币或者 NFT。那是另一路套路,识别办法在 怎么认出假 BNB。Trust Wallet 的官方博客把处理方式写得很干脆:不要去碰钱包里意外收到的 NFT。
确认是第一种,才接着往下看。
我没签名,怎么会多出一行
这一步最容易卡住,中文结果里也少见有人把标准原文引出来正面回答。答案写在代币标准的原文里。以太坊官方的 EIP-20 标准在 transfer 与 transferFrom 两处各写了同一句注记:
"Note Transfers of 0 values MUST be treated as normal transfers and fire the Transfer event."(0 值的转账必须按正常转账处理,并触发 Transfer 事件。)
同一份标准在定义 Transfer 事件时又补了一次:事件「必须在代币被转移时触发,包括零值转账」。
意思就是,转 0 个代币在标准里是合法的正常转账,链上必须留下那条事件记录。而钱包和区块浏览器的「转账历史」正是靠读这些事件拼出来的。于是任何人花一点手续费,就能让你的历史里多出一行,参与方写着你的地址——这件事在协议层面拦不住,你签不签名都拦不住。
BNB Chain 上同样成立。BNB Chain 官方博客写过,BSC 与以太坊都兼容 EVM,BEP20 与 ERC20 在规格与实现上实际上几乎相同;那句关于 0 值转账的规则,自然也跟着一起适用。
还有一层好消息:既然这只是别人自己发的一笔转账,它就不需要你的私钥,也动不了你的余额。区块浏览器那边也认得出来——Etherscan 的说明写着,这类转账会被静音并标上一个灰色的警告图标。每家浏览器的默认开关不一样,看不到标记不代表这条记录就是正常的。
这套手法是怎么拿到钱的
Trust Wallet 官方博客把地址投毒定义为一种「操纵你钱包里的交易历史、骗你把钱转到错误地址」的欺骗手法。它分三步:
- 对方先往你的钱包发一笔数额极小的转账,让自己出现在你的记录里;
- 这个地址是精心造出来的,和你之前交易过的某个正常地址长得非常像——Etherscan 的说法是,攻击者冒充一个地址,用的是与受害者地址相同的开头和结尾几位字符;
- 你下一次转账时从历史里复制,复制到的是骗子那个,钱就发过去了。
整套骗局里没有一步需要你的私钥,也没有一步需要你签一个奇怪的授权。它赌的只是人的习惯:地址太长,谁都只看两头。
核地址,核的是中间那一段
钱包界面里的地址通常显示成 0x1a2b…9f3c 这样,中间用省略号折起来,复制按钮就挨在旁边。你肉眼能对上的,恰好是被仿得一模一样的那两头;真正不同的部分,藏在那个省略号底下。
所以核对地址这件事,得换个做法:点开地址看全串,核中间那一段,前后几位只当辅助。Etherscan 的建议是在钱包应用里反复确认显示出来的地址与你要交互的那个完全一致——完全一致,不是看着像。
再往上一层,是地址从哪儿来。我们建议按这个顺序取,往下越用越谨慎:
- 钱包地址簿或提币白名单里存好的。第一次手动录入、当场核完整串,以后就只从这里取。多数钱包和交易所都有这一栏,愿意花十分钟建一次,能省掉后面每一次的心跳。
- 让收款方当场重新发一次。麻烦,但比在历史里翻要稳。
从交易历史里复制。这一条我们直接划掉。Trust Wallet 官方博客把它写成了一条硬规则:不要从你的交易历史里复制地址。中文的转述常常把这句弱化成「仔细核对」,其实原话比那狠得多——不是核仔细一点,是压根别从那儿拿。
顺手看一眼上下相邻的两行
还有一个很具体、几乎没人写出来的动作。Etherscan 的信息中心建议:在代币转账(Token Transfers)那一栏里,把你要交互的那个地址的上一行和下一行也看一眼,因为仿冒地址可能被排在受害者地址的前面或者后面。
骗子挑时机发那笔小额转账,为的就是让自己那条紧挨着你真正用过的那条。两行叠在一起,首尾又一样,滑动的时候手指碰到哪条就是哪条。
同一页还有一句提醒:和出现在零值转账里的那些地址打交道时要当心。碰到这种地址,最省事的处理就是当它不存在——不回转、不点它带的任何链接。
先试一笔小额,值不值这点手续费
换了地址、换了收款人、或者隔了很久没往某个地址转过钱,我们建议的顺序是先发一笔小额过去,等对方确认收到,再发正式的那笔。
这一步不是免费的:它等于在链上多发一笔交易,多付一次手续费。在 BNB Chain 上这笔钱通常不大,具体要留多少 BNB、大概什么量级,见 BNB gas 费要留多少?一笔大概多少钱,想估个数可以用 gas 费估算工具。
值不值,你把两边摆一起看就清楚了:左边是多付的那一次手续费,右边是整笔转错、而且链上没有撤回按钮。我们给出的分界线很土——金额小到不值得多花这一次手续费的,就不试了,只核地址;金额大到「转错了会心疼很久」的,一定试。中间那段各人自己定,但别倒过来:越是大额越图快,才是真的贵。
转出去的链上交易撤不回,没有客服能拦下,也没有谁能替你撤销。正因为如此,钱一转错,私信和搜索结果里立刻会冒出自称能「追回资产」「解冻钱包」的人——那是第二道骗局,进去只会再丢一次。地址投毒本身不碰你的私钥、不动你的余额,别因为慌,把助记词交给来「帮忙」的人。
还有人问过这些
我的私钥是不是泄露了?
那一行记录能删掉吗?
对方怎么知道我的地址的?
已经转到仿冒地址上了,还能追回来吗?
本文对照的官方原始说明(均为英文):EIP-20 代币标准、Etherscan:零值代币转账攻击、BNB Chain:BEP-20 代币指南。三页均于 2026 年 9 月 21 日打开核对;Etherscan 那页自己标的发布日期是 2023 年 2 月 23 日。文中引用的 Trust Wallet 官方博客《What is an Address Poisoning Scam in Crypto?》(https://trustwallet.com/blog/security/what-is-an-address-poisoning-scam-in-crypto)标注的发布日期为 2024 年 7 月 16 日、更新日期为 2026 年 7 月 17 日。本站未对本文涉及的钱包或浏览器做实际操作演示,以上说法均为根据官方资料核对。
本文是一般性安全科普,不构成投资建议,也不对任何具体地址、代币或服务的真假下结论。钱包与区块浏览器的界面措辞、默认开关会随版本变动,动手时以你当时屏幕上显示的为准。链上交易一旦发出无法撤回,转账与授权前请核对完整地址和数量。
接着看
BscScan 交易记录怎么看:各字段什么意思 · 怎么认出假 BNB · 怎么安全持有 BNB · 交易失败了先读报错那一句