無限授權讓 spender 合約在不必每次重新取得額度的情況下,把指定代幣轉出至極高上限。它不會立刻移動資產,但若 spender 惡意、遭入侵或被不安全升級,日後回到地址的餘額也可能被取走。
逐步處理#
- 檢查 spender 地址,而不只看應用程式名稱。 從獨立官方文件核對完整網域、合約地址與所在網路,名稱與圖示都可能被仿冒。
- 介面允許時,只授權本次需要的精確金額。 在資產控制權改變前確認 token、spender、額度與期限,無法解釋就拒絕。
- 使用餘額受限的互動錢包。 把長期儲蓄與日常 Web3 操作分開,即使判斷錯誤也能限制最大損失。
- 一次性活動結束後重新檢查額度。 中斷網站連線不會改變鏈上 allowance,應從已驗證的瀏覽器或授權工具查核。
- 在每條使用過的鏈撤銷過期權限。 逐筆閱讀撤銷交易並等待鏈上確認,再檢查額度是否歸零或已移除。
核心原理#
Approval 是 token、owner、spender 與網路的組合。便利性不只存在於單次兌換期間;應用程式日後可能升級、管理金鑰可能外洩,前端也可能遭入侵。移走代幣、中斷網站連線或變更 App 密碼都不會刪除鏈上額度,之後回到地址的同一代幣仍可能暴露。
何時停止或改變做法#
撤銷介面要求轉帳、所有權變更或新的 approval 時,應立即拒絕。有限額度可能增加重複授權的 Gas 成本,卻能限制最大曝險並提供再次核對 spender 的時機。若助記詞或簽署器已受害,單純撤銷不足以建立新安全邊界,必須遷移資產。
必須注意的失敗模式#
- 認為餘額為零就代表授權消失。 額度仍留在鏈上,未來重新收到同一代幣時可能立即暴露。
- 只中斷 dapp 連線。 這只清除本機工作階段,不能撤銷智慧合約中的 allowance。
- 把最大額度授給未驗證的路由合約。 代幣名稱與品牌可被仿冒,必須核對正確合約與 spender。
- 透過假工具批次簽署撤銷。 不閱讀每一筆交易可能反而建立新授權、轉出資產或更改所有權。
應保存的證據#
不要只因工具顯示「已撤銷」就認定完成。應以鏈上交易狀態與重新查詢的實際額度確認,而且每條使用過的鏈都要分別檢查。
| 檢查點 | 證據 | 停止條件 |
|---|---|---|
| 核對 token 與 spender | 官方合約及 explorer | 地址無法驗證 |
| 撤銷額度 | 已確認鏈上交易 | 交易要求轉出資產 |
| 重新檢查 | 額度為零或移除 | 同一 spender 仍有其他權限 |
保存交易雜湊、官方合約地址與檢查日期即可,不要把助記詞、私鑰、密碼或驗證碼放進任何紀錄。
常見問題#
無限授權能花掉其他代幣嗎?
一般只限特定代幣合約,但同一 spender 可能另有其他代幣或 NFT 權限。
Approval 會自動到期嗎?
標準 ERC-20 額度通常不會,除非合約或 permit 設計另有期限。
Permit2 一定是無限授權嗎?
不一定。它支援不同額度與期限;仍需核對實際 token、spender、金額及到期時間。
相關指南#
參考資料#
風險提示: 撤銷只能阻止特定權限未來支出,不能追回已完成轉帳或修復外洩助記詞。
編輯標準
本文以教育與可靠來源為基礎。安全措施、交易所規則及法律要求可能變動,採取重要操作前請透過相關官方管道核實。