NyxFoundation/speca
SPECA: Specification-to-Checklist Agentic Auditing Framework
解決的問題
SPECA 克服了傳統程式碼驅動型安全審計工具依賴已知漏洞模式的限制。它不尋找常見的錯誤,而是專注於實作是否真正符合其預期設計,從而能夠發現人類審計師與基於模式的工具常會錯過的新穎弱點——包括密碼學不變性違規。
工作原理
SPECA 使用代理式流程執行「以規格為錨點」的審計。它從自然語言規格中推導出明確且具類型的安全部分屬性,然後要求實作透過結構化證明嘗試推理來「證明」這些不變性。此過程包含多個階段:
- 規格發現:從規格中提取需求。
- 子圖提取:識別系統中相關部分。
- 屬性生成:基於規格建立安全屬性詞彙表。
- 程式碼解析:將這些屬性對應至實際程式碼。
- 審查:透過門控審查流程驗證發現結果。
適用對象
專為需要驗證複雜實作(如智慧合約或 C/C++ 專案)是否嚴格遵循其技術規格的安全研究人員、漏洞賞金獵人與軟體審計師設計。
主要亮點
- 高檢測率:在 Sherlock Ethereum Fusaka 審計競賽中復現所有已知弱點,並發現開發者確認的新弱點。
- 高精確度:在 RepoAudit C/C++ 基準測試中,使用 Sonnet 4.5 達成 88.9% 的最高公開精確度。
- 可解釋結果:誤報可追溯至特定流程階段,而非模型幻覺導致的黑箱結果。
- 可擴展性:僅需提供設定檔(
BUG_BOUNTY_SCOPE.json與TARGET_INFO.json)即可接入新目標,無需修改核心程式碼。
相關
- 專案
- 專案
- 專案
- 專案
- 專案