錢包安全
錢包授權後,資產為什麼可能被自動轉走
區分連接錢包、簽署訊息、發送交易與代幣授權,並檢查及撤銷不再需要的 smart contract allowance。
連接 DApp 通常只是讓網站看到公開地址;代幣授權則是在鏈上允許某個 spender 或 smart contract,在指定額度內移動你的代幣。兩者完全不同。
四種動作要分清楚
- **Connect:**網站取得公開地址。
- **Sign message:**用私鑰對訊息簽名,內容不明時不可盲簽。
- **Send transaction:**向網路送出會改變鏈上狀態的操作。
- **Approve:**授予 spender 代幣 allowance。
無限額授權可減少重複操作,卻也放大惡意合約或合約遭攻擊時的暴露範圍。NFT 的 setApprovalForAll 可能影響整個系列。
為何 Disconnect 不夠?
在 DApp 介面中斷連線,不會刪除已寫入區塊鏈的 allowance。未設定到期日的權限,日後仍可能被使用。
檢查與撤銷
- 選擇正確網路。
- 由錢包或可信區塊瀏覽器開啟授權清單。
- 核對 token、spender 合約、額度及原始 DApp。
- 撤銷不再使用或來源不明的授權。
- 撤銷本身是鏈上交易,需支付 gas;確認完成後重新整理清單。
- 分別檢查曾使用的其他網路及 NFT 授權。
撤銷不能追回已轉走的資產。若發現未授權交易,還需檢查裝置、助記詞是否外洩,以及其他鏈上的權限。任何撤銷工具都不需要你輸入助記詞。
降低日常授權暴露
將長期保存資產的錢包與日常連接 DApp 的錢包分開;授權時優先選擇實際需要的額度,完成操作後再次檢查 allowance。若交易模擬顯示的資產流向與預期不符,取消簽名並離開頁面。
