Drift Protocol 2.85 億美元駭客事件深度剖析:假代幣、Durable Nonce 與治理劫持的完美風暴


2026 年 4 月 1 日,愚人節這天,Solana 上最大的去中心化永續合約交易所 Drift Protocol 遭遇了年度最大 DeFi 駭客攻擊。攻擊者在短短 12 分鐘內抽走約 2.85 億美元的用戶資產,TVL 從 5.5 億美元暴跌至不到 2,400 萬美元,DRIFT 代幣價格一度暴跌逾 40%。

這不是一個簡單的智能合約漏洞。這是一場精心策劃超過三週、結合假代幣製造、預言機操縱、社會工程學與 Solana 原生功能濫用的複合攻擊——區塊鏈安全公司 Elliptic 與 TRM Labs 均指出,攻擊手法與北韓 Lazarus Group 過往操作高度一致。

本文將從技術層面完整拆解這起事件。


一、攻擊全景概覽

在深入細節之前,先建立整體框架。這次攻擊涉及三個主要攻擊向量,彼此環環相扣:

  1. 假代幣製造與預言機操縱:創建 CarbonVote Token(CVT),透過洗售交易建立價格歷史,讓預言機將其視為合法資產
  2. Durable Nonce 預簽名攻擊:利用 Solana 的 durable nonce 機制,預先取得多簽成員的授權簽名,將「簽署時刻」與「執行時刻」分離超過一週
  3. 治理劫持:透過被妥協的管理金鑰,將 CVT 列為合法抵押品、拉高提款上限、最終批量清空金庫

每一個環節獨立來看都不足以造成損害,但當它們被串聯在一起時,形成了一場幾乎無法防禦的攻擊。


二、前置部署:三週的精心準備

2.1 資金來源與代幣製造(3 月 11 日 - 3 月 23 日)

攻擊的鏈上布局始於 3 月 11 日——一筆從 Tornado Cash 提取的 10 ETH。這筆資金在 3 月 12 日凌晨 0:00 GMT(約平壤時間上午 9:00)開始移動,隨後被用於部署 CarbonVote Token(CVT)。

攻擊者的代幣製造流程:

  • 鑄造:鑄造 7.5 億枚 CVT
  • 注入流動性:在 Raydium 上僅以數千美元建立流動性池
  • 洗售交易:透過多個地址反覆交易,人為製造接近 1 美元的價格歷史
  • 建立合法性:持續數天的交易量讓鏈上預言機開始報價,CVT 看起來就像一個「真實」的資產

這個階段的關鍵在於:攻擊者不需要 CVT 真的有價值,只需要預言機認為它有價值。

2.2 Durable Nonce 帳戶準備(3 月 23 日)

3 月 23 日,攻擊者創建了四個 durable nonce 帳戶。其中兩個與 Drift 安全委員會的合法成員相關聯,另外兩個由攻擊者控制。

要理解這步的意義,需要先理解 Solana 的 durable nonce 機制。

Solana 交易的時效性問題

Solana 上每筆交易都包含一個 recent blockhash——本質上是一個時間戳,證明交易是最近建立的。這個 blockhash 在大約 60 到 90 秒後就會過期。如果交易沒有在這個視窗內提交到網路,就會失效。這是一個安全功能,防止舊交易被重播。

Durable Nonce:繞過時效的合法功能

Durable nonce 覆蓋了這個安全功能。它用一個儲存在鏈上特殊帳戶中的固定 nonce(一次性代碼)來替換會過期的 blockhash,讓交易無限期有效——直到有人選擇提交它。

這個功能本身是合法的,設計目的是支持離線簽名、多簽工作流程等場景。但攻擊者將它變成了武器:將簽署的時刻與執行的時刻分離超過一週,創造了一個簽署時的上下文與使用時的上下文完全不匹配的缺口。

2.3 治理遷移:移除最後防線(3 月 27 日)

3 月 27 日,Drift 將其安全委員會遷移到新的 2/5 門檻配置——更關鍵的是,採用了零時間鎖(zero timelock)。

時間鎖是多簽治理中的關鍵安全機制:當管理操作被批准後,需要等待一段時間才能執行,讓社群和監控系統有機會偵測並介入可疑操作。Drift 的這次遷移直接移除了這道防線。

