AI News HubLIVE
站內改寫1 分鐘閱讀

我用Claude和Codex構建了一個AI漏洞掃描器。它失敗了

本文介紹了Janitor——一個基於Rust的確定性安全工具,用於在程式碼合併前檢測漏洞。它採用形式化方法、零複製執行和雙PQC認證,能在8GB筆記本上6.7秒內掃描350萬行程式碼的PR。與基於雲的AI安全方案不同,Janitor在本地執行,不洩露程式碼,提供數學可證明的安全保障。

來源Hacker News AI作者: GhrammR

我嘗試用Claude和Codex構建一個AI漏洞掃描器,但最終失敗了。然而,在這個探索過程中,我發現了一個真正有效的工具——Janitor。

Janitor是一個用Rust編寫的結構防火牆,專為程式碼倉庫的Pull Request(PR)設計。它不是傳統的linter,而是一個確定性的防禦層,在每次合併前執行。它使用樹狀語法解析(tree-sitter)生成抽象語法樹(AST),結合IFDS過程間汙點分析、Kani證明的布林謂詞和Z3 SMT漏洞見證合成,從結構上驗證程式碼意圖。效能方面,Janitor在350萬行程式碼的Godot引擎上,僅需6.7秒完成全PR掃描,峰值記憶體58MB,零崩潰。它透過記憶體對映檔案實現零複製執行,整個分析過程中不產生任何網路呼叫。

Janitor的核心特性包括雙PQC認證(ML-DSA-65和SLH-DSA),確保鏈上託管;殭屍依賴檢測,利用BLAKE3布隆過濾器識別AI生成的虛假包名;以及決策膠囊,每次阻斷決策都被密封為可離線驗證的證明。此外,Janitor還提供了“氛圍檢查門”(Vibe-Check Gate),透過壓縮率檢測AI生成的“氛圍編碼”PR,並配有零向量碰撞護盾和淨負豁免機制,有效消除誤報。

與市場的AI安全方案不同,Janitor的設計哲學是確定性和本地化。它不需要雲連線,不將程式碼上傳至第三方叢集,因此適合IL5/IL6級別的高安全環境。它還支援WebAssembly(Wasm)自定義規則,允許使用者帶入自己的策略模組。在供應鏈安全方面,Janitor實現了SLSA Level 4可重現構建,並自動為每次乾淨合併簽發CycloneDX v1.6 CBOM加密證明。對於離線環境,Janitor提供空氣間隙情報傳輸膠囊,可以透過物理方式傳遞加密簽名包,無需網路即可更新威脅情報。

總體而言,Janitor提供了一個數學可證明的安全方案,而不是基於機率的AI評分。對於需要嚴格供應鏈安全的企業,這無疑是一個值得關注的選擇。