Searching Outside the Streetlight, Yuchen Lin - DeFi Security Summit 2022
三句話摘要
區塊鏈無抵押貸款協議如何通過漏洞注入與統計估計,系統地評估代碼審查和審計的效果。 通過主動注入漏洞並用統計模型估計遺漏數,可以將審計質量從定性判斷轉為定量決策,從而更客觀地判斷何時安全發布、如何優化檢測策略。 路燈效應的核心警示:傳統做法是編寫代碼→送審計→修復問題→上線祈禱,但 Trust Token 發現即使通過審計,仍每隔幾個月才發現用戶獎勵計算錯誤、Gas 費問題等漏洞。審計人員的「綠燈」並不能保證代碼安全,因此必須找到衡量審計質量本身的方法。
重點整理
重點- 1
路燈效應的核心警示:傳統做法是編寫代碼→送審計→修復問題→上線祈禱,但 Trust Token 發現即使通過審計,仍每隔幾個月才發現用戶獎勵計算錯誤、Gas 費問題等漏洞。審計人員的「綠燈」並不能保證代碼安全,因此必須找到衡量審計質量本身的方法。
- 2
用漏洞注入測試審計人員:在代碼審查時故意保留 7~8 個已知漏洞不修復,並向審計人員發送包含真假漏洞混合的哈希值清單。如果審計人員發現大部分注入的漏洞,說明他們的嚴格度至少與內部審查相當;若發現率極低,則應更換審計員。
- 3
捕捉-重捕捉統計模型估計剩餘漏洞:基於生態學的種群估計方法,若注入 9 個漏洞、審計發現 10 個且 8 個與注入的重疊(80% 重疊率),則估計總漏洞數 ≈ 9÷0.8 ≈ 11 個。低重疊率(如 10% 只有 1 個重疊)則表示漏洞遠多於發現數,應暫停發布。
- 4
基準測試與持續改進:使用維恩圖記錄各種策略(代碼審查、審計員 A、審計員 B、漏洞賞金計劃、形式驗證)的發現重疊,用 Chapman 估計器計算真實漏洞總數。據此評估各策略的相對有效性,並對表現不佳的審計員或賞金計劃進行調整或替換。
實用技巧與重點
乾貨- 具體數字與案例
- Trust Token 已發放貸款:超過 17 億美元
- 2021 年審計周期的實際數據:
- 注入漏洞:7 個(代碼審查引入)
- 審計員 A 發現:8 個漏洞,其中 3 個與注入漏洞重疊
- 審計員 B 發現:1 個相關漏洞,0 個注入漏洞→被淘汰
- 形式驗證團隊:21 個總發現中的 17 個
- 漏洞賞金計劃:表現糟糕
- Chapman 估計器估計總漏洞數:約 23 個;已發現 21 個;估計遺漏 2 個
- 方法論
- 漏洞注入流程:在私有倉庫記錄漏洞描述→進行哈希和鹽加密→向審計人員發送哈希清單(10 個哈希中 7~8 個為真實注入、2~3 個為虛假占位符)
- 統計模型:Lincoln-Petersen 估計器(簡單易理解但有偏差)→Chapman 估計器或 Jackknife 估計器(更準確)
- 並行運行:同一審計範圍、同一提交哈希值下同時進行代碼審查、外部審計、形式驗證、漏洞賞金計劃
- 工具與術語
- 捕捉-重捕捉(Capture-Recapture)模型
- Chapman 估計器、Lincoln-Petersen 估計器、Jackknife 估計器
- 形式驗證(Formal Verification)
- 維恩圖分析多策略重疊
結論
結論“通過主動注入漏洞並用統計模型估計遺漏數,可以將審計質量從定性判斷轉為定量決策,從而更客觀地判斷何時安全發布、如何優化檢測策略。”
完整解析
詳細Trust Token 在 2021 年開發無抵押貸款協議 TruFi 的過程中,遇到了一個根本性的問題:傳統的「代碼→審計→上線」流程無法真正保證安全。即使獲得審計人員的綠燈,他們仍然每隔幾個月就會發現漏洞——用戶獎勵計算錯誤導致資金錯配、不必要的 Gas 費浪費,甚至接近破壞存儲的嚴重問題。雖然幸運地未曾因嚴重漏洞而損失用戶資金,但這清晰地說明審計報告的「無重大問題」結論並不能信任。
關鍵的轉變在於意識到一個根本性問題:審計人員自己的工作質量無法衡量。Ichan 用「路燈效應」的寓言開場——警察在路燈下尋找失物,不是因為東西丟在那裡,而僅因那裡有光。同樣地,審計人員只能發現他們有工具去發現的東西。為了測試審計人員的真實能力,Trust Token 採取了大膽的策略:主動在代碼中注入已知漏洞。他們在代碼審查過程中故意保留 7 到 8 個漏洞不修復,並將其哈希加密後與混合其中的虛假漏洞哈希一起發送給審計人員。如果審計人員發現了大多數注入的漏洞,說明他們至少與內部審查一樣嚴格;若發現率極低,則明確表示該審計員的工作不夠可靠,應該尋找替代。
但這還不夠。Trust Token 進一步引入了一個來自生態學的統計方法——捕捉-重捕捉模型。基本邏輯是:若已知注入 9 個漏洞,外部審計發現了 10 個漏洞,其中 8 個與注入的漏洞重疊(80% 的發現率),假設這個 80% 的比率可推廣到整個代碼庫,那麼真實漏洞總數估計為 9÷0.8 ≈ 11 個。這意味著幾乎所有漏洞都已被捕獲,可以發布。反之,如果只有 1 個重疊(10% 發現率),估計總漏洞數將高達 90 個,明確信號是應該暫停發布、加強測試。
在 2021 年的實際應用中,Trust Token 使用 Chapman 估計器(比 Lincoln-Petersen 更準確)分析維恩圖數據,發現多個檢測策略的重疊情況。他們同時運行代碼審查、兩家外部審計公司、形式驗證團隊和漏洞賞金計劃,所有基於同一審計範圍和提交哈希。最終估計約 23 個漏洞應存在,實際發現 21 個,推估仍有 2 個未發現。基於這些數據,他們決定某些審計員繼續合作(如審計員 A),某些替換(如審計員 B 只發現 1 個相關漏洞且 0 個注入漏洞),漏洞賞金計劃得到改進,而形式驗證團隊因發現 21 個中的 17 個獲得信任提升。
關鍵時刻
Pipeline v2帶時間戳的重點,會在逐字稿層級分析上線後產生。目前請先透過原始影片觀看。
事實查核
Pipeline v2說法查證是下一次管線升級的一部分。KeyFrame 只會顯示它真正能驗證的內容。

