DeFi Security 101 2025 - Smart Contract Auditing 101
三句話摘要
三位頂尖 DeFi 安全研究員在史丹佛峰會前夕,分享 101 條智能合約審計實戰心法。 智能合約審計的核心不是工具或技巧的堆疊,而是「深度理解系統後再以攻擊者視角破壞它」的思維紀律,加上持續成長的心態與不妥協的測試文化。 學習策略:深度優先,再擴廣度。 新手應集中攻一個主題(如借貸協議)數月,直到遇到瓶頸再切換,而非分散學習。AI 可加速流程但不能取代思考能力的養成,否則將失去自主分析程式碼的能力。
重點整理
重點- 1
學習策略:深度優先,再擴廣度。 新手應集中攻一個主題(如借貸協議)數月,直到遇到瓶頸再切換,而非分散學習。AI 可加速流程但不能取代思考能力的養成,否則將失去自主分析程式碼的能力。
- 2
審計思維:切換「理解模式」與「破壞模式」。 審計員必須先理解程式碼的設計意圖,再以攻擊者視角問「如果這種情況發生會怎樣」,主動尋找缺失的檢查、邊界條件與隱含假設,而非只看到已存在的東西。
- 3
工具與形式驗證:善用無狀態函式庫加速驗證。 將複雜邏輯抽離為無狀態函式庫後,可用 Certora、Alma 等工具快速形式化驗證數學正確性、提取最大最小值邊界,大幅縮減需人工審查的程式碼範圍。
- 4
職業心態:行動力勝過智力,熱情勝過勤奮。 沒有任何 DeFi 開發者能在不測試的情況下發布安全產品;同理,審計員不能在職業生涯中停止成長。維護心理健康、避免過勞,才能在長期保持審計品質的一致性。
實用技巧與重點
乾貨- 推薦學習資源:War Skill 網站、Cyfrin 的 I've Drive、Black Friday News(訂閱追蹤動態)
- 形式驗證工具:Certora Verifier、Alma、對照組(Control Group)
- 審計平台:Cantina、Sherlock、Tora
- 協作人數效益:3 人協作審計 > 個人審計成果之總和
- 真實案例:Rari Capital 黑客事件—低嚴重性修復導致 8,000 萬美元被盜,教訓:充分理解的低風險漏洞 > 未測試的修復方案
- 另一案例:Euler V1 灰塵餘額(Dust Balance)修復引入更嚴重漏洞
- Rajiv 在 Cantina 從事協作審計,有 25 年安全研究經驗
- 競賽反饋速度:約一週即可看到結果,是他見過最快的學習反饋循環
- 嚴重性矩陣組成:影響(Impact)× 可能性(Likelihood)→ 低/中/高
- 漏洞分類術語:Anomaly(異常)、Bug(一般錯誤)、Vulnerability(漏洞,直接導致資金損失)
- Zik Tour 的 Cantina 頁面呈現了大量 $0、$100、$1,000 獎金的低谷期,才得以換來巔峰成果
- 逐步升級工具鏈:讀程式碼 → 紙上計算 → Python 腳本建圖 → 模糊測試(Fuzzing)→ 全形式驗證
結論
結論“智能合約審計的核心不是工具或技巧的堆疊,而是「深度理解系統後再以攻擊者視角破壞它」的思維紀律,加上持續成長的心態與不妥協的測試文化。”
完整解析
詳細本次活動是 DeFi 安全峰會的前置培訓,於史丹佛大學舉行,起源四年前的小型社群,如今邀請到三位業界領導者:Jocelyn、Alex、Rajiv。活動錄像,演講者被要求重複觀眾問題以確保音質。整場分享以「101 條建議」為骨幹,三人依序各自講述親身淬煉出的審計心法。
Jocelyn 首先強調學習方法的紀律。她觀察到初學者普遍犯兩個錯誤:一是試圖同時學習所有知識,二是閱讀大量報告卻只是瀏覽而未建立思維模型。她建議應對報告分類——表面漏洞、常見漏洞、新型攻擊——並將更多時間投入新型問題的深度理解。在審計技巧上,她提出「理解模式」與「批判模式」的切換:前者問「這段程式碼做什麼」,後者問「如何破壞它」,並以「如果……會怎樣」作為觸發批判思維的提示詞。她也強調軟技能的重要性:書面報告的清晰度直接影響漏洞是否被重視,而對客戶需求的敏銳感知(例如兩天後上線的團隊只需關鍵風險,而非長期建議)則決定審計的實際價值。
Alex 則從認知策略切入。他提出「蝙蝠思維」——對程式碼建立信心地圖,知道哪些部分已充分理解、哪些仍存疑,從而有效分配注意力,而非試圖覆蓋所有可能性。他特別指出,市場上大多數人會在同一批競賽中扎堆,真正的機會往往在人跡罕至之處。他也主張先深入理解系統再嘗試破壞,並將工具(如快速撰寫 Python 腳本畫出函數行為圖)定位為「思考的延伸」而非替代品。關於 AI,他的立場是:AI 適合在審計思路耗盡後作為腦力激盪工具,而非一開始的主力,因為它產出的結果缺乏可操作性。他以 Rari Capital 事件為例,說明「一個被充分理解的低嚴重性錯誤永遠優於未測試的修復方案」,並強調沒有測試的程式碼幾乎必然出問題——他從未見過例外。
Rajiv 從審計的本質與協作維度收尾。他將審計簡化為三個核心:資產(Assets)、行為者(Actors)、行動(Actions),並對應計算機科學中的存取控制矩陣。他強調審計員要學會「看見缺失的東西」——缺失的檢查、缺失的條件——而非只看到存在的程式碼。他對術語的嚴謹性提出批評:業界過度混用 Anomaly、Bug、Vulnerability,導致對風險的認知扭曲;真正的 Vulnerability 是直接造成資金損失的問題,不應與一般 Bug 混為一談。在協作方面,他指出責任分散(Diffusion of Responsibility)是多人審計的隱患,每個成員必須保有個人責任感。他也強調審計絕非萬能,即便是五次、十次審計過的協議仍可能被攻破,因此一致性與嚴謹性才是真正的護城河。
關鍵時刻
Pipeline v2帶時間戳的重點,會在逐字稿層級分析上線後產生。目前請先透過原始影片觀看。
事實查核
Pipeline v2說法查證是下一次管線升級的一部分。KeyFrame 只會顯示它真正能驗證的內容。

