錢包安全高

如何撤銷代幣無限授權並降低錢包風險

找出並撤銷代幣無限授權,理解撤銷會改變什麼,並避免把中斷錢包連線誤認為移除鏈上權限。

從建立代幣授權、檢查額度到鏈上撤銷的生命週期

要撤銷代幣無限授權,請開啟該區塊鏈的官方授權檢查工具、連接正確錢包、核對 spender 合約與額度,再送出鏈上撤銷交易。撤銷需要支付網路費,並會阻止該額度日後繼續使用;單純中斷網站連線不會有此效果。

先確認哪一種權限有危險#

ERC-20 approval 允許 spender 合約從你的地址轉出不超過額度的代幣。「無限」通常表示額度接近代幣標準的最大值,讓應用程式未來每次交易前不必重新取得授權。

授權本身不會自動移動代幣。真正風險在於 spender 是惡意合約、已遭入侵,或能以不安全方式升級。即使你早已不再使用該應用,舊額度仍可能持續有效。

NFT 權限可能使用 setApprovalForAll,讓 operator 控制整個收藏系列。應讀懂權限種類,不要以為每份 approval 只影響單一代幣數量。

使用正確鏈的檢查工具#

授權依網路分開記錄。即使錢包地址相同,Ethereum 上的額度也不等於 Base、Arbitrum、BNB Smart Chain 或 Polygon 上的額度。

透過已驗證網域進入區塊瀏覽器,或使用可信生態來源連結的成熟授權管理工具。Ethereum.org 會引導使用者使用 Etherscan Token Approval Checker 與 Revoke.cash。不要點擊陌生訊息提供的撤銷連結。

連接前確認:

  • 錢包顯示的網路;
  • 正在檢查的錢包地址;
  • 代幣合約;
  • spender 合約;
  • 目前額度與最近使用情境。

每次撤銷一筆額度#

優先處理未知 spender、已停用應用程式的合約,以及能動用高價值餘額的額度。選擇撤銷後,閱讀錢包提示,確認交易是在變更額度,而不是轉出代幣或授予另一項權限。

撤銷交易必須上鏈確認後,額度才會改變。預留足夠該網路原生資產支付手續費;確認後重新整理工具,驗證額度為零或已移除。

Uniswap 指出,撤銷是需要網路費的鏈上交易,與中斷 dapp 連線不同。下次進行合法 swap 時,可能必須重新授權。

了解撤銷無法修復哪些問題#

撤銷只阻止該特定權限未來支出,不能逆轉已完成轉帳、追回失竊資產,也不能保護已外洩助記詞。惡意 signer 或 drainer 可能擁有多項權限,只移除其中一項仍會留下其他路徑。

若助記詞、私鑰或簽署裝置可能受害,應建立新錢包並移轉剩餘資產。若問題只是一筆已知額度,完整檢查近期活動與其他授權後,撤銷可能已足夠。

以可控曝險取代無限授權#

介面允許時,只核准預定交易需要的金額。陌生協議應使用餘額有限的互動錢包;完成一次性操作後,以及協議公告資安事件時,都要檢查額度。

小額授權不能取代 spender 驗證。惡意合約仍能拿走已核准金額,反覆授權也會增加手續費與簽署機會。

常見問題#

撤銷授權會移動代幣嗎?

不會。正常撤銷只會變更代幣合約中的額度;仍要核對交易內容,因為假撤銷介面可能要求完全不同的操作。

為什麼撤銷要付 Gas?

額度是區塊鏈狀態,更新它需要網路交易,因此必須支付原生手續費資產。

不連接錢包也能撤銷嗎?

只用公開地址即可查看額度,但要變更額度仍須控制錢包簽署。

每一筆授權都應撤銷嗎?

移除不再需要的權限,並仔細檢查未知或無限額度。仍在使用的應用可能需要重新授權,應按曝險排序,而不是盲目簽下數十筆陌生交易。

參考資料#

風險提示: 授權工具需要錢包簽章。送出任何交易前,請核對網域、區塊鏈、代幣與 spender。

編輯標準

本文以教育與可靠來源為基礎。安全措施、交易所規則及法律要求可能變動,採取重要操作前請透過相關官方管道核實。