Scale Your DeFi Research with Static Analysis
三句話摘要
用靜態程式碼分析工具(Glider)對整條區塊鏈進行漏洞掃描,突破傳統智慧合約審計的逐專案侷限。 靜態程式碼分析將智慧合約安全研究從「逐專案人工審計」升級為「全鏈自動化掃描」,一個查詢就能持續發現鏈上反覆出現的已知漏洞模式。 第四種研究模式:傳統審計以專案為粒度,靜態分析讓研究者改以「整條鏈」為粒度思考,一次查詢可覆蓋鏈上所有合約,大幅提升覆蓋率。
重點整理
重點- 1
第四種研究模式:傳統審計以專案為粒度,靜態分析讓研究者改以「整條鏈」為粒度思考,一次查詢可覆蓋鏈上所有合約,大幅提升覆蓋率。
- 2
靜態分析的本質是模式查詢:撰寫一段程式(Rust 或 Python),描述想找的漏洞模式,工具就能自動掃描——不需要手動逐行閱讀程式碼,查詢可反覆執行。
- 3
資料流分析(Data Flow Analysis)是核心能力:以追蹤 `get amounts out` 回傳值流向為例,工具能自動判斷該值是否進入 `swap` 函數,這正是人工審計最耗時的步驟。
- 4
漏洞仍在持續出現:即使 Uniswap v2 現貨價格操縱是已知多年的老漏洞,查詢結果顯示兩週前仍有新部署的易受攻擊合約——說明鏈上規模化掃描有持續必要性。
實用技巧與重點
乾貨- 靜態分析工具清單:Aderan、Slither、Glider(講者日常使用)
- Glider 支援查詢對象:函數定義、合約繼承關係、狀態變數、全域變數、局部變數、資料流
- Glider 資料庫範圍:以太坊鏈上所有已驗證合約,持續更新至最新部署
- 演示漏洞:Uniswap v2 spot price manipulation(現貨價格操縱)
- 查詢邏輯:找出呼叫 `get amounts out` 的指令 → 追蹤回傳值資料流 → 確認是否流入 `swap` 函數
- 當前活動:Glider 靜態分析查詢競賽,提交查詢即可獲得報酬,由以太坊基金會贊助
結論
結論“靜態程式碼分析將智慧合約安全研究從「逐專案人工審計」升級為「全鏈自動化掃描」,一個查詢就能持續發現鏈上反覆出現的已知漏洞模式。”
完整解析
詳細智慧合約安全研究長期以來依賴三種模式:漏洞賞金計畫、私人審計與審計競賽。這三種模式的共同特點是以「單一專案」為審計範圍,對於識別某個 DeFi 協議本身的邏輯漏洞效果不錯,但對於「同一類漏洞廣泛存在於鏈上數千個合約」這種情境,卻完全沒有可擴展性。講者 Jason 提出第四種模式:以整條鏈為研究單位,透過靜態程式碼分析自動化地掃描漏洞。
靜態程式碼分析的核心概念是「查詢程式碼模式」。研究者只需撰寫一段描述漏洞特徵的查詢程式,工具便會自動在目標合約集合中尋找符合模式的程式碼,整個過程完全程式化,無需手動逐行閱讀。目前生態中可用的工具包括 Aderan、Slither 以及講者主要使用的 Glider。其中 Glider 最大的優勢在於其資料庫已收錄以太坊鏈上所有已驗證合約,查詢可隨時對全鏈執行,並持續涵蓋新部署的合約。
演示中,Jason 以 Uniswap v2 的現貨價格操縱漏洞為例,說明 Glider 的實際威力。這個漏洞的核心是:合約呼叫 `get amounts out` 函數取得價格,再將該價格直接用於 `swap` 交易,未經任何 TWAP(時間加權平均價格)保護。傳統做法是人工追蹤 `get amounts out` 的回傳值資料流,費時費力。透過 Glider IDE,只需幾行查詢:找出呼叫 `get amounts out` 的指令,然後以資料流分析追蹤其回傳值是否流入 `swap` 函數,即可自動識別所有易受攻擊的合約。演示結果顯示,就連兩週前新部署的合約仍存在此漏洞,驗證了鏈上規模化掃描的持續價值。
目前以太坊基金會正贊助 Glider 靜態分析查詢競賽,研究者可提交查詢並獲得報酬,是將個人漏洞研究轉化為可重複使用資產的具體機會。
關鍵時刻
Pipeline v2帶時間戳的重點,會在逐字稿層級分析上線後產生。目前請先透過原始影片觀看。
事實查核
Pipeline v2說法查證是下一次管線升級的一部分。KeyFrame 只會顯示它真正能驗證的內容。

