DeFi Security 101 - 2023 - 05 - Joran Honig
三句話摘要
講解如何系統化地成為Web 3安全專家,以及如何透過刻意練習和持續學習維持專業水準。 成為Web 3安全專家的核心不是積累信息量,而是透過深度理解基礎知識和刻意練習攻擊者思維,在持續的反饋循環中不斷提煉和應用通用模式。 基礎知識的深度理解
重點整理
重點- 1
基礎知識的深度理解
- 2
成為安全專家所需學習信息的80%涉及基礎知識(EVM運作、操碼、Gas機制),但關鍵不在於知道事實,而在於達到比開發者更深的理解層次。講者引用《有效思考的五大要素》指出,專家與普通人的差別在於深度理解——比如小提琴手透過反覆練習簡單樂曲而精進,對EVM的透徹理解能幫助審計員發現其他人忽略的漏洞。
- 3
攻擊者思維模式的培養
- 4
這不是模糊的「像黑客一樣思考」,而是透過經驗累積培養的具體能力。引用《如何解決它》一書,經驗豐富的數學家能在心中進行「同構映射」,快速看出問題本質。每個審計員發現的漏洞各異,無法構建完美的通用思維模式,但透過觀察他人審計報告中的漏洞、理解其環境因素,可以轉化為自己的工具箱。
- 5
刻意練習與反饋循環
- 6
參與Code Arena、Sherlock等競賽平台審計真實智能合約,建立2週至數月的反饋循環是關鍵。不能只做練習,必須回顧遺漏的問題、找出原因、提煉通用模式——比如觀察YieldFarming清算事件中的環境因素如何使清算容易實施,未來就知道在尋找類似漏洞時該看什麼。
- 7
持續的資訊來源與工具深度學習
- 8
建立兩個信息管道:漏洞賞金報告和事後分析(其他審計員遺漏的漏洞最有價值),以及頂級審計公司審計報告(每週或每月查看並深入研究)。同時要深入理解工具原理(Foundry、Echidna如何運作),而非停留在基礎教程,這樣才能克服工具限制、有效編寫測試屬性。
實用技巧與重點
乾貨- 理論基礎
- 成為安全專家所需信息中,80%為基礎知識
- 推薦書籍:《有效思考的五大要素》、《如何解決它》(上世紀初出版)
- 學習方法
- 嘗試實作:Huff、符號執行引擎、模糊測試器
- 參與平台:Code Arena、Sherlock(競賽模式)
- 刻意練習反饋循環週期:2週至數月
- 工具與技術
- 深度學習工具:Foundry、Echidna(模糊測試器)
- 基礎技術:Flashbots、內存池保障
- 進階方法:基於代理的模擬、經濟建模
- 資訊來源
- 漏洞賞金報告、事後分析
- 審計報告(Code Arena等頂級審計公司)
- 更新頻率:每週或每月查看幾份,選擇深入研究
- 審計思維框架
- 第一問:攻擊者是否可能獲利?
- 第二問:是否能立即獲利?
- 第三問:代碼中是否存在這種可能?
- 第四問:有人是否可能干擾攻擊?
- 創新方法
- 「傳遞任務」(Curated Quests):精選內容 + 具體目標的組合學習
- 二維碼資源:已上線第一份任務供學習者參考
結論
結論“成為Web 3安全專家的核心不是積累信息量,而是透過深度理解基礎知識和刻意練習攻擊者思維,在持續的反饋循環中不斷提煉和應用通用模式。”
完整解析
詳細Iran Honig在這場講座中分享了成為Web 3安全專家的系統化路徑。他將這個過程分為兩階段——成為專家和維持專家地位,並指出這兩階段本質相似,都需要專注相同的要素。
基礎知識與深度理解的重要性
Honig首先強調,成為安全專家所需信息的80%涉及基礎知識,如Solidity和EVM的運作原理。他引用《有效思考的五大要素》一書的觀點,說明專家與普通人的區別在於對知識的深度理解。以小提琴手為例,即使演奏簡單樂曲,也能透過反覆練習達到卓越境界。同理,對EVM或Solidity有極其透徹的理解,能幫助審計員發現其他人可能忽略的漏洞。他建議學習者可透過多種途徑掌握基礎知識——閱讀博客文章、學習GitHub路線圖,甚至嘗試Huff語言、構建符號執行引擎或模糊測試器。關鍵是避免陷入「兔子洞」只專注一個方向,同時也不應該僅停留在淺層理解如「如何部署合約」或「操碼使用多少Gas」。
攻擊者思維模式的培養
第二部分是最吸引人但也最容易被誤解的部分——攻擊者思維模式。Honig澄清這個概念,指出它並非模糊的「像黑客一樣思考」,而是包含兩個層面:既源於天賦,也源於經驗的思維方式。他引用《如何解決它》一書,說明經驗豐富的數學家為何能快速解決複雜問題——他們的大腦能進行「同構映射」,快速將問題的結構映射到已知的解法上。審計員也需要這種能力,但它無法完美構建成通用模式,因為每個人積累經驗的方式不同,這也是為什麼同一份代碼會被不同審計員發現不同漏洞的原因。
要培養這種思維,Honig推薦進行「刻意練習」。參與Code Arena、Sherlock等競賽平台,實際審計智能合約,並建立2週至數月的反饋循環。關鍵是不僅要找到漏洞,更要回顧遺漏的問題、理解原因、提煉通用模式。例如,觀察YieldFarming清算事件時,要理解其中的環境因素如何使清算容易實施——這個模式下次遇到可清算的倉位時就知道該找什麼。通過這種方式,你的攻擊者思維工具箱會逐漸豐富。
持續學習與信息策展
成為安全專家後,維持這個地位的方式與優秀審計員的做法類似——持續探索。Honig建議建立兩個主要信息來源。其一是漏洞賞金報告和事後分析,因為這些是其他審計員和開發者遺漏的漏洞,通常涉及非常關鍵和有趣的問題,值得深入研究以避免下次重複。其二是定期查看頂級審計公司(如Code Arena)的審計報告,每週或每月快速瀏覽幾份,挑選有價值的深入研究。這個做法很重要,因為安全領域總是有新的漏洞類型出現,如果不持續跟進,就容易成為讓這類漏洞在生產環境暴露的第一人。
同時,深入理解工具的工作原理至關重要。不要只停留在Foundry或Echidna的基礎教程層級,而要真正理解這些模糊測試器如何運作。因為所有工具都有局限性,某些情況模糊測試器難以處理,編寫屬性也需特定技巧。只有理解原理,才能有效克服這些限制。
審計實踐中的提問思維
Honig強調,審計和尋找漏洞本質上是提出正確的問題。他以清算漏洞為例演示了審計思維:首先問攻擊者是否可能透過清算獲利,其次確認是否能立即獲利(否則沒安全意義),再次檢查代碼是否存在這種可能,最後問有人是否可能干擾攻擊。這些問題涉及深度基礎知識,如內存池保障和Flashbots的特殊情況。最後,Honig介紹了「傳遞任務」的概念——將精選內容與具體目標結合的短期冒險,比如研究DeFi協議、理解其整合方式、找出邊界情況,最後撰寫相關博客文章,這既有趣又實用,是審計員日常工作的縮影。
關鍵時刻
Pipeline v2帶時間戳的重點,會在逐字稿層級分析上線後產生。目前請先透過原始影片觀看。
事實查核
Pipeline v2說法查證是下一次管線升級的一部分。KeyFrame 只會顯示它真正能驗證的內容。

