如何在 DApp 掏空你的加密錢包前撤銷代幣授權

如何在 DApp 掏空你的加密錢包前撤銷代幣授權

要移除 DApp 對你代幣的存取權,你必須找到它持有的授權並在單獨的鏈上交易中撤銷 - 斷開 DApp 連線不會移除權限,你的代幣會持續暴露,直到額度設為 0。

重點摘要

  • 授權存在於鏈上 - 關閉應用程式或 WalletConnect 會話沒有任何作用;支出權限會保持有效,直到你撤銷它。
  • 無限授權增加損害 - 單一無限權限讓合約可以使用代幣的整個當前和未來餘額。
  • 撤銷防止未來支出,而非過去的盜竊 - 重設額度會阻止新轉帳,但無法復原掏空者已移動的資產。

什麼是 DApp 代幣授權?

DApp 代幣授權是錢包擁有者授予智能合約的權限,允許其在設定金額內使用特定代幣。沒有該授權,去中心化交易所、借貸市場或任何其他 DApp 都無法移動你的代幣 - 授權就是讓它在你與其互動時代表你進行兌換、質押或轉帳的關鍵。

智能合約是一個基於區塊鏈的程式,當預定義條件滿足時自動執行操作。

DApp 代幣授權如何運作

代幣授權遵循固定序列:你將錢包連接到 DApp,DApp 請求授權,它被記錄在鏈上,從那時起 DApp 執行已批准的操作而無需再次詢問。這就是像 Aave 和 Uniswap 這樣的知名 DApp 的運作方式。因為權限存在於區塊鏈上而非應用程式會話中,它在你停止使用 DApp 後仍長期有效。

授權有幾種不同形式:

  • **有限授權:**DApp 只能使用你設定的金額,例如 500 USDC,必須請求新授權才能使用更多。
  • **無限授權:**DApp 可以使用所選代幣的任何金額,包括稍後進入你錢包的代幣。
  • **代幣授權:**智能合約獲得管理特定可替代代幣(如 USDC 或 USDT)的權限。
  • **NFT 授權:**權限可以涵蓋單個 NFT 或整個收藏,例如透過 setApprovalForAll

代幣授權不會洩露你的助記詞或讓 DApp 無限制地存取整個錢包。它僅適用於已批准的代幣、NFT、金額和智能合約。

加密錢包使用者何時授予代幣授權?

代幣授權出現在日常 DeFi 操作中:兌換代幣、借貸、質押和出售 NFT。它們可能在操作完成或 DApp 斷開連線後仍保持有效。

**在 DEX 上兌換代幣:**假設你在 Uniswap 上將 USDC 兌換ETH - 首先你授權 Permit2 合約(Uniswap Labs 的權限管理器)使用 USDC。無限授權可能在兌換完成或取消後仍保持有效。

**將代幣提供給借貸協議:**要在 Aave 上借出 USDT,你授權 Aave Pool 合約將代幣移出錢包。未使用的額度可能在存款提取或 DApp 斷開連線後仍保留。

**透過 DApp 質押代幣:**透過 Aave Umbrella 質押時,你授權質押合約將所選代幣移入池中。如果授權超過存款,剩餘額度可能在你退出質押後繼續運作。

**出售 NFT:**在 OpenSea 上列出 NFT,市場可能請求存取單個 NFT 或透過 setApprovalForAll 存取整個收藏。收藏範圍的授權會持續有效,直到使用者在單獨的交易中撤銷。

**從空投領取代幣:**假空投網站可能將無限授權或 Permit 簽名隱藏在普通的領取按鈕後面。確認後,錢包掏空者可以移動已批准的代幣或 NFT,而無需在錢包中發出任何新請求。

代幣授權有哪些風險?

危險不在於授權本身,而在於它隨時間可能變成什麼。最重要的三個風險:

  • **無限額度:**合約可以使用已批准代幣的整個當前和未來餘額,而不僅是你打算使用的金額。
  • **持續授權:**在你上次接觸 DApp 的數月或數年後權限仍繼續運作,因此被遺忘的授權仍可被利用。
  • **已洩露合約:**即使是合法 DApp 也可能在你授予授權後被駭,將你已簽署的存取權交給攻擊者。

