地址投毒是騙子往你的地址發一筆 0 額或假幣轉帳,讓記錄裡出現首尾與你常用地址相似的地址,等你從記錄裡複製時轉錯。防法是不從歷史記錄複製地址,用地址簿或對方當面給的地址,並核對整串。
地址投毒不用偷你的私鑰,也不用你點任何連結。騙子只是往你的地址裡塞一筆看起來無害的轉帳,然後等你下次從轉帳記錄裡複製地址。它防的不是駭客,而是「複製貼上」這個習慣。
地址投毒是怎麼一步步發生的?
結合 MetaMask 和 Revoke.cash 的說明,整個過程大致是這樣:
- 你正常轉了一筆帳,常見的是穩定幣,給朋友、給另一個自己的錢包,或者提到交易所。
- 騙子的程式一直在監控鏈上轉帳。看到這筆之後,用「靚號地址生成器」批次生成一個地址,讓它的開頭和結尾,與你這次的收款地址(有時是你自己的地址)高度相似。
- 騙子用這個相似地址,給你發一筆金額為零或極小的轉帳,或者偽造一筆看起來像你轉出去的記錄。
- 這條記錄出現在你的錢包歷史或區塊瀏覽器裡,緊挨著你真正的那一筆。
- 下次你要重複轉帳,圖省事,從歷史記錄裡複製了「上次那個地址」,複製到的恰好是騙子的地址。
- 幣發出去。鏈上轉帳不可撤回,MetaMask 的說明寫明,已確認的交易無法修改,損失的資金無法找回。
整個流程裡,你的錢包沒有被入侵,私鑰沒有洩露,你也沒有簽署過任何授權。MetaMask 的描述是:這種手法依賴的是使用者的疏忽和匆忙。所以它不挑人,任何習慣快速複製的人都可能中招。

