跳到正文

智慧帳戶所有者與恢復風險

稽核誰能控制智慧帳戶、恢復如何更換所有者、適用哪些延遲與取消權,以及模組或升級是否形成隱藏的接管路徑。

更新於

僅供教育參考,不構成投資、法律或安全建議。恢復或設定錯誤可能轉移智慧帳戶控制權,或使帳戶永久鎖定。

直接答案

智慧帳戶由部署在該帳戶上的授權邏輯控制,不一定由單一私鑰控制。所有者或驗證器可以批准一般操作,而監護人、恢復模組、執行器或升級管理員可能另有路徑,可更換所有者或執行交易。

恢復功能降低單一金鑰遺失造成帳戶無法使用的機率,卻也增加了一個接管攻擊面。應稽核每條能夠授權執行、變更驗證器或所有者、安裝模組、升級程式碼、取消恢復或最終完成恢復的路徑。「所有者」與「監護人」等介面標籤不能證明合約中的實際權限。

將結果記錄為權限表:準確的鏈上地址、角色、可呼叫操作、門檻、延遲、取消權限、到期條件、支出範圍、升級權限及獨立控制域。每次設定變更後,以及該帳戶存在的每條鏈上,都要重新核對。

運作方式

  1. 識別帳戶與程式碼。 核對鏈 ID 和帳戶地址,再確定實作合約、代理或信標、工廠及版本。對 ERC-1967 代理應讀取實作、信標與管理員儲存槽,而不是相信介面徽標。
  2. 列出授權路徑。 讀取所有者與門檻、ERC-4337 驗證器、ERC-7579 驗證器、執行器、掛鉤和回退處理器、Safe 類模組與守衛、工作階段金鑰、恢復合約,以及任何緊急或升級管理員。執行器或 Safe 模組可能繞過一般所有者門檻執行。
  3. 解析恢復狀態機。 確定誰能提名替代所有者、如何計算監護人批准、批准是否到期、延遲何時開始、誰能取消、誰能最終完成,以及恢復被替換或重複發起時會發生什麼。不要假設所有「社交恢復」合約都採用相同順序。
  4. 測試獨立性與可用性。 若多個地址由同一裝置、個人、雲端帳戶、密碼庫、託管人或管理員控制,它們便不獨立。確認發生一個預期故障後仍可達到門檻,同時不讓單一控制域擁有足夠接管權。
  5. 審查設定權限。 確定誰能增刪監護人、驗證器、執行器、掛鉤、模組或回退處理器;變更門檻或延遲;暫停取消;或升級帳戶與恢復程式碼。只有當延遲和取消路徑不能被其他角色繞過時,時間鎖才有意義。
  6. 監控並驗證。 訂閱或獨立輪詢恢復、所有者、模組、門檻、實作與管理員變更。任何操作後都要解碼交易,並在正確鏈上核對回執、事件、儲存與最終所有者集合;介面顯示成功並不充分。

範例

假設帳戶所有者為 O,有三名監護人 G1G2G3。任意 2-of-3 名監護人可以提議新所有者 N;隨後開始 24-hour 延遲;O 可在延遲期間取消;延遲到期後任何人都能最終完成。恢復模組無需 O 批准最終交易,即可呼叫帳戶的所有者變更函式。

標籤看似代表分散式恢復,但 G1G2 是備份到同一雲端帳戶的兩個應用程式。雲端憑證一旦洩漏,單一攻擊者便取得實際的 2-of-3 門檻。攻擊者提議 N;若監控或取消在 24 hours 內失敗,即使 O 的私鑰從未被盜,最終完成仍會轉移控制權。

因此,稽核應將 G1G2 標記為一個控制域,核對恢復模組地址與程式碼,在未受損裝置上測試取消,確認哪個事件啟動延遲,並檢查升級管理員能否立即替換模組。除非實作提供有文件且可安全回復的測試流程,否則不要在持有資產的帳戶上執行真實恢復測試。

風險與控制

  • 監護人相關性: 使用真正獨立的裝置、憑證、人員或託管人;測試聯絡與恢復程序時不要集中助記詞。
  • 模組或執行器權限過大: 檢查已安裝程式碼及準確可呼叫範圍。依文件路徑移除閒置模組,並在鏈上驗證移除結果。
  • 門檻薄弱: 同時評估抗接管性與可用性。簽署者共用一個控制域時,名義上較高的門檻無濟於事;無法達到的門檻則會鎖定帳戶。
  • 缺少延遲或可繞過: 在鏈上核對延遲、啟動延遲的事件、誰能縮短延遲,以及每條能立即更換所有者的路徑。
  • 取消無效: 演練發現與取消流程;在需要時保留原生 Gas 與獨立提交路徑;確認取消本身需要舊所有者、法定人數還是另一角色。
  • 升級接管: 監控實作、信標與管理員變化。能無延遲升級的管理員應視為有能力改寫所有已記錄恢復規則。
  • 惡意或陳舊介面: 獨立核對鏈、帳戶、模組、擬議所有者、門檻、延遲與交易 calldata。絕不要向「恢復」服務透露助記詞或私鑰。
  • 虛假完成: 取消或最終完成後核對回執與最終儲存狀態。確認預期所有者和模組已生效,且不需要的提案無法繼續執行。

若出現未經授權的恢復,停止簽署無關請求,並保存提案 ID、交易雜湊、calldata、區塊、模組地址與目前狀態。在未受損裝置上透過獨立 RPC 核實警報;若合約規定的取消路徑仍可用,應使用該路徑,並監控最終完成、升級、模組變更與資產轉移。若控制權可能已遺失,應依預先編寫的事件回應方案行動,只聯絡經過認證的專案方或託管方;臨時起意的轉移可能被搶先交易,或暴露目標地址。

常見誤解

  • 「只有所有者帳戶能轉移資產。」 驗證器、執行器、模組、恢復合約或升級後的程式碼可能提供額外執行路徑。
  • 「三名監護人就是三個獨立方。」 合約只計算地址的有效批准,無法識別共用裝置、備份或管理員。
  • 24-hour 延遲保證有時間回應。」 還必須具備監控、可用的取消權限、Gas 和交易打包條件,另一條特權路徑也可能繞過延遲。
  • 「移除監護人就終止了其存取權。」 應確認最終鏈上設定,並檢查與該方相關的其他角色、模組、工作階段金鑰與待處理恢復。
  • 「客服可以恢復任何智慧帳戶。」 只有鏈上編碼或預先設定的權限才能變更自我託管帳戶。沒有有效的所有者或恢復路徑時,存取權可能永久遺失。

相關主題

來源

導覽

搜尋知識庫...