登錄
註冊
據 Woofun AI 消息,加密貨幣協議界普遍存在的'已審計'標識正淪爲一種危險的認知陷阱,其背後往往僅指向對特定代碼庫中少量文件在短短一週內的有限審查,而非對資金安全、運營方專業能力或軟件全面檢測的有效背書。這種將局部合規等同於整體安全的錯覺,正在掩蓋系統性的風險敞口。
審計範圍的狹隘性構成了這一認知偏差的核心。許多項目將針對某一個代碼庫中的幾份文件進行的短期審查,錯誤地包裝爲全棧安全證明。這類似於建築物所有者聘請電工檢查電路斷路器箱,卻將所得證書當作整個建築具備防盜功能的證明。
儘管電工的工作可能非常出色,但該證書卻被用來承諾建築物具備門鎖、警報系統等原本不在電工檢查範圍之內的安全功能。後續的修改版本以及實際生產環境中使用的配置還可能需要另行測試。員工的筆記本電腦或雲賬戶屬於另一層需要考慮的因素;簽名設備以及用於說明交易流程的界面同樣需要接受獨立審查。
這種安排屬於正常的職業實踐,因爲有限的審計工作必然有其特定的範圍。而問題則在於,當一份經過嚴格限定的審計報告被髮布到項目網站上後,卻變成了對負責維護該代碼的機構的整體評價。
從缺陷分佈來看,審計發現的內容其實與那些受僱檢查代碼的人所給出的報告並無二致。邏輯缺陷和業務邏輯缺陷佔總缺陷數的 14.6%,代碼質量問題佔 13%,輸入驗證缺陷佔 10%,訪問控制問題緊隨其後,佔比爲 9.8%。大約六分之一的審計發現被評定爲嚴重或高嚴重程度,據此可得出共有 1,439 項嚴重問題以及 2,659 項高嚴重程度的問題存在。審計發現指的是在審查過程中發現的缺陷,而漏洞攻擊損失則記錄的是從實際運行系統中發生的成功盜竊事件。許多缺陷在代碼部署之前就已經得到修復,還有一些存在漏洞的代碼甚至從未進入生產環境。由於這兩組數據所涵蓋的範圍不同,因此其百分比並非轉換率。將兩者放在一起對比,就能清楚地看到其中的差異。
Woofun AI 整理數據顯示,排名靠前的三類審計問題佔了所有已公開審計發現的 37.6%,而私鑰被盜和釣魚攻擊——這兩類問題大多不屬於常規的合同審查範疇——則導致了 43.9% 的資產損失。
如果再將依賴關係相關攻擊和治理層面攻擊納入考量,那麼'人爲因素'這一類別所造成的損失比例則上升至 49.6%。這些故障的根源往往在於人員、操作流程以及第三方系統,而這些都是標準代碼審查工作並未涉及的部分。對於這個 49.6% 的數字,其實也需要加上相應的警示說明。
極端案例進一步揭示了行業盜竊特徵的結構性偏差。在總計 15.1 億美元的釣魚攻擊損失中,Bybit 承擔了 14.3 億美元;在所有相關損失案例中,Bybit 也佔了 18.4% 的份額。有 8 起案件就造成了全部損失的一半,剩下的 210 起案件則分擔了其餘的損失。加密貨幣領域的盜竊案往往存在極端的異常情況,這意味着某一起重大事件就足以改變整個行業的狀況。
不過,這種更廣泛的趨勢並不僅限於 Bybit。在 45 起案件中都出現了私鑰被竊的情況,即便在將釣魚攻擊納入統計之前,它就已經是造成損失的最主要根源。從 2023 年到 2025 年,涉及密鑰、人員、依賴關係或治理層面的攻擊,每年造成的損失佔比都在三分之二到四分之三之間。隨着行業將專業精力集中在代碼審查上,攻擊者們則學會了繞過代碼進行攻擊。智能合約只不過是一座巨大建築中的一個房間而已。用戶通過網站和錢包進入這個房間,而該合約在執行操作之前可能還需要依賴外部提供的價格數據。多籤機制用於管理敏感的資金轉賬,管理員權限則決定了誰有權修改軟件。對於用戶而言,整個系統看起來就像是一個完整的產品。
然而,對於攻擊者來說,這裏卻是一系列由不同人員和使用不同軟件負責守衛的'門'。Bybit 的鏈上組件能夠執行經過妥善簽名的交易。問題的起始點在於開發人員的電腦,他們首先制定了交易提案,隨後通過某個界面向簽名者表明他們正在批准一項常規操作。Bybit 隨後重建了自身的基礎設施,更換了憑證,並致力於讓交易更容易被驗證。這些措施其實都是針對那些已經按照規定正常執行的鏈上代碼所採取的運營和界面方面的修復措施。
預印本研究顯示,在 218 起案件中,有 105 起涉及在相關事件發生之前至少經歷過一次公開審計的協議。這些案件涉及的損失金額約爲 43 億美元,佔所有觀測到損失總額的 55%,這一數字幾乎就是爲了便於被誤用而刻意設定的。它並不能證明審計人員遺漏了價值 43 億美元的具有漏洞的代碼。'此前已審計'這一表述可能指的是另一個版本、另一組合同,或者與最終進入系統的路徑無關的另一次審查。在該組 12 起損失最嚴重的案件中,有 9 起是由於釣魚攻擊、私鑰被盜、依賴關係問題、基礎設施故障或治理層面問題造成的。那些由代碼問題引發的案件也同樣難以簡單下定論。以 Nomad、Euler 等項目爲例,研究中發現,經過審查的代碼與最終用於存儲資金的軟件之間存在後續開發的代碼、被排除在外的路徑以及其他差異。
如果將所有這些問題都歸結爲審計失敗,那就犯了與研究初衷相悖的錯誤。由於這份報告是由審計行業內部人士撰寫的預印本,因此也需要以謹慎的態度來解讀。報告中沒有提及具體的 22 家審計公司,這就無法對各家公司的表現進行評估,而且這些案件數據也僅來自某一家發佈機構的相關檔案。PDF 文件的提取過程進一步增加了信息的模糊性,部分分類工作還是在大語言模型(LLM)的輔助下、在人類監督下完成的。
此外,這份報告還缺乏未經審計的協議的對應數據,因此無法計算出審計實際上提供了多少保護作用。那些有價值的項目往往會更頻繁地聘請審計機構,同時也更容易吸引更有能力的攻擊者,因此它們同時出現在這兩組數據中,根本無法說明二者之間的因果關係。
構建標準化、透明化的安全披露體系是破局關鍵。加密貨幣行業擅長委託某種類型的審查工作,但卻不善於向用戶說明這類審查的覆蓋範圍究竟到何處爲止。審計公司能夠勝任合同審查工作,託管服務提供商也能按照承諾妥善保管私鑰。雲服務提供商、監控公司和漏洞獎勵平臺都能完成各自負責的任務,但從開發人員的筆記本電腦到簽名者的屏幕,再到最終部署的代碼,這一整個流程卻從未經過測試。相關細則表明,雖然面向公衆的審計表述仍將安全性視爲附着在代碼庫上的某種證書,但實際上應用程序纔是整個系統的真正所有者。
審計標識應該少些華麗的辭藻,多些客觀的事實描述。採用標準化的安全標籤,就能讓那些缺失的審查工作顯現出來,尤其是當某個項目已經支付了合同審查費用,卻忽略了與之相關的其他所有工作之時。報告的上方部分應當註明經過審計的代碼提交時間以及審查日期,同時列出所有被審查的合同,以及任何尚未解決的嚴重或高嚴重程度的問題。另一部分則應說明實際部署的字節碼是否與審查過的版本一致。生產環境中的配置也需要標註對應的驗證日期,這樣用戶就能知道該報告是否適用於當前存儲着資金的軟件。
私鑰管理及簽名流程需要單獨進行評估,前端基礎設施和雲訪問權限也需要另作評估。構建系統應當說明代碼版本是否有可能因某臺機器被攻破而被篡改。監控系統和事故應對方案也應當標註日期,因爲隨着工作人員、服務提供商和軟件的不斷變化,這些系統的有效性也會隨之下降。一旦有重要的代碼版本發佈,相關的記錄就應該失效,直到再次經過測試爲止。這樣的格式既有助於審計人員的工作,也有助於用戶瞭解情況。一個項目可以宣稱其智能合約已經過審計,但同時卻隱瞞生產環境部署並未經過驗證、簽名者安全措施也未經過審查的事實。
這樣一來,審計人員就不再需要爲那些被合約拒絕的承諾負責,而該項目也會有動力去完成那些缺失的審查工作。在某個 token 發行時或存款按鈕旁邊出現的'已審計'標識,應當詳細說明究竟審查了哪些內容、哪些內容被排除在外,以及這些審查結果的有效期限有多長。該標識應當明確說明所進行的審查類型,列出所有仍在審查範圍之外的關鍵系統,而不應成爲一種無需任何專業機構背書就隨便做出的承諾。