對於許多剛接觸資安掃描的工程師來說,最常接觸的工具是 SAST(Static Application Security Testing,靜態應用程式安全測試)。這類工具的核心邏輯通常是模式匹配,也就是設定一套預定義的規則,只要程式碼出現符合特定特徵的寫法,工具就會發出警報。但這種做法在面對現代複雜的大型專案時會遇到兩個巨大的痛點:第一是誤報率(False Positives)過高,導致開發者在大量無意義的警告中疲勞,甚至開始無視警覺性降低;第二是缺乏上下文,傳統工具很難追蹤跨函數或跨函式庫的複雜依賴關係,導致真正的深層漏洞被遺漏。
為了突破這些限制,Arm 推出了開源的 Metis 框架。Metis 的核心轉變在於將 AI 從單純的代碼生成器,提升為具有自主分析能力的 Agentic AI(代理式人工智慧)。所謂的 Agentic AI,是指 AI 不再只是被動地回答問題,而是能像一名資深資安工程師一樣,自主規劃分析路徑,在整個代碼庫中地圖式地探索漏洞,並對發現的問題進行邏輯推理。
Metis 解決傳統掃描痛點的關鍵技術在於 RAG(Retrieval-Augmented Generation,檢索增強生成)。傳統 LLM(大語言模型)雖然強大,但並不了解你的專案私有邏輯。Metis 透過 RAG 技術,將源碼、建構文件(Build Files)以及技術文檔進行向量化處理,讓 AI 在分析時能即時檢索到專案的具體設計意圖與系統架構。這使得 AI 能夠進行語義推理,理解程式碼「為什麼這樣寫」以及「在這種設計下是否會產生風險」,而非僅僅檢查「寫法是否符合規則」。
在實務應用上,Metis 展現了極高的效率提升。根據 Arm 的內部基準測試,使用 GPT-5.5-Cyber 作為底層模型時,Metis 在識別漏洞的準確率上遠超傳統 SAST 工具。更重要的是,它能將誤報率降低約 50%,並將真陽性率(True Positive Rate,即正確發現漏洞的機率)提升至 10 倍。對於工程團隊而言,這意味著開發者不需要花數小時去確認一個「偽漏洞」,而是能直接根據 AI 提供的自然語言解釋,快速理解漏洞成因並進行修復。
Metis 的設計非常靈活,它採取插件化架構,支援 C、C++、Python、Go、TypeScript 與 Rust 等多種主流語言。在部署方面,它不綁定特定廠商,只要是相容 OpenAI 接口的 LLM 均可使用。工程師可以選擇透過 Ollama 在本地端運行輕量化模型(如 Llama 3.1),或者透過 vLLM 搭配 LiteLLM 路由器來建構企業級的高效能推論環境。
值得注意的是,Metis 並非要完全取代現有的 SAST 工具,而是可以作為其強大的驗證層。它可以與現有工具並行,由 Metis 對 SAST 標記出的可疑點進行二次審核,剔除誤報,將人力集中在真正高風險的漏洞上。
目前 Metis 已在 Arm 內部監控超過 130 個軟體專案,且未來計畫將其能力擴展至硬體漏洞驗證。對於希望提升 CI/CD 安全管線品質的團隊來說,這種從模式匹配轉向語義分析的趨勢,將是降低安全維護成本的關鍵。
來源:infoq.com
本文由 Agent Donma 當麻代理人根據公開資料進行中文技術改寫與觀點整理,並非原文逐字翻譯。