在 2/5 的門檻配置下,攻擊者只需要控制兩個簽名者就能通過任何提案。而他已經在 3 月 23 日取得了這個條件。

2.4 預簽名交易(3 月 31 日)

攻擊執行前一天,攻擊者準備好了所有預簽名交易。這些交易利用 durable nonce 保持有效,等待時機觸發。

多簽成員很可能認為他們簽署的是例行性交易。Durable nonce 的特性使得簽名者在審查交易時,無法判斷這筆交易會在何時、在什麼狀態下被執行。


三、D-Day:12 分鐘的精準打擊

3.1 攻擊觸發

4 月 1 日,在 Drift 執行一筆合法的保險基金測試提款後大約一分鐘,攻擊者提交了預簽名的 durable nonce 交易。

兩筆交易,在 Solana 區塊鏈上僅相隔四個 slot,就完成了:

  1. 建立惡意管理轉移並取得批准
  2. 批准並執行該轉移

數分鐘內,攻擊者取得了 Drift 協議級別的完整控制權。

3.2 金庫清空

取得控制權後,攻擊者立即執行以下操作:

  1. 將 CVT 列為合法抵押品市場:利用 Drift 的 initializeSpotMarket 函數,這個函數允許管理員直接指定 oracle 地址和來源參數。即使是像 CVT 這樣沒有 Pyth 預言機 feed 的代幣,只要有管理權限,就能以任意 oracle 來源上架
  2. 拉高提款上限至極端水準:移除正常情況下會限制大額資金流出的安全護欄
  3. 存入數億枚 CVT 作為抵押品:基於被操縱的預言機價格,這些抵押品看起來價值數億美元
  4. 批量提款:31 筆提款交易在約 12 分鐘內執行完畢,抽走包括 USDC、JLP 等真實資產

3.3 資金轉移

資金被迅速整合並轉換:

  • 被盜資產首先統一兌換為 USDC 和 SOL
  • 部分資金透過 Circle 的 Cross-Chain Transfer Protocol(CCTP)橋接到以太坊
  • 在以太坊上,部分轉換為 ETH
  • 部分資金流經中心化交易所
  • 資金最終分散到多個錢包,增加追蹤難度

整個洗錢模式——包括跨鏈橋接的速度和規模——與 2025 年 2 月 14 億美元 Bybit 駭客事件中觀察到的手法高度一致。


四、技術根因分析

4.1 這不是智能合約漏洞

必須強調:這次攻擊沒有利用任何智能合約程式碼漏洞。這是近幾個月來第三起不涉及程式碼漏洞的重大 DeFi 攻擊。攻擊的核心是:

  • 社會工程學(誘導多簽成員預簽交易)
  • 治理架構的系統性弱點
  • 合法功能的武器化(durable nonce)

4.2 管理金鑰的過大權限

Drift 的管理金鑰具有過度集中的權限「攻擊面」。一個被妥協的簽名者就能:

  • 重寫全協議的風險參數
  • 指定任意預言機來源
  • 上架新的抵押品市場
  • 修改提款限制
  • 停用安全防護

當這些權限全部集中在一個管理角色上時,攻陷這個角色等同於攻陷整個協議。

4.3 預言機設計的脆弱性

Drift 的 initializeSpotMarket 函數允許管理員直接指定 oracle 地址和來源參數,這意味著:

  • 不需要經過去中心化預言機(如 Pyth)的驗證流程
  • 管理員可以為任何代幣設定任意價格來源
  • 沒有對新上架抵押品的流動性深度或市場成熟度進行自動化檢查

4.4 零時間鎖的致命決策

從安全角度來看,3 月 27 日的治理遷移是最關鍵的失誤。將時間鎖設為零意味著:

  • 惡意操作可以被即時執行
  • 社群沒有偵測視窗
  • 監控系統沒有反應時間
  • 任何管理操作一旦通過多簽門檻就立即生效

這本質上把多簽從「安全閘門」降級為「橡皮圖章」。


五、歸因分析:北韓 Lazarus Group

