安謀(Arm)將旗下一款名為梅蒂斯(Metis)的智能體式AI安全框架正式開(kāi)源。這套系統(tǒng)被設(shè)計(jì)用來(lái)自主發(fā)現(xiàn)軟件中那些極難捕捉的復(fù)雜漏洞,它不依賴(lài)傳統(tǒng)的模式匹配,而是通過(guò)語(yǔ)義推理去分析跨越組件、文件乃至函數(shù)之間的深層依賴(lài)關(guān)系,最后用開(kāi)發(fā)者能一眼看懂的自然語(yǔ)言把問(wèn)題講清楚。
現(xiàn)代代碼庫(kù)的規(guī)模與結(jié)構(gòu)越來(lái)越龐大,不同模塊間互相調(diào)用、層層嵌套,傳統(tǒng)靜態(tài)應(yīng)用安全測(cè)試(SAST)工具在面對(duì)這種局面時(shí),常常顯得力不從心。安謀也指出,當(dāng)漏洞的觸發(fā)路徑跨越多個(gè)函數(shù)邊界、牽涉到不同的第三方庫(kù)時(shí),基于固定規(guī)則和模式匹配的檢測(cè)方式不僅容易漏報(bào),還會(huì)產(chǎn)生大量讓工程師頭疼的誤報(bào)。梅蒂斯的思路不是寫(xiě)死規(guī)則,而是讓一個(gè)“智能體式”的AI來(lái)理解代碼意圖,再在整個(gè)代碼庫(kù)的尺度上尋找那些需要綜合判斷的安全問(wèn)題。
![]()
這個(gè)框架的核心工作流借助了檢索增強(qiáng)生成(RAG)技術(shù),把一個(gè)大語(yǔ)言模型和項(xiàng)目自身的上下文——包括源代碼、構(gòu)建文件、設(shè)計(jì)文檔——緊緊綁定在一起。這樣一來(lái),模型在分析問(wèn)題時(shí),腦子里就不只是孤立的代碼片段,而是包含了系統(tǒng)的設(shè)計(jì)意圖、數(shù)據(jù)流向,以及組件之間應(yīng)該如何配合的清晰圖景。安謀表示,這種“帶著項(xiàng)目專(zhuān)屬知識(shí)”去讀代碼的方式,讓梅蒂斯在處理整個(gè)代碼倉(cāng)庫(kù)、單個(gè)文件、拉取請(qǐng)求甚至最近的代碼變更時(shí),都能做到比主流靜態(tài)分析工具高出10倍的真正檢出率,同時(shí)把誤報(bào)數(shù)量壓低了約50%。
誤報(bào)對(duì)于工程團(tuán)隊(duì)來(lái)說(shuō),不只是多花幾分鐘去確認(rèn)那么簡(jiǎn)單。每一次誤報(bào)都會(huì)消耗審查精力,反復(fù)出現(xiàn)的假警報(bào)還會(huì)悄悄削弱開(kāi)發(fā)者對(duì)自動(dòng)化工具的信任,讓真正重要的告警更容易被忽略。把誤報(bào)砍掉一半,意味著團(tuán)隊(duì)能把評(píng)審和驗(yàn)證的時(shí)間集中到真正有風(fēng)險(xiǎn)的缺陷上,補(bǔ)救的速度更快,浪費(fèi)在無(wú)效追蹤上的情緒成本也大大降低。梅蒂斯還可以和其他外部SAST工具并行工作,專(zhuān)門(mén)負(fù)責(zé)驗(yàn)證這些工具吐出的告警,幫它們“去偽存真”。在安謀內(nèi)部以GPT-5.5-Cyber作為基座模型的基準(zhǔn)測(cè)試?yán)铮返偎棺R(shí)別漏洞的準(zhǔn)確率達(dá)到了98%;作為對(duì)比,傳統(tǒng)SAST工具在同一批測(cè)試上的準(zhǔn)確率僅有6%。
好用的檢測(cè)工具不能只扔出一個(gè)告警編號(hào)就完事。梅蒂斯在標(biāo)記漏洞的同時(shí),會(huì)生成一份可操作的摘要說(shuō)明,把漏洞的成因、可能被利用的路徑、修復(fù)的優(yōu)先級(jí)都講明白,讓開(kāi)發(fā)和安全工程師能快速進(jìn)入修補(bǔ)邏輯,而不是先花時(shí)間研究“這個(gè)告警到底在說(shuō)什么”。這一層“解釋即交付”的設(shè)計(jì),在需要跨團(tuán)隊(duì)協(xié)作的大型項(xiàng)目里,價(jià)值會(huì)被進(jìn)一步放大。
在技術(shù)選型上,梅蒂斯刻意保持了開(kāi)放和輕量的姿態(tài)。它沒(méi)有把自己鎖在某一家模型供應(yīng)商上,只要是兼容OpenAI接口的大語(yǔ)言模型都可以接入;支持的編程語(yǔ)言也覆蓋了C、C++、Python、Go、TypeScript、Rust等主流選項(xiàng)。其插件式架構(gòu)允許團(tuán)隊(duì)針對(duì)自己用的編程語(yǔ)言、偏好的模型,甚至是自定義的分析提示詞做快速擴(kuò)展,不需要改動(dòng)框架內(nèi)核。
部署方式同樣靈活。梅蒂斯同時(shí)支持Ollama和vLLM兩條路線,所有配置集中在一個(gè)metis.yaml文件中。如果想在本地用Ollama跑一個(gè)Llama 3.1模型,只需在llm_provider部分填上服務(wù)地址、模型名,以及嵌入模型參數(shù)即可——比如代碼和文檔的嵌入模型都設(shè)為nomic-embed-text:v1.5。對(duì)于走vLLM部署的場(chǎng)景,安謀推薦把LiteLLM架在LLM提供商的前端,再把梅蒂斯的請(qǐng)求路由過(guò)去,這樣既能復(fù)用高性能推理服務(wù),又能保持接口的一致與穩(wěn)定。
從整個(gè)框架的設(shè)計(jì)邏輯往回看,梅蒂斯試圖解決的是一個(gè)老問(wèn)題的新形態(tài):當(dāng)代碼復(fù)雜到人類(lèi)難以逐行審查、而自動(dòng)化工具又只能看到局部規(guī)則時(shí),如何讓機(jī)器用一種接近系統(tǒng)理解的方式去“讀懂”代碼。它把大模型推理、項(xiàng)目級(jí)知識(shí)檢索和可擴(kuò)展的插件體系揉在一起,目標(biāo)不是多發(fā)現(xiàn)幾個(gè)模式重復(fù)的簡(jiǎn)單漏洞,而是去抓住那些需要跨文件、跨語(yǔ)境的深層缺陷。減少誤報(bào)又不是簡(jiǎn)單地設(shè)置更嚴(yán)格的告警閾值,而是讓模型在理解了系統(tǒng)應(yīng)該怎樣工作之后,再判斷什么是不應(yīng)該發(fā)生的。
98%的準(zhǔn)確率和6%的傳統(tǒng)基線放在一塊,反差足夠醒目,但更值得留意的是這個(gè)數(shù)字背后的意味:當(dāng)基座模型的能力足夠強(qiáng),項(xiàng)目專(zhuān)屬的上下文同步得足夠細(xì),靜態(tài)分析這個(gè)領(lǐng)域可能不再只是規(guī)則數(shù)量的比拼,而是變成了對(duì)系統(tǒng)理解的深度競(jìng)賽。梅蒂斯開(kāi)源的不僅是代碼,還有一種用AI重新審視代碼安全的方法——讓漏洞檢測(cè)從“找花紋”進(jìn)化到“讀意圖”。
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶(hù)上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.