什麼是加密錢包掏空者?

加密錢包掏空者是一種惡意工具,使用網路釣魚網站或假 DApp 誘騙你授予轉移代幣或 NFT 的權限。掏空者不會猜測你的助記詞,而是讓你自願簽署存取權,然後用它將你最有價值的資產移出。掏空者是一個龐大且活躍的威脅:2024 年它們從約 332,000 個錢包地址竊取了 4.94 億美元,比前一年增長 67%(Scam Sniffer,2024)。

錢包掏空者如何利用代幣授權

掏空者攻擊通常透過可預測的步驟鏈進行:

  1. 使用者進入假鑄幣、空投或投資網站。
  2. 網站提示使用者連接錢包。
  3. 使用者簽署授權或 permit 簽名。
  4. 掏空者掃描錢包並識別最有價值的資產。
  5. 已批准的代幣或 NFT 被轉出,無需任何新確認。

僅連接錢包不會讓任何人移動你的資產 - 危險只在你簽署授權或惡意交易後才開始。那個單一簽名就是無害連線和被掏空錢包之間的界線。

為什麼斷開 DApp 連線不會撤銷其授權

斷開連線和撤銷是兩個不同的動作,只有其中一個會移除合約的支出權限。斷開連線會關閉你的錢包和 DApp 之間的介面;授權繼續存在於鏈上。

動作它做什麼什麼保持有效
斷開連線關閉錢包和 DApp 介面之間的連線先前授予的鏈上授權
撤銷移除或重設智能合約的支出權限DApp 必須請求新授權才能再次存取代幣

為了顯示差異,我們將 Gem Wallet 連接到合法 DApp Uniswap 並授予 Permit2 對 USDC 的無限授權。斷開 Uniswap 連線後,沒有活躍的 WalletConnect 會話,但 Revoke.cash 仍顯示授權,完整的 USDC 餘額處於風險中。斷開連線只關閉到 DApp 的連線 - 鏈上授權保持有效,直到執行單獨的撤銷交易。

Uniswap 請求無限 USDC 授權,Gem Wallet 顯示沒有活躍的 WalletConnect 會話,而 Revoke.cash 仍列出一個活躍授權 在 Uniswap 中批准,斷開 DApp - 授權仍在 Gem Wallet 的鏈上有效。

如何撤銷 DApp 代幣授權:逐步說明

撤銷授權需要幾分鐘。以下是整個過程概覽:

  1. 開啟授權檢查器。
  2. 輸入你的錢包地址。
  3. 選擇區塊鏈。
  4. 檢視活躍授權。
  5. 撤銷或減少額度。
  6. 確認交易。
  7. 驗證結果。

讓我們詳細了解每個步驟。

步驟 1:開啟可信任的授權檢查器

開啟授權檢查器,如 Revoke.cash 或 Etherscan Token Approval Checker,並自己輸入地址而非點擊連結。這些工具的網路釣魚副本確實存在,因此在連接任何東西前仔細檢查網域。

步驟 2:輸入你的加密錢包地址

以唯讀模式開始,貼上你的公開錢包地址 - 這讓你可以看到每個活躍授權而無需連接或簽署。只有在準備撤銷時才需要透過 WalletConnect 連接。

步驟 3:選擇正確的區塊鏈

選擇授予授權的網路,因為每條鏈儲存自己的授權。Ethereum、BNB Chain、Polygon、Base 和其他網路必須分別檢查 - 一條鏈上的授權在另一條鏈上是不可見的。

步驟 4:檢視支出者和額度

對於每個條目,檢查代幣、智能合約(支出者)、已批准金額、授予日期以及風險價值。未知支出者或你持有代幣的無限金額是最清楚的授權應該移除的跡象。

步驟 5:撤銷或減少代幣授權