Elliptic 和 TRM Labs 的分析均指向北韓國家級駭客組織。主要證據包括:

  1. 鏈上行為模式:資金啟動時間(平壤時間工作時段)、跨鏈橋接速度和規模、洗錢路徑,均與此前 DPRK 歸因操作一致
  2. 歷史關聯:攻擊手法與 2025 年 2 月 Bybit 14 億美元駭客事件高度相似
  3. 統計數據:如果歸因確認,這將是 2026 年追蹤到的第 18 起 DPRK 相關操作,今年累計被盜金額已超過 3 億美元

值得注意的是,朝鮮駭客組織的攻擊焦點正在從「找程式碼漏洞」轉向「找人的漏洞」。社會工程學和操作安全失敗,正成為 DeFi 協議資金被盜的主要途徑。


六、事件後續

即時反應

  • Drift 立即暫停所有存提款功能
  • 團隊確認正與安全合作夥伴和生態系統參與者合作調查
  • 4 月 3 日推送軟體修補程式
  • 4 月 5 日共同創辦人舉行直播 Q&A,坦承許多重要細節仍然未知

賠償現況

截至 4 月 5 日:

  • 沒有公布全面的賠償計劃
  • 4 月 6 日 Drift 與 DeFi 保險提供者會面討論可能的補償方案
  • 尚未確認任何被盜資金的追回
  • 追回工作因資金已經跨鏈分散而極為複雜

ZachXBT 對 Circle 的批評

鏈上偵探 ZachXBT 公開批評 Circle 在 USDC 處理上的反應速度,認為如果 Circle 能更快凍結相關 USDC,部分損失可能得以避免。這再次引發了穩定幣發行商在安全事件中應承擔何種角色的爭論。


七、DeFi 安全啟示

7.1 審計管理金鑰,不只是程式碼

CoinDesk 的一篇評論文章標題精準概括了這個教訓:「Audit admin keys, not just code」。當前的 DeFi 安全審計過度聚焦於智能合約程式碼本身,而忽略了:

  • 管理金鑰的權限邊界
  • 多簽配置的安全性
  • 時間鎖機制的存在與合理性
  • 治理遷移的風險評估

7.2 Durable Nonce 是雙面刃

Durable nonce 是 Solana 的合法功能,為離線簽名和多簽工作流程提供便利。但這次攻擊揭示了它在多簽治理中的系統性風險:

  • 簽名者無法控制交易的執行時機
  • 預簽名交易可以在完全不同的上下文中被執行
  • 多簽成員需要更嚴格的交易審查流程

7.3 分層防禦的重要性

如果以下任何一個防禦層存在,這次攻擊都可能被阻止或減緩:

  • 時間鎖:給社群偵測和反應的時間視窗
  • 抵押品上架的額外審查:要求新抵押品通過流動性深度、市場成熟度等自動化檢查
  • 提款限制的硬性上限:即使管理員也無法在短時間內突破的提款上限
  • 預言機多源驗證:要求抵押品至少通過兩個獨立預言機來源的價格驗證
  • 管理操作的分級授權:高風險操作(如上架新抵押品、修改提款限制)需要更高門檻的批准

7.4 「人」是最大的攻擊面

技術再完善,最終操作權還是在人手上。DeFi 協議需要正視:

  • 多簽成員的操作安全培訓
  • 社會工程學防禦演練
  • 簽名請求的獨立驗證流程
  • 對「看起來例行」的交易保持警覺

八、結語

Drift Protocol 的 2.85 億美元駭客事件不是一個「程式碼有 bug」的故事。它是一個關於信任、治理設計、與人性弱點的故事。

攻擊者花了三週時間布局,製造了一個看起來合法的代幣,利用了一個設計用於便利性的 Solana 功能,誘導了多簽成員在不知情的情況下簽署授權,然後在移除了最後安全防線的一刻,用 12 分鐘完成了收割。

對整個 DeFi 產業而言,這次事件的教訓很清楚:程式碼審計是必要的,但遠遠不夠。 治理架構、管理金鑰權限、時間鎖機制、預言機設計、操作安全——這些「非程式碼」的安全層同樣需要被嚴肅對待。

下一個 2.85 億美元的漏洞,可能不在程式碼裡,而在你的治理流程中。


本文資料來源包括 Elliptic、TRM Labs、CoinDesk、CCN、The Hacker News、Unchained Crypto、CryptoTimes 等機構的報導與分析。