KeyFrame內部研究專用

The challenges of non-custodial embedded wallets | Thibault de Lacheze-Murel (Dfns)

DeFi Security Summit - DSS·1月21日週二·12 min英文

三句話摘要

嵌入式錢包的運作原理與其身份驗證令牌洩露所導致的私鑰安全漏洞。 嵌入式錢包的 auth token cookie 若存放在 DApp 域下,等同於將私鑰的安全性降至「DApp 基礎設施最薄弱的一環」,應改用 WebAuthn / PassKey 公鑰方案並解耦憑證與私鑰。 恢復流程是核心風險點:當用戶換設備時,系統必須透過 DApp 的 auth token 觸發密鑰刷新(key refresh),但這也意味著 DApp 域下的 cookie 就等同於存取私鑰的萬能鑰匙。

重點整理

重點
  • 1

    恢復流程是核心風險點:當用戶換設備時,系統必須透過 DApp 的 auth token 觸發密鑰刷新(key refresh),但這也意味著 DApp 域下的 cookie 就等同於存取私鑰的萬能鑰匙。

  • 2

    DApp 在不知情下成為托管方:由於 auth token 存在 DApp 的基礎設施中,DApp 理論上可在不通知用戶的情況下重建其錢包,破壞了「非托管」的承諾。

  • 3

    OTP 共享密鑰不應用於身份驗證:OTP 的本質是雙方共享密鑰,意味著嵌入式錢包提供商本身就能偽造登入,無法事後舉證是否遭濫用,必須改用公鑰方案。

  • 4

    鏈下基礎設施的安全審計長期被忽視:目前安全審計社群大多聚焦智能合約,但所有與區塊鏈互動的鏈下系統同樣存在大量漏洞,是值得投入的研究方向。

實用技巧與重點

乾貨
  • 技術協議:Shamir Secret Sharing(SSS)、Multi-Party Computation(MPC)
  • 三方架構:Client(瀏覽器)、DApp、Embedded Wallet Provider
  • 漏洞機制:auth token 以 cookie 形式存於 DApp 域 → 可直接觸發 key refresh → 還原私鑰
  • PoC 工具:一支腳本,輸入 auth token → 對錢包提供商 API 發請求 → 輸出私鑰
  • 安全測試步驟:開 DevTools → Application 選項卡 → 清除嵌入式錢包提供商的 Local Storage 與 Cookie → 刷新頁面 → 若錢包自動加載無需任何用戶輸入 = 不安全
  • 推薦認證方案:WebAuthn、PassKey(基於公鑰密碼學)
  • 已在生產環境發現多個漏洞,皆向提供商報告,部分已部署緩解措施,但仍有不安全實作存在

結論

結論

嵌入式錢包的 auth token cookie 若存放在 DApp 域下,等同於將私鑰的安全性降至「DApp 基礎設施最薄弱的一環」,應改用 WebAuthn / PassKey 公鑰方案並解耦憑證與私鑰。

完整解析

詳細

嵌入式錢包(Embedded Wallet)的出現,是為了解決 Web3 onboarding 的摩擦問題。傳統上,用戶必須自行保管助記詞,這對一般人來說門檻極高;嵌入式錢包改以電子郵件、指紋或面部辨識來驗身,並在底層使用 Shamir Secret Sharing 或多方計算(MPC)將私鑰拆分成多個「共享片段」儲存於不同地方,在不降低所有權保障的前提下,盡可能貼近 Web2 的使用體驗。

然而,恢復流程的設計卻暗藏風險。當用戶換設備時,儲存在舊設備瀏覽器本地的密鑰共享片段會消失,因此系統必須提供一套恢復路徑。目前生產環境常見的做法是:在創建錢包時,嵌入式錢包提供商會將一個 auth token 以 cookie 的形式存放在 DApp 的域下。當用戶換裝置後,只要向 DApp 重新驗身,DApp 便會取出這個 token,用它向錢包提供商觸發密鑰刷新(key refresh),重新生成共享片段,恢復對錢包的存取。

