地址投毒既然不涉及惡意授權或釣魚連結,為什麼還會被歸類成「詐騙」而不是單純的使用者疏失?
關鍵在於「誰主動創造了陷阱」。如果只是使用者自己不小心打錯了一個字元,那確實是疏失;但地址投毒的完整流程裡,攻擊者主動生成仿冒地址、主動對受害者發起交易植入紀錄、並且精準算準受害者未來核對地址時的視覺習慣——這一整套流程是有預謀、針對特定受害者精心設計的攻擊鏈,受害者最終複製錯地址,只是這條攻擊鏈裡最後被觸發的那一步,而不是整起事件的起點。
這也是為什麼地址投毒被歸在詐騙手法而非單純的操作失誤:判斷標準不是「受害者是否按錯了鍵」,而是「這個陷阱是不是被人刻意布下的」,就像即使受害者最終是自己輸入了密碼給釣魚網站,這仍然是釣魚詐騙,而不是使用者的疏失。
攻擊者要生成一個「開頭結尾都一樣、只有中間不同」的地址,技術上是怎麼辦到的?這不是需要暴力破解私鑰嗎?
這裡有一個常見的誤解需要澄清:攻擊者生成的仿冒地址,跟受害者的真實地址並不是「同一個地址、換一組私鑰」,而是完全獨立、由攻擊者自己生成並持有私鑰的另一組地址,只是這組地址剛好長得很像而已。這件事在技術上完全不需要破解任何人的私鑰——加密貨幣地址的生成,本質上就是先隨機產生一組私鑰,再透過固定演算法算出對應的地址,任何人都可以重複這個「生成一組私鑰、算出地址、檢查像不像目標」的流程,靠的是暴力運算的「碰運氣」,而不是破解已存在的地址。
這類專門用來生成「看起來眼熟」地址的工具在業界稱為靚號生成器(vanity address generator),原本是被拿來生成好記、好看的地址(例如開頭是一串重複數字),但同一套技術完全可以被反過來利用,用來大量生成跟目標地址前後綴相似的仿冒地址,這也是為什麼地址投毒能夠被自動化、大規模執行——攻擊者不需要對特定受害者做任何客製化的技術突破,只需要跑一套腳本,鎖定鏈上活躍的高資產地址,批次生成相似地址並發起零元交易植入紀錄即可。
除了地址簿功能,還有沒有其他具體工具或做法能有效防範地址投毒?
目前業界比較成熟的做法主要有三類。第一類是錢包內建或第三方外掛的即時風險偵測工具(例如文中提到的 Blockaid 這類安全公司提供的服務,通常以瀏覽器擴充功能或錢包內建模組的形式存在),這類工具會在你複製或貼上地址時,自動比對這個地址過往的鏈上活動模式,如果偵測到這是一個只用來發送零元或極小額交易、疑似投毒地址的可疑地址,會在畫面上主動跳出警告。第二類是鏈名服務(如 ENS),把難以核對的十六進位地址,換成人類可讀、可記憶的名稱(例如 yourname.eth),從根本上避開「逐字核對一長串十六進位字元」這個人類先天不擅長的動作。
第三類則是操作習慣層面的防護:定期清理錢包的交易紀錄顯示介面(部分錢包支援隱藏或標記可疑的零元交易紀錄)、對於高資產錢包考慮啟用多簽或需要二次確認的轉帳流程、以及最基本但常被忽略的一點——複製地址後,貼上到轉帳欄位時,養成習慣把游標移到地址中段,用肉眼額外核對幾碼,而不是只信任「開頭結尾看起來對」的第一印象。這幾類做法互相補強,沒有任何單一工具能百分之百杜絕風險,多層防護疊加才是實際可行的做法。
如果我只是持有一般的散戶資產,不算什麼「鏈上活躍高資產地址」,還需要擔心被鎖定嗎?
需要,而且理由跟本文提到的攻擊規模數據直接相關——地址投毒的成本極低,尤其在以太坊 Fusaka 升級大幅調降交易手續費之後,攻擊者發送一筆零元投毒交易的成本幾乎可以忽略不計,這代表攻擊者不再需要「精挑細選」特定的高資產目標才划算,而是可以用自動化腳本對鏈上大量活躍地址進行地毯式覆蓋,不管地址背後的資產規模大小。前面提到的「每 200 次投毒嘗試就有 1 次成功」這個統計數字,本身就意味著這是一場數量取勝的攻擊,散戶或機構、大額或小額用戶都在同一個攻擊池裡。
更實際的考量是,就算你目前錢包裡的資產不多,這個地址一旦被投毒植入仿冒紀錄,這個風險會一直潛伏在你的交易紀錄裡,直到某天你收到一筆較大金額(例如工作報酬、資產出售款項)需要轉出時,才會真正被觸發。換句話說,資產規模決定的不是「會不會被盯上」,而是「投毒陷阱被觸發時,損失有多大」——養成核對地址中段字元、使用地址簿的習慣,跟資產多寡無關,越早養成,風險視窗就越小。
2025 年 12 月,一名加密貨幣交易者做了所有「正確」的事:轉帳前先發送一筆 50 USDT 的小額測試交易,確認到帳無誤後,才安心地從自己的交易紀錄裡複製那個「已經驗證過」的地址,貼上準備轉出近 5000 萬美元的 USDT。26 分鐘後,這筆錢進了攻擊者的口袋——他複製的那個地址,看起來跟正確地址幾乎一模一樣,開頭幾碼、結尾幾碼完全相同,但中間某幾碼被攻擊者悄悄置換過,指向的其實是攻擊者控制的另一組錢包。這種手法在業界被稱為地址投毒(address poisoning),它的可怕之處在於:受害者從頭到尾沒有簽署任何惡意授權、沒有點擊任何釣魚連結,唯一的錯誤只是相信了自己複製貼上的那個地址。
加密貨幣地址通常是一長串 40 位元的十六進位字元,這個長度遠遠超過人類能夠完整記憶或逐字核對的能力範圍,實務上多數人核對地址時,只會下意識掃過開頭跟結尾幾碼,中間一大段幾乎不會逐字比對。地址投毒攻擊者正是精準利用了這個習慣:他們會生成一批跟目標受害者常用地址開頭、結尾完全相同,只有中間字元不同的「仿冒地址」,接著主動對受害者的錢包發送一筆金額極小、甚至是零金額的轉帳交易——這筆交易的唯一目的,是把這個仿冒地址植入受害者的鏈上交易紀錄裡,等待受害者未來某次需要轉帳時,直接從交易紀錄複製到這個看起來「眼熟」的地址,完成攻擊者設下的陷阱。
卡內基美隆大學研究團隊分析兩年份的以太坊與幣安智能鏈交易資料後發現,地址投毒攻擊在過去已累積超過 2.7 億次嘗試,鎖定超過 1700 萬個獨立錢包地址。區塊鏈安全公司 Blockaid 的追蹤數據顯示,僅 2025 年初至今,鏈上被標記的地址投毒交易就已超過 6540 萬筆,平均每天超過 16 萬筆,其中約 31.6 萬筆是受害者真的把資金送進了投毒地址——換算下來,大約每 200 次投毒嘗試就有 1 次成功。更值得警惕的是,這個攻擊規模正在加速擴張:以太坊在 2025 年 12 月完成的 Fusaka 升級大幅降低了交易手續費,原本因為手續費成本而受到抑制的大規模投毒行為,在手續費下降後如脫韁野馬——短短兩個月內,鏈上投毒嘗試次數從約 63 萬筆暴增到 340 萬筆,成長超過 5 倍。
地址投毒的攻擊對象並不限於一般散戶。安全公司 Blockaid 揭露的一起案例顯示,攻擊者利用 Safe 多簽錢包的巢狀帳戶(nested Safe)功能,批次生成約 1.5 萬個外觀高度相似的惡意代理地址,直接植入受害者錢包介面裡顯示的紀錄清單中——這代表即使是採用多重簽名這類進階安全措施的用戶,如果核對地址時仍然只憑肉眼掃過開頭結尾,一樣可能落入陷阱。這也呼應了整個站點反覆強調的一個原則:任何單一安全機制,不管是多簽、審計還是硬體錢包,防的都是特定的那一類風險,地址投毒鎖定的是「核對」這個動作本身的人類極限,跟你用的錢包安不安全,其實沒有直接關係。
下次要從交易紀錄或聊天紀錄複製地址時,養成兩個習慣能大幅降低中招機率:第一,不要只核對開頭跟結尾幾碼,至少額外核對中間一小段字元,或者乾脆改用地址簿功能——多數主流錢包都支援把常用地址預先儲存並命名,往後轉帳時從自己儲存的地址簿裡選取,而不是每次都重新複製貼上;第二,對於金額特別大的轉帳,先送出一筆小額測試交易,並且在收款方確認收到之後,直接請對方回傳一次完整地址核對,而不是像本文開頭那位交易者一樣,測試完就直接從自己的交易紀錄複製「看起來對的」那個地址——地址投毒攻擊的整個設計,鎖定的正是這個看似最安全的最後一步。