兩種常見手法:假代幣和 0 額轉帳
Revoke.cash 把地址投毒分為兩類,識別難度不同。
| 手法 | 騙子做了什麼 | 在你的記錄裡長什麼樣 | 識別線索 |
|---|---|---|---|
| 假代幣 | 自己部署一個與 USDT、USDC 等同名的假合約,程式化地讓它看起來像是「你」轉給某個地址 | 一條名為 USDT 或 USDC 的轉帳,但幣種圖示與正版不同 | 在錢包或瀏覽器裡,假代幣通常沒有正版的圖示;點進代幣,合約地址與官方公佈的不一致 |
| 0 額轉帳 | 利用真實代幣合約的 transferFrom 功能,發起一筆從你的地址轉出、金額為 0、收款方是相似地址的轉帳 | 一條真實的 USDT 轉帳,傳送方是你,金額為 0,收款方是陌生的相似地址 | 唯一的差別是收款地址不同、金額為零,更難一眼看出 |
0 額轉帳為什麼不需要你授權?Revoke.cash 解釋了原因:transferFrom 函式通常給智慧合約代你轉幣使用,會檢查「轉帳金額是否小於等於授權額度」。金額為 0 時,永遠滿足這個條件,所以即使你沒有授權給任何人,零額轉帳也能成功。這就是為什麼檢查和撤銷授權,解決不了地址投毒。授權是另一類騙局,見代幣授權是什麼、怎麼檢查和撤銷。
為什麼只看首尾幾位不夠?
錢包和瀏覽器為了排版,常把地址縮短,只顯示開頭和結尾若干位,MetaMask 指出,大多數人識別地址靠的就是熟悉開頭和結尾,而地址投毒正是針對這種習慣。Revoke.cash 的建議更明確:常說的「核對前 4 位和後 4 位」其實不夠,騙子可以生成前後 4 位相同的地址,應該核對更多位。MetaMask 的提示是,要特別注意中間的字元,那是投毒地址設計時刻意含糊的部分。
以太坊官方文件寫明,外部帳戶的地址是 42 個字元,也就是 0x 加 40 位十六進位制。去掉 0x 和首尾各 4 位,中間還有 32 個字元,真正需要比較的是這一段,而不是兩頭的幾位。
在轉帳記錄裡怎麼識別可疑條目?
下面的判斷方法是針對「複製前先看一眼」整理的,不是官方功能:
| 訊號 | 為什麼可疑 | 怎麼進一步確認 |
|---|---|---|
| 一筆金額為 0 或極小的「轉入」,來自你不認識的地址 | 投毒的典型形態 | 不要點進去複製地址,也不要回復 |
| 一筆「轉出」,但你沒有操作過,收款方陌生 | 0 額轉帳用 transferFrom 偽裝成你轉出 | 看金額是否為 0,看收款地址是否與某個你用過的地址首尾相似 |
| 幣的名稱是 USDT 或 USDC,但圖示不對 | 假代幣 | 對比官方公佈的合約地址,例如 Tether 的 Supported protocols 頁面列出了各鏈的 USDT 合約,核對步驟見 代幣簡稱、合約地址和區塊鏈網路,怎樣一起核對 |
| 緊跟在你一筆真實轉帳之後出現 | 騙子在監控轉帳,隨即跟進 | 對照時間,看是否發生在你轉帳後不久 |
| 同一個物件出現兩個首尾相同、中間不同的地址 | 其中一個可能是投毒地址 | 用可信來源的地址做整串核對,下面講方法 |
公開的例子主要是 EVM 鏈上的穩定幣轉帳。複製歷史地址的風險,在任何會顯示轉帳記錄的鏈上都存在,比特幣(開頭為 1、3、bc1 的幾種地址,區別見 比特幣地址 1、3、bc1 開頭有什麼區別)和 Solana(Base58 地址沒有可見的校驗位,見 Solana 的地址格式和代幣帳戶怎麼理解)也不例外。
怎麼做整串核對?
「核對整串」不是讓你盯著看,更可靠的做法有三種:
- 頁內搜尋法。 先從可信來源拿到完整地址(對方的入金頁,或你儲存的地址簿)。在轉帳記錄頁用瀏覽器的頁內搜尋(電腦上通常是 Ctrl+F 或 Cmd+F),貼上整串。命中的那一條才是和它完全一致的記錄;搜不到,說明記錄裡的地址不是它。如果頁面只顯示了縮短的地址,先展開完整地址或點進詳情頁,再搜尋。
- 分組對照法。 把兩個地址每 4 位分成一組,逐組對。重點看中間的每一組,而不是首尾兩組。
- 兩行對齊法。 把兩個地址貼上到備忘錄裡上下兩行,字型選等寬,逐列對比。
這三種方法都有一個前提:你拿來比對的那一串,必須來自可信來源,而不是同一個轉帳記錄。
轉帳前的核對順序:按地址來源選做法
| 地址的來源 | 做法 | 原因 |
|---|---|---|
| 轉到交易所 | 每次都回到交易所的入金頁,當次複製 | Revoke.cash 建議入金到中心化交易所時,每次都從網站複製入金地址 |
| 轉給朋友或商家 | 讓對方重新發地址,或使用對方的 ENS 名稱 | Revoke.cash 的建議是向朋友要地址或用 ENS |
| 經常轉的物件 | 存入錢包的聯絡人或地址簿,之後只從裡面選 | MetaMask 建議把常用地址加入聯絡人,存進去的是你核對過的 |
| 從歐易(OKX)轉出 | 開啟提幣白名單,只提到地址簿裡的地址 | 白名單開啟後不能手工輸入新地址 |
| 金額大、地址新 | 小額試轉一筆再轉剩餘 | 限制損失;但如果試轉的地址本身就是騙子的,那筆小額也回不來 |
| 用硬體錢包 | 在裝置螢幕上核對收款地址 | MetaMask 指出多數硬體錢包要求在裝置上確認地址 |
歐易的提幣地址簿有兩個相關功能:開啟 Allowlist 之後,只能提到地址簿裡已儲存的地址,手工輸入新地址被停用;還可以同時開啟「新地址提幣鎖」,新加的地址 24 小時內不能用,這給你留出了發現問題的時間。往地址簿裡新增地址的那一步,才是最需要整串核對的時刻,之後每次提幣選擇即可,不必再從記錄裡複製,操作見歐易提幣怎麼操作、手續費和白名單怎麼設定。需要填 Tag/Memo 的幣種,把地址和 Memo 一起核對,逐項清單見 網路、地址和 Memo 怎麼一次核對完。
MetaMask 還提供了一層預警:當目標地址與你的歷史地址首尾相同、中間不同時,它會彈出阻斷式警告。看到這種警告,不要點繼續,先回到可信來源核對整串地址。當然,錢包沒有彈窗,不等於地址就安全。
地址格式檢查工具能查出投毒嗎?
不能。加密貨幣地址格式識別工具只看地址本身的開頭、長度、字元以及校驗碼,能告訴你這個地址大機率沒有抄錯、可能屬於哪條鏈。投毒地址恰恰是一個完全合法的地址,格式沒有任何問題,所以檢查會顯示通過。它也無法判斷這個地址的主人是誰,更看不出它是否在模仿你的某個常用地址。
可以把它當成轉帳前的第一道粗篩,用來發現少抄了幾位、缺了字首這類低階錯誤。真正防投毒的,是整串核對和地址來源。
已經轉錯了怎麼辦?
坦率地說,大機率拿不回來。以太坊官方文件寫明,以太坊上的交易不可逆,除非你認識地址所有者並說服對方退還。歐易的說明也一樣:轉到錯誤地址,如果知道所有者,可以直接聯絡協商;如果地址屬於某個交易所或錢包,向對應平台的客服求助;區塊鏈地址是匿名的,只能看到交易記錄,查不到個人資訊。投毒地址的主人是騙子,聯絡他沒有意義。
能做的事:儲存交易雜湊、時間、雙方地址,向你使用的平台回饋,必要時報警;警惕聲稱能替你追回的服務,凡是要先收費、要驗證碼或助記詞的,一律不要理會,見假冒歐易客服的常見套路。
它和釣魚網站、授權騙局有什麼不同?
| 騙局 | 你被要求做什麼 | 防法 |
|---|---|---|
| 地址投毒 | 什麼都不用做,等你自己複製錯地址 | 不從歷史記錄複製,整串核對,用地址簿 |
| 釣魚網站 | 輸入驗證碼、助記詞或連線錢包 | 核對域名,見搜到的歐易官網是真的嗎 |
| 授權騙局 | 簽署一個授權,讓合約能動你的代幣 | 檢查並撤銷授權,見代幣授權是什麼 |
三類的共同點是都要靠你的操作失誤,不同點是投毒的失誤只有一次:複製了那一串字元。
這篇文章參考了哪些資料
以下資料查閱於 2026 年 11 月 4 日。平台規則可能因地區、帳戶和時間變化。
- Revoke.cash:What Is Address Poisoning? ↗
- MetaMask 幫助中心:Address poisoning scams ↗
- Ethereum.org:Ethereum security and scam prevention ↗
- Ethereum.org:Ethereum accounts ↗
- OKX 幫助中心:How do I enable allowlist? (app) ↗
- OKX 幫助中心:What should I do if I make a mistake during a withdrawal? ↗
- OKX 幫助中心:How do I make a withdrawal? (app) ↗
- Tether:Supported protocols ↗