問題的核心在於:這個 auth token 本身就足以完成整個還原流程。演講者撰寫了一段 PoC 腳本,僅憑用戶向 DApp 驗身後拿到的 auth token,就能對錢包提供商發出 API 請求,最終取得鏈上私鑰。更棘手的是,DApp 域下的 cookie 難以被嚴格管控,可能散落在 Datadog、日誌系統、CDN 等各種後端基礎設施中,任何能讀取該 cookie 的內部人員或攻擊者,都具備竊取私鑰的能力。這代表 DApp 在用戶毫不知情的情況下,實際上成了托管方。

針對這些問題,演講者提出兩條改進路線:第一,全面採用公鑰密碼學進行身份驗證,例如 WebAuthn 或 PassKey,確保只有用戶的裝置持有私鑰,提供商僅保存公鑰,無法獨自偽造授權;OTP 這類基於共享密鑰的方案則應被淘汰,因為提供商與用戶共享同一秘密,一旦被濫用無從舉證。第二,應讓驗身憑證(credential)與鏈上私鑰在安全層面解耦,避免「能登入 DApp」等同於「能還原私鑰」這種危險的等價關係。演講者也呼籲安全審計社群將目光從智能合約延伸至鏈下基礎設施,因為與區塊鏈互動的所有鏈下系統同樣存在大量未被重視的漏洞。

關鍵時刻

Pipeline v2

帶時間戳的重點,會在逐字稿層級分析上線後產生。目前請先透過原始影片觀看。

事實查核

Pipeline v2

說法查證是下一次管線升級的一部分。KeyFrame 只會顯示它真正能驗證的內容。

更多「Web3 安全」的內容

IF YOU OWN XRP YOU NEED TO SEE THIS PRICE MANIPULATION! ⚠️
8 min
Web3 安全英文8月14日

IF YOU OWN XRP YOU NEED TO SEE THIS PRICE MANIPULATION! ⚠️

Zach Humphries

  • 機構支撐的積極意義:價格操縱常被視為負面,但Ripple掌握大量XRP供應與escrow,在熊市期間提高價格下限,實際上替零售投資者鎖定了低風險的積累區間,這不是剝削而是市場穩定機制。
  • 歷史模式驗證:2024年7月至11月XRP在50美分附近橫盤整理,低點觸及42美分(wick),高點65美分;隨後11月5日至12月5日單月上漲456%,年底到2025年初累計漲幅534%,這個歷史周期正在1美元價位重演。
  • 比特幣聯動邏輯:講者在4-5月就預測「如果比特幣跌至60k以下,XRP會跌至1美元或更低」,此預測精準應驗,反映出熊市中兩者的明確連動關係。
Minimmit, Multimmit and the New Consensus Frontier with Patrick O'Grady
72 min
Web3 安全英文PODCAST8月5日

Minimmit, Multimmit and the New Consensus Frontier with Patrick O'Grady

Zero Knowledge

  • 反向 Linux 架構:Commonware 刻意暴露棧各層級控制,讓開發者自訂執行環境、共識機制、密碼學實現,而非像 Cosmos SDK 只允許應用層以上定制。2-3 個月能組裝一條定製鏈,代價是額外深度但回報是長期維護成本降低及效能優化彈性。
  • 容錯假設的典範轉移:Alpine Glow(Solana 2025)實現單輪投票定終的關鍵是將容錯預算分離為獨立的 Byzantine 和 Crash 容限。傳統系統把 33% 當一個整體預算;新模型允許 20% 惡意加 20% 崩潰,打破了 PBFT 理論界線,釋放單輪設計空間。
  • Minimet 與 Multimet 的遞進:Minimet 是 5F+1 設定下的乾淨構造,實現更短視圖延遲;Multimet(剛發布)進一步允許並行 mini-commits 且驗證者可推翻領導者審查,使用者交易在全球分布式網路達到 200-300 毫秒端到端定終。
Private Information Retrieval (PIR) with Alex Hoover
64 min
Web3 安全英文PODCAST7月29日

Private Information Retrieval (PIR) with Alex Hoover

Zero Knowledge

  • PIR 保護的是訪問模式,不是資料本身
  • PIR 與加密不同,它關注的是隱藏「客戶端查詢了什麼」,而非「資料是否加密」。在公開資料庫(如區塊鏈)上,客戶端可以在不洩露查詢對象給伺服器的情況下檢索特定條目,解決了輕量級客戶端的隱私和防審查問題。
  • 客戶端預處理方案是突破瓶頸的關鍵