ARM 開源 AI 驅動的安全程式碼審查工具 Metis
ARM 產品安全團隊開源了 Metis,一個基於代理式 AI 的深度安全程式碼審查框架。它利用 LLM 進行語義理解、RAG 獲取上下文,支援多種語言和外掛擴充套件,旨在檢測複雜程式碼庫中的細微漏洞,減少審查疲勞。
文章情報
要點
- Metis 是 ARM 開源的 AI 安全程式碼審查框架,使用 LLM 和 RAG 進行深度推理。
- 支援 C、C++、Python、Rust、TypeScript 等多種語言,可透過外掛擴充套件。
- 提供索引、程式碼審查、補丁審查、三分類等功能,可整合到 CI/CD 流程。
- 使用 Apache 2.0 許可,支援多種 LLM 後端,包括 OpenAI 和本地模型。
為什麼重要
這條新聞值得關注,因為Metis 是 ARM 開源的 AI 安全程式碼審查框架,使用 LLM 和 RAG 進行深度推理。
技術影響
可能影響模型選型、推理成本、產品能力和評測基準。
ARM 的產品安全團隊近日宣佈開源 Metis,一個基於代理式 AI 的深度安全程式碼審查框架。Metis 以希臘智慧女神命名,旨在幫助工程師發現傳統靜態分析工具難以捕捉的細微漏洞,改善安全編碼實踐,並減輕程式碼審查疲勞。
與傳統的 linter 或靜態分析工具不同,Metis 不依賴硬編碼規則,而是利用大型語言模型(LLM)進行語義理解和推理。透過檢索增強生成(RAG)技術,模型能夠訪問更廣泛的程式碼上下文和相關邏輯,從而提供更準確和可操作的審查建議。
Metis 採用外掛式架構,支援多種程式語言,包括 C、C++、Python、Rust、TypeScript、Go、Solidity、Verilog 等。每種語言都有對應的內建外掛,可實現基於 tree-sitter 的語法分析、流分析或結構分析。此外,使用者可以透過 Setuptools 入口點輕鬆新增對其他語言的支援。
該工具支援多種向量儲存後端,包括預設的 ChromaDB 和用於規模化索引的 PostgreSQL(帶 pgvector 擴充套件)。它提供了互動式 CLI 和非互動式模式,可整合到 CI/CD 管道中。核心命令包括:index(索引程式碼庫)、review_code(全員安全審查)、review_file(單檔案審查)、review_patch(補丁審查)、update(增量更新索引)、ask(問答)和 triage(對 SARIF 結果進行三分類)。
Metis 的配置透過 YAML 檔案進行,可自定義 LLM 提供商、引擎行為、資料庫連線等引數。提示模板也支援定製,以適應更嚴格的審計、隱私審查或合規性要求。該工具還支援自定義提示檔案(.metis.md),用於注入組織特定的安全策略。
在輸出方面,Metis 可生成 SARIF 格式的報告,並具備內部驗證機制以降低誤報率。它支援多種 LLM 服務,包括 OpenAI、vLLM、Ollama、LiteLLM 等,既可使用雲端模型,也可部署本地模型。
Metis 採用 Apache 2.0 許可,已在 GitHub 上獲得超過 560 顆星和 89 個 fork。ARM 團隊表示,Metis 特別適用於大型、複雜或遺留程式碼庫,在這些場景中傳統工具往往力不從心。