僅供教育參考,不構成投資建議。簽署並傳送至錯誤位址的移轉可能無法撤銷,凍結或追回也絕無保證。
直接答案
位址投毒是一種替換收款方的詐騙。攻擊者產生一個不同的位址,使其在介面中可見的前綴和後綴與可信收款方相似,再將其植入交易紀錄或其他看似可信的介面。攻擊者期待付款方日後複製該仿冒位址,並向它簽署一筆有效付款。此攻擊不會竄改合法位址、破解其私鑰,也不會讓共識層錯誤路由移轉。
被植入的紀錄可能來自真實的原生資產交易、符合標準的零額代幣移轉,或另一代幣合約發出的日誌。錢包和區塊瀏覽器的活動頁面都是衍生檢視:標為「送出」的一列可能源自事件欄位,而不是由畫面所示 from 位址簽署的外層交易。應分別核驗外層交易的傳送方和目的位址、被呼叫合約、事件發出合約、索引欄位以及實際餘額變化。
ERC-55 檢查碼有助於發現部分意外輸入錯誤,但攻擊者的不同位址本身也可以格式有效並具有正確檢查碼。普通 20 位元組 EVM 位址也不指明預期鏈、資產、收款方角色、入金備註或合約呼叫。安全的付款指示必須把這些事實全部綁定至完整目的位址。
完成核查不代表資產、交易或系統已經安全。
運作方式
攻擊者觀察公開付款模式,並搜尋一個自訂位址,使錢包截短後顯示的字元與目標相符。匹配若干十六進位字元並不會複製帳戶;未顯示的位元組仍然不同,新私鑰由攻擊者控制。一筆微額移轉即可讓這個真實位址進入交易紀錄。另一方面,ERC-20 要求把零額移轉當作正常移轉處理並發出 Transfer,因此零額紀錄本身不能證明存在偽造、帳戶失陷、授權或經濟損失。
惡意代幣合約也可以自行發出 Transfer(victim, lookalike, 0) 日誌。該日誌是可歸因於發出合約的真實收據資料,但並非標準資產合約發出的事件,也不能證明受害者簽署了外層交易。然而,如果索引器僅依據事件主題分類活動,卻缺少足夠的合約與呼叫脈絡,仍可能顯示誤導性的轉出紀錄。
決定性控制點是最終付款意圖。它應綁定鏈和網路、原生資產或確切代幣合約、完整收款位址、收款方類型、金額及原始單位,以及所有呼叫資料、備註、目的標籤或有效期。交易所入金位址、跨鏈橋、代理合約及一次性路由可能過期,或要求位址以外的資訊。剪貼簿惡意軟體和遭竄改的 QR Code 屬於不同攻擊,但相同的完整目的地核驗可以在簽署前發現替換。
名稱與測試付款只是輔助控制,而非身分證明。簽署時應針對預期鏈解析 ENS 名稱並記錄結果;若介面顯示反向名稱,應再正向解析並確認其回傳同一位址。小額測試只有在收款方獨立確認,且主要付款重複使用同一已固定目的地時才有幫助。再次從交易紀錄複製會使這項保護失效。
採用以下流程:
- 從經過身分驗證的獨立來源固定鏈、網路、資產及確切代幣合約、收款方類型、位址格式、金額,以及任何備註、標籤、呼叫資料、版本或有效期。
- 名稱或 QR Code 只解析一次;核驗格式與檢查碼,並把完整目的地位元組綁定到預期鏈。反向名稱必須正向確認,不得把標籤本身當成身分。
- 將目的地與受控允許清單、通訊錄或已簽署發票比較,絕不使用交易紀錄;新增或實質變更收款方時要求獨立複核或雙人核准。
- 解碼確切的未簽署交易:區分原生資產
to與代幣或跨鏈橋合約,並檢查呼叫資料中的收款方、代幣、原始金額、授權、截止時間及目的地語意。 - 適當時向該已固定目的地傳送小額測試,並取得收款方獨立確認;主要付款不得再次從交易紀錄複製位址。
- 只能根據已核驗紀錄簽署主要付款,在可信顯示裝置上比較完整目的地和金額,再於正確鏈上核驗收據、事件發出合約、日誌及餘額變化。
- 如懷疑投毒或誤轉,立即停止後續付款、保存交易雜湊與證據,並酌情迅速聯絡收款服務、發行方或執法機關;凍結、退回和追回均應視為有條件措施,絕非保證。
範例
- 截短顯示掩蓋差異。 合法位址
0x12ab1111111111111111111111111111111189ef與攻擊者位址0x12ab9999999999999999999999999999999989ef均顯示為0x12ab...89ef。兩者共有4 + 4 = 8個顯示的十六進位字元,但全部32個中間字元均不同。只比較顯示的兩端會產生錯誤匹配,完整位元組比較則不會。 - 自訂位址搜尋工作量。 匹配
k = 8個指定十六進位字元的預期工作量為16^8 = 4,294,967,296個候選。假設速度為50,000,000 candidates/s,預期時間是4,294,967,296 / 50,000,000 = 85.89934592 s。這說明的是搜尋空間,並非承諾執行時間或錢包警告門檻。 - 日誌與狀態。 某代幣合約發出
Transfer(victim, lookalike, 0)。受害者餘額從250,000.000000變為250,000.000000,所以變化量為0.000000;活動索引仍可能顯示一筆移轉紀錄。應檢查事件發出合約和呼叫授權:該紀錄本身既不能證明價值發生移轉,也不能證明受害者簽過名。 - 測試必須固定目的地。 某資金帳戶計畫支付
50,000 USDC,先向已核驗位址傳送1 USDC,取得獨立確認後,再從同一固定紀錄傳送49,999 USDC:1 + 49,999 = 50,000 USDC。如果工作人員為第二筆款項再次從交易紀錄複製仿冒位址,測試將不再保護這筆49,999 USDC付款。
風險
- 付款方從遭投毒的交易紀錄複製仿冒位址。
- 截短介面隱藏不同的中間字元。
- 自訂前綴或後綴被誤認為收款方身分。
- 零額 ERC-20 移轉產生誤導性交易紀錄。
- 仿冒代幣或其日誌被誤認為標準資產活動。
- 索引器錯誤分類事件欄位,或過遲才更正。
- 垃圾代幣名稱、符號或圖示冒充可信資產。
- 剪貼簿惡意軟體在簽署前替換已核驗位址。
- 本機或同步通訊錄遭投毒或已過期。
- 允許清單綁定錯誤的鏈、資產、角色或位址版本。
- 無效或缺少檢查碼的警告遭忽略。
- 有效檢查碼被誤認為收款方身分證明。
- ENS 解析發生變化、使用錯誤幣種型別或已過期。
- 介面顯示反向名稱,卻未作正向確認。
- 小額測試後又從不可信來源重新複製位址。
- 交易所入金位址、網路、備註或標籤錯誤或已過期。
- 對跨鏈橋、代理合約或合約目的地及所需呼叫資料理解錯誤。
- 即使使用硬體裝置,簽署者也只核對截短文字。
- 錯誤收款交易在介入前已成為標準鏈紀錄。
- 受害者依賴發行方酌情凍結,或再次遭遇追回詐騙。
常見迷思
- 位址投毒意味著錢包、金鑰或區塊鏈遭到入侵。 常見攻擊利用的是收款方選擇,而有效密碼學和共識只是執行了簽錯的付款意圖。
- 零額紀錄必然是虛假的鏈上交易。 符合標準的移轉與真實日誌都可以是零額;必須檢查來源及狀態影響。
- 首尾相同並有檢查碼就能證明收款方。 另一個有效位址可以匹配可見字元,並擁有自己的有效檢查碼。
- 一次成功測試會自動保護下一筆移轉。 如果主要移轉不重複使用已固定、已確認的目的地,保護便會失效。
- 錢包、驗證者或代幣發行方總能撤銷付款。 追回權限和合作取決於資產、服務、司法管轄區、證據與時機。
相關主題
來源
- Address poisoning scams - MetaMask Help Center(查閱日期:2026-08-13)
- Anatomy of an Address Poisoning Scam - Chainalysis(查閱日期:2026-08-13)
- ERC-20: Token Standard - Ethereum Improvement Proposals(查閱日期:2026-08-13)
- ERC-55: Mixed-case checksum address encoding - Ethereum Improvement Proposals(查閱日期:2026-08-13)
- Transactions - ethereum.org(查閱日期:2026-08-13)
- Resolution - ENS Documentation(查閱日期:2026-08-13)
- Frequently asked questions - ethereum.org(查閱日期:2026-08-13)
- USDC Terms - Circle(查閱日期:2026-08-13)