完全移除你不再需要的授權,或將額度減少到你實際計劃使用的金額。點擊撤銷會建立一個交易,將該合約的支出額度重設為 0。

步驟 6:在錢包中確認交易

請求透過 WalletConnect 在你的錢包(如 Gem Wallet)中開啟。確認前,檢查:

  • **金額:**已批准額度變更為 0 USDC。
  • **合約:**USDC。
  • **方法:**Approve。
  • **支出者:**Permit2。
  • **網路:**Ethereum。

確認需要網路費用(例如 ETH),因為這是實際移除權限的鏈上交易。在 Gem Wallet 中批准以發送。

步驟 7:驗證授權已移除

重新載入 Revoke.cash 並確認授權已消失或其金額已更改。在我們的測試中,儀表板更新為 0 個授權、0 美元風險價值和空授權清單 - 證明合約在再次請求前無法再使用 USDC。

在 Revoke.cash 中點擊撤銷,在 Gem Wallet 中確認 0 USDC 額度,儀表板驗證 0 個授權且無風險價值 點擊撤銷,在 Gem Wallet 中確認 0 USDC 額度,並驗證授權已消失。

哪些代幣授權應該撤銷?

並非每個授權都需要移除,但有些是明確候選。在以下情況撤銷授權:

  • **未使用的 DApp:**你不再使用持有它的 DApp。
  • **未知支出者:**你不認識支出者合約。
  • **無限金額:**授權是針對無限金額授予的。
  • **舊 NFT 列表:**權限與你已關閉的 NFT 列表相關。
  • **報告的駭客事件:**專案已披露駭客或漏洞。
  • **可疑來源:**授權在可疑的鑄幣或空投後出現。
  • **遺忘原因:**你記不起為什麼授予它。

如果你的加密錢包已被掏空該怎麼辦

立即撤銷每個活躍授權:撤銷會阻止進一步支出,但無法復原已被盜的資產。如果你的助記詞或私鑰已洩露,在乾淨的裝置上建立新錢包並將任何剩餘資金移到那裡。如果清掃機器人正在監視地址,在沒有單獨資產救援計劃的情況下不要向已洩露地址發送燃料。

如何在不被掏空的情況下使用 DApp

撤銷會清理你已授予的權限 - 但更安全的習慣是在簽署前捕捉風險授權。幾條規則涵蓋大多數情況:

  • **驗證網域:**連接前檢查 DApp 的確切 URL。
  • **忽略授權誘餌:**不要為了領取空投而簽署不明確的授權。
  • **限制金額:**限制已批准金額,而非授予無限。
  • **注意 setApprovalForAll:**對收藏範圍的 NFT 權限格外謹慎。
  • **檢查支出者:**確認支出者地址屬於真實協議。
  • **定期清理:**按計劃移除舊授權。
  • **隔離風險:**為新的和不受信任的 DApp 使用單獨的錢包。

使用 Gem Wallet 在 100 多條區塊鏈上使用 DApp - 一款完全開源、自我託管的錢包,將私鑰儲存在你的裝置上且不收集個人資料。下載 Gem Wallet 並連接到與 WalletConnect 相容的應用程式,同時完全掌控你的私鑰。

試試寶石錢包!

支援100多種區塊鏈的自架錢包

App Store App Store 評分 4.9 ★ | Google Play Google Play 評分 4.8 ★
立即下載

常見問題

不會 - 斷開連線會關閉 WalletConnect 會話,但鏈上授權會保持有效,直到執行單獨的撤銷交易。
開啟 Revoke.cash,透過你的公開地址找到授權,透過 WalletConnect 連接 Gem Wallet,並確認將額度設為 0 的交易。
不能 - 一旦額度設為 0,智能合約必須在再次使用代幣前請求新授權。
不會 - 撤銷會阻止未來的支出,但無法撤銷錢包掏空者已執行的交易。
需要 - 撤銷是鏈上交易,需要支付網路手續費(以鏈的原生代幣支付,例如 Ethereum 上的 ETH)。