「錢包/金鑰入侵」跟「智能合約漏洞」聽起來很像,實際差在哪裡?
差異在於攻擊的著力點。智能合約漏洞是攻擊者找到程式碼邏輯本身的破綻,讓合約做出設計者沒預期到的行為,這是審計理論上最擅長攔截的一類問題。錢包/金鑰入侵鎖定的完全是另一個層面——金鑰的產生、保管、簽署流程、以及協議賴以驗證資料真偽的基礎設施(例如預言機或跨鏈驗證網路),這些環節即使程式碼本身完全正確,依然可能被攻破,因為問題根本不在程式碼的邏輯裡,而在程式碼「相信」的外部輸入是否可靠。CertiK 的分類之所以把兩者分開統計,正是因為這是兩種需要不同防禦手段的風險。
Kelp DAO 跟 Drift Protocol 這兩起事件間隔這麼近,是巧合還是有共通原因?
從時間點來看是巧合(兩者都發生在 2026 年 4 月),但從攻擊邏輯來看不是巧合,而是同一個產業趨勢下的兩個獨立表現。兩起事件的共通點是:合約程式碼本身都已通過審計、都完全按照設計執行,漏洞都出在審計傳統上較少深入檢查的環節(Kelp DAO 是外部驗證機制,Drift Protocol 是治理功能)。這反映的是攻擊者作為一個群體,正在系統性地把注意力從「程式碼有沒有漏洞」轉向「這個協議的信任假設建立在哪裡、哪裡最脆弱」,兩起事件幾乎同時發生,某種程度上說明這已經是攻擊者社群裡相對成熟、被廣泛認知的攻擊思路,而不是單一團隊的獨立發現。
如果連 CertiK 這樣的權威機構做的審計都可能守不住,是不是代表審計這個產業本身有問題?
這裡有一個容易混淆的地方需要拆開:Kelp DAO 與 Drift Protocol 兩起事件裡,出問題的環節都不在審計團隊實際檢查過的範圍內——換句話說,不是審計團隊「檢查了卻沒發現」,而是這些環節「從一開始就不在這次審計的委託範圍裡」。這比較像是委託範圍設定的問題,而不是審計執行品質的問題。真正該被檢討的,或許不是審計團隊有沒有盡責,而是產業對「審計」這兩個字的理解與期待,是否應該更精確地區分「這次審計具體覆蓋了什麼」,而不是把審計當成一個涵蓋所有風險的萬用保證。
這篇文章的數據對一般散戶使用者來說,實際上該怎麼應用?
最直接的應用是調整判斷優先順序:與其只問「這個協議有沒有審計」,不如具體去查審計報告的範圍摘要,特別留意協議是否高度依賴單一預言機、單一驗證者、或單一多簽簽署群體(這幾類正是近年損失最集中的破口)。如果協議公開資訊裡完全找不到治理機制、金鑰管理流程、或跨鏈驗證方式的說明,這本身就是一個值得留意的警訊——不是因為這代表協議一定不安全,而是因為這代表你沒有足夠資訊去判斷「審計沒涵蓋到的那部分」風險有多大。把資金分散在多個協議、避免把大部位集中在單一依賴點上的協議,也是這份數據給出的一個務實啟示。
「這個專案有審計,應該安全」是加密貨幣圈裡最常見的一句安心咒語。但根據區塊鏈安全公司 CertiK 發布的 2026 上半年(H1 2026)Hack3D 報告,這句咒語在今年上半年被現實反覆打臉。這篇文章想做的,不是重複「審計不能保證絕對安全」這句已經被說到爛的老生常談,而是具體拆解:當審計失去它原本該有的保護力時,問題到底出在哪個環節,以及這個環節近年是怎麼系統性地被攻擊者盯上的。
CertiK 的 H1 2026 報告顯示,整個 Web3 產業在 2026 年上半年因資安事件損失超過 13.1 億美元,橫跨 344 起事件。如果只看事件數量,「程式碼漏洞」(code vulnerability)仍然是最常見的攻擊類型,總計 204 起,但這類事件造成的損失只有約 1.52 億美元,平均每起金額並不算特別大。真正造成毀滅性損失的,是「錢包/金鑰入侵」(wallet compromise)——僅僅 33 起事件,就造成超過 4.44 億美元損失,平均單一事件金額超過 1,300 萬美元,是全年損失金額最高的單一攻擊類別。換句話說,2026 上半年的資安圖像已經清楚地翻轉:攻擊者不再把主力放在挑程式碼的毛病,而是把主力放在攻破人、金鑰管理流程、與簽署基礎設施。
2026 年 4 月,DeFi 收益協議 Kelp DAO 的跨鏈橋接合約遭到攻擊,損失約 2.91 億美元。這個案例特別值得拆解的地方在於:橋接合約與 rsETH 合約此前已經過兩次獨立審計,程式碼本身完全按照設計執行,沒有出現任何邏輯錯誤。攻擊者實際利用的是協議所仰賴的去中心化驗證網路(DVN)的容錯移轉機制——透過操縱這個驗證流程,讓合約誤信一批偽造的跨鏈交易資料為真,合約基於這筆被污染的資料完全「正常」運作,結果就是 116,500 枚 rsETH 被提領一空。這起事件精準示範了審計能證明什麼、不能證明什麼:審計證明的是「這份程式碼寫得符合設計」,但它無法證明「這份程式碼所仰賴的外部驗證機制本身是否可靠」——後者往往超出單次合約審計的範圍。
幾乎在同一時間,永續合約交易協議 Drift Protocol 於 2026 年 4 月 1 日遭到攻擊,損失約 2.85 億美元,這起事件的合約程式碼同樣已經過審計,但漏洞出在通常不在審計範圍內的治理功能(governance function),攻擊者利用這個未被充分審計的環節發動內部人攻擊。這兩起僅相隔數週的事件,合計占了整個 2026 年第二季損失總額的七成以上,也讓 CertiK 在報告中直接點名:損失集中在少數幾起大型事件,反映出攻擊者的注意力已經刻意轉向金鑰管理基礎設施,而不是智能合約程式碼本身。
另一份針對 2014 到 2024 年間全球百大資安損失事件的研究進一步佐證了這個模式:在總計約 107.7 億美元的損失中,經過審計的應用程式僅占損失總額的 10.8%,但同時間,遭利用的應用程式裡只有 20% 曾經接受過專業審計。這兩個數字放在一起讀並不矛盾——它們共同說明:審計確實能有效降低「某一類」風險(程式碼層級的邏輯錯誤),但對於審計範圍外的風險(治理、金鑰管理、外部依賴、營運流程),審計幾乎沒有發言權,而攻擊者正在系統性地把火力集中到後者。
如果你是判斷是否要把資金放進某個協議的使用者,「有沒有審計」這個問題本身已經不夠用了,更有參考價值的問題是:這份審計的範圍具體涵蓋了哪些合約與功能(治理機制是否在內)、審計報告發布至今協議是否更新過程式碼(更新後的部分等於沒被最新一次審計涵蓋)、協議是否仰賴單一驗證者或單一預言機作為關鍵資料來源(這正是 Kelp DAO 案例裡的破口)、以及協議除了審計之外,是否還有持續性的監控、漏洞懸賞計畫作為事後防線。把審計當成一份體檢報告來理解——它證明的是特定時間點、特定範圍內沒有已知問題,而不是這個協議從此永遠安全。攻擊者已經清楚知道審計覆蓋不到的地方在哪裡,使用者的判斷邏輯,也該跟著更新。