這項由葡萄牙網路安全公司Ethiack與美國聖母大學聯合開展的研究,以預印本形式發布於2026年7月,論文編號為arXiv:2605.10834v2,有興趣深入了解的讀者可通過該編號在arXiv平台查詢完整論文。
說起滲透測試,很多人可能感到陌生。簡單說,滲透測試就是僱傭一批"職業黑客",讓他們在獲得授權的情況下,像真正的攻擊者一樣嘗試入侵某家公司的系統,從而找出安全漏洞,幫助企業在真實攻擊發生之前修補它們。這件事歷來依賴經驗豐富的安全專家,費時費力,成本高昂。近年來,人工智慧技術突飛猛進,一批AI滲透測試系統應運而生,宣稱能自主發現系統漏洞。然而問題隨之而來:我們怎麼知道這些AI究竟好不好用?考核它們的"試卷",是否真的能反映現實戰場的複雜程度?
這項研究的核心動機,恰恰就是回答這個棘手的問題。研究團隊發現,當前對AI滲透測試系統的評測,大多停留在一種叫做"奪旗賽"(Capture The Flag)的競技模式里——就好比考察一名廚師,只要求他炒出一道指定菜餚,卻從不關心他能否獨立設計菜單、應對複雜宴席。這種考核方式固然方便評分,卻與真實工作場景相去甚遠。研究團隊因此提出了一套全新的評估框架,試圖讓"考題"真正貼近現實,讓測試成績真正能預測系統在真實網路攻防中的表現。
一、現有考題為何不夠用
要理解這項研究的價值,首先得弄清現有評估方法的局限性在哪裡。
現有的AI滲透測試評估方法,大體可以分成三類。第一類最為常見,就是前面提到的奪旗賽模式。研究人員在一個封閉環境裡預先藏好一個"旗幟"(通常是一段特殊字符串),然後讓AI去找。找到了就算成功,找不到就算失敗。這種方式的好處是評分極為簡單,但它的問題也很明顯——真實的滲透測試根本不是"只有一個正確答案"的填空題。現實中的系統往往存在幾十甚至上百個安全漏洞,分布在不同的功能模組、不同的攻擊面上,測試人員需要像偵探一樣四處摸排,而不是奔向一個預定終點。
第二類評估方法稍微進步了一些,例如有研究團隊設計了要求AI實現遠程代碼執行的場景,或者引入了干擾項、多步驟攻擊鏈等元素,讓測試環境更接近真實系統。但這些方法的本質仍然是單一目標——AI只需要完成一件預定任務,而不需要在一片"漏洞密林"中自主判斷從哪裡入手、優先處理哪些威脅。第三類方法則藉助真實公開漏洞(CVE)來構建測試場景,雖然漏洞本身是真實的,但每個目標依舊只對應一個預設攻擊路徑,沒有給AI留下真正開放性的探索空間。
更重要的是,現有評估方法幾乎無一例外地將評分視為一次性任務,忽視了幾個在現實中至關重要的因素:AI系統是隨機性的,同一個AI在不同時刻運行可能得出截然不同的結果;滲透測試在現實中往往是反覆進行、持續積累的,而非一錘定音;運行成本和時間效率同樣是選擇工具時的關鍵考量。這些被忽略的維度,導致實驗室里評分漂亮的系統,到了真實業務環境中可能表現平平。
二、新的評估框架是如何設計的
研究團隊提出的新框架,核心理念是把評估的焦點從"完成了沒有"轉向"發現了什麼漏洞、發現得準不準、發現得全不全"。這就好比從考察一名偵探"有沒有抓到指定嫌疑人",轉變為評估他"在整個案發現場找到了多少有效線索,找錯了多少,還有多少遺漏"。
整個框架建立在四根支柱之上。第一,測試目標必須足夠複雜,包含多個漏洞、多種攻擊面,要求AI真正具備探索、規劃和策略決策的能力。第二,用一套結構化的流程把AI的發現與預先整理的漏洞清單進行語義層面的比對,而不是要求字面上的精確匹配。第三,把漏洞清單視為一個持續更新的"活文件",而非一次性的標準答案。第四,通過多次重複運行來應對AI系統天然的隨機性,並且既評估單次表現,也評估多次累積的綜合效果。
具體操作上,評估分為三個步驟,像三道關卡一樣依次把控質量。第一關是建立"標準答案"文件:研究人員對每個測試目標,預先整理出所有已知漏洞的檔案,每條記錄包含漏洞名稱、類別、描述和補充資訊。這份檔案也同時劃定了評估範圍,比如只關注高危漏洞,或者只關注某幾類攻擊方式。
第二關是語義匹配:AI系統完成測試後,會輸出一份"發現報告",列出它認為存在的安全問題。評估系統使用另一個AI(充當"評判官")來逐一比對AI的發現與標準答案中的每條記錄,判斷兩者描述的是否同一個漏洞。這裡有一個很重要的設計細節——允許一對多匹配,也就是說,AI的一條發現可以同時被認為"可能對應"標準答案中的好幾條記錄。這種寬鬆設計是有意為之,因為AI的描述方式和標準答案的描述方式可能大相徑庭,強行要求精確匹配會冤枉很多正確答案。
第三關是二分圖解析(Bipartite Resolution)。經過第二關之後,會出現這樣的情況:一個AI發現可能對應多條標準答案,多個AI發現可能對應同一條標準答案。這時候就需要一個數學工具來做最終裁決。研究團隊採用了一種叫做"匈牙利算法"的經典方法,它能夠在所有可能的配對方案中找出最優的一對一匹配結果,確保每條標準漏洞最多只被計一次,同時避免AI重複報告同一漏洞卻被當作多次成功發現。
三、如何給AI的表現評分
有了這套配對機制,評分就變得有依據了。評估框架借鑑了資訊檢索領域常用的幾個指標,但把它們遷移到了安全測試場景中。
準確率衡量的是AI報告的問題中有多少是真實漏洞,就好比一個偵探報告了十個可疑點,其中有幾個真的與案件有關。召回率衡量的是AI找到了多少比例的已知漏洞,就好比案發現場一共有二十個線索,偵探發現了其中幾個。綜合這兩個維度的F1分數和更側重準確率的F0.5分數,則提供了平衡視角。重複發現計數專門記錄AI重複上報同一個漏洞的次數,這在實際使用中非常有價值,因為大量重複報告會淹沒真正有價值的發現,讓安全團隊疲於應付噪音。
嚴重性得分是另一個特色指標。每條已知漏洞都有一個行業通用的CVSS評分,反映其危險程度。研究團隊將這個分數轉化為積分制:評分在0.1到3.9的低危漏洞值3分,4.0到6.9的中危漏洞值15分,7.0到8.9的高危漏洞值30分,9.0到10.0的嚴重漏洞值50分。AI發現了哪些漏洞,就累加對應的分數。這個設計體現了一種實用主義邏輯:發現一個可能導致系統完全淪陷的嚴重漏洞,價值遠超發現十個無關痛癢的小問題。
CWE覆蓋率則反映AI發現的漏洞種類有多廣,CWE是業界對軟體弱點類型的標準化分類體系。一個優秀的滲透測試工具應該能識別多種不同類型的安全問題,而不只是擅長找某一類漏洞。
在這套評分體系之上,研究團隊還特別強調了"標準答案"必須持續維護。這是因為真實系統中的漏洞永遠無法被完全窮舉,當AI報告了一個標準答案里沒有的漏洞時,有可能不是AI犯了錯,而是最初整理標準答案的人遺漏了這個漏洞。因此,安全專家應當定期審查AI報告中未被匹配的發現,驗證其是否為真實漏洞,並在確認後將其補充進標準答案文件。隨著這個循環不斷進行,標準答案會越來越完整,評分也會越來越公正。
四、如何應對AI系統天生的"隨機性"
這是整個框架中最容易被忽略、卻又至關重要的一個設計考量。AI滲透測試系統本質上依賴大型語言模型,而語言模型的輸出天然存在隨機波動,即使面對完全相同的目標,不同時刻的運行結果也可能差異顯著。打個比方,同一個偵探在不同狀態下調查同一個案件,可能會注意到不同的細節,得出不同的結論。
正因如此,單次測試結果根本無法代表一個AI系統的真實水平。研究團隊建議對每個測試場景進行多次重複運行,並且同時匯報每次運行成績的平均值和標準差,後者反映了系統表現的穩定程度。
在統計比較兩個系統時,研究團隊推薦使用Welch's t檢驗,這是一種不要求兩組數據方差相等的統計方法,非常適合AI系統這種可能高度不穩定的場景。然而,當重複次數較少時,統計檢驗的威力會大幅下降——即使兩個系統的表現差異很大,也可能因為數據量不足而無法達到統計顯著性。這就好比你只拋了三次硬幣,即使全部正面朝上,也很難據此下結論說這枚硬幣有問題。
因此,研究團隊建議同時報告Cohen's d這個效應量指標。Cohen's d衡量的是兩個系統性能差異的"絕對量級",與樣本量無關。一般來說,d大於0.8就被認為是"大效應",意味著差異在實際使用中非常顯著。將統計p值和Cohen's d結合起來看,即使在只有少量重複實驗的情況下,也能對兩個系統的差異做出更全面的判斷——p值告訴你差異是否足夠可靠,Cohen's d告訴你差異是否足夠重要。
五、累積評估為何不可缺少
除了關注單次運行表現,研究團隊還特別設計了累積評估維度,這是整個框架中最具現實意義的創新之一。
在真實的網路安全工作中,滲透測試往往不是做一次就結束。安全團隊可能每隔幾個月就對同一個系統做一輪測試,發現的問題修復之後,再做下一輪。AI的隨機性在這裡反而成了一種優勢:不同時刻的運行可能會探索不同的路徑,發現不同的漏洞,累積下來的發現總量可能遠超任何單次運行。
累積評估的方法很直觀:把多次運行的所有發現合併在一起,去除重複項,然後整體評分。通過對比單次平均成績與多次累積成績,可以觀察到幾個重要的現象。有些系統在單次運行中表現平平,但多次累積後召回率大幅提升,說明它的"隨機探索"具有很強的互補性,適合反覆使用。有些系統則恰恰相反,多次累積後準確率急劇下降,因為它每次運行都會產生大量重複的誤報,噪音越積越多,反而讓結果越來越難用。
還有一個特別值得關注的現象:研究團隊發現,通過分析每次運行中被多次發現的漏洞與僅在某次特定運行中被發現的漏洞的比例,可以判斷系統的"隨機探索質量"。如果一個AI每次都能找到大量新漏洞,說明它的隨機性是有價值的多樣性;如果每次都在重複發現同樣的東西,說明它的隨機性不過是低效的抖動。
六、效率同樣是不可忽視的維度
研究團隊還明確將運行效率納入評估框架,這在學術研究中頗為少見,但在實際部署中極為重要。
一個能發現二十個漏洞、但要花三天時間、耗費數千美元API費用的系統,和一個發現十八個漏洞、只需兩小時、花費幾十美元的系統,對用戶來說價值截然不同。評估框架要求記錄每次運行的總耗時和總費用,並且鼓勵追蹤"漏洞發現隨時間的累積曲線"——也就是說,不只看最終發現了多少,還要看這些發現是在運行早期密集出現,還是均勻分布,抑或是絕大多數出現在運行末期。如果發現曲線在運行前半段就已趨於平緩,意味著後續的大量計算資源投入並沒有帶來多少額外收益,可以考慮縮短運行時間來降低成本。
此外,框架還提供了一種數據驅動的方法來精簡測試套件。在進行疊代開發、消融實驗或小規模改進時,對全套測試目標做完整評估往往代價高昂。研究團隊建議利用歷史評估數據,在有限預算約束下,篩選出一個與完整套件評分結論高度一致的小型子集。篩選標準以Pearson相關係數為主,Spearman相關係數為輔,確保子集不僅能正確排列系統的相對優劣,還能保留性能差異的實際量級。但研究團隊也特別提醒,這類精簡子集只能作為日常快速驗證的代理,不能取代周期性的完整評估。
七、用三款真實AI系統驗證這套框架
理論固然重要,但這套框架能否真正工作?研究團隊用實際實驗給出了回答。
他們選擇了三款代表性的AI滲透測試系統:開源的Strix和PentAGI,以及Anthropic公司的通用智能編程助手Claude Code。每款系統分別配合四種大型語言模型後端運行:Claude Sonnet 4.6、GPT-5.4、DeepSeek v3.1以及Qwen 3.6 Plus。測試目標選取了三個開源的存在漏洞的應用程式,其中vuln-bank包含60個已知漏洞,paygoat包含28個,xben-090包含20個,三個目標合計108個經安全研究員精心標註的漏洞。每種系統與模型的組合都在每個目標上重複運行三次,以捕捉隨機性帶來的波動。
在正式評估之前,研究團隊首先驗證了AI評判官自身的可靠性。他們從實驗中篩選出50個案例,其中25個經人工確認為真實漏洞,25個為誤報,然後讓四款不同的AI分別扮演評判官,與人工結論對比。結果顯示,GPT-4.5 Mini和Gemini 3 Flash表現最為可靠,前者在三次重複測試中平均只誤判約一個案例,因此被選定為正式評判官。
正式評估的結果揭示了許多僅憑奪旗賽評分無法發現的資訊。Claude Code在F1綜合分數、漏洞發現總量和運行效率上均表現最佳,同時CWE覆蓋率最廣,說明它能識別最多種類的安全問題。然而Claude Code也產生了相當數量的重複發現,且準確率(81.24%)在高報量的情況下意味著會產生大量誤報,在大規模部署中可能給安全團隊帶來噪音負擔。
PentAGI與Claude Sonnet搭配時發現了最高嚴重性得分的漏洞,但代價是最高的運行費用、最長的掃描時間,以及最多的誤報數量。Strix的策略則相反,它產生的誤報數量最少,輸出結果最為"乾淨",但代價是漏洞發現總量也最少,召回率偏低。
在累積評估中,這些差異變得更加戲劇化。Strix與Claude Sonnet的組合在三次累積後召回率幾乎翻倍,而準確率保持相對穩定,最終在累積F0.5分數上超越了所有其他配置,成為"多輪評估"場景下的最佳選擇。PentAGI與Claude Sonnet的組合則出現了一個反直覺的現象:累積後的F1分數低於三次單次運行的平均分數,因為每次運行都產生了大量新的誤報,累積越多、噪音越大、準確率越低。
各個獨立目標的表現也揭示了截然不同的側面。xben-090雖然僅包含20個漏洞,卻成了最嚴苛的精準度壓力測試,幾乎所有系統在這個目標上都產生了大比例的誤報。vuln-bank憑藉60個漏洞的規模,成為測試覆蓋廣度的理想場所,即使表現最優秀的系統在單次運行中也只能覆蓋其中的部分漏洞。paygoat則有一個特別有趣的現象:三次累積後,各系統之間的性能差距明顯收窄,一些在單次運行中差距懸殊的系統在累積模式下表現趨於相近。
時間維度上的追蹤同樣提供了洞察。以Claude Code為例,在vuln-bank目標上,三次獨立運行的漏洞發現曲線都呈現出近乎線性的穩定增長,說明它在整個運行周期內保持著穩定的探索節奏。而在paygoat目標上,某次運行的誤報在後半段急劇累積,即使此時真實漏洞發現已趨於飽和,說明該次運行陷入了低效的"過度探索"狀態,是一個縮短運行時間、減少不必要消耗的信號。
從統計對比來看,claude-code-sonnet在F1上比strix-sonnet高出16.79個百分點,p值為0.0141,Cohen's d達到3.504,這是一個既統計顯著又實際意義重大的差距。pentagi-sonnet與strix-sonnet的比較則體現了精確率與召回率之間的經典取捨:前者的召回率高出17.28個百分點,但準確率低了25.70個百分點,兩個指標的效應量幾乎對稱,說明這兩個系統本質上代表了截然不同的策略選擇,而非簡單的優劣之分。
歸根結底,這項研究的價值在於它指出了一件聽起來簡單卻長期被忽視的事:評估AI滲透測試系統的方式本身,就是這個領域能否健康發展的關鍵。一套不夠真實的考題,會讓錯誤的系統脫穎而出,讓正確的系統默默無聞。而當AI安全工具被部署在金融、醫療等真正關乎社會穩定的基礎設施上時,評估方法的失誤代價將不再只是學術上的遺憾,而可能是實實在在的安全漏洞。
研究團隊已將專家標註的漏洞地面真值數據集和評估框架代碼全部開放,任何研究者或實踐者都可以在此基礎上進一步探索。研究的局限性也值得坦誠面對:團隊沒有提出新的測試目標集合,實驗中也沒有嘗試帶跨輪記憶的連續評估場景,安全方面的行為評估(例如AI是否會避免執行破壞性操作)也尚未納入框架。這些都是下一步工作的清晰方向。
對普通人而言,這項研究提醒我們:下次看到某個AI安全工具聲稱在某項測試中取得了多少高分,不妨多問一句——這個測試題,真的是真實世界的題目嗎?
Q&A
Q1:AI滲透測試評估框架的"二分圖解析"是什麼意思,為什麼需要它?
A:在評估AI滲透測試系統時,AI的一個發現可能對應多條已知漏洞,多個發現也可能對應同一條漏洞。為了避免重複計分,研究團隊引入了數學上的二分圖最優匹配方法(使用匈牙利算法),確保每條已知漏洞最多只被成功計一次,每個AI發現也只能匹配一條漏洞,從而得到可靠的真實陽性計數,防止重複報告虛抬成績。
Q2:為什麼單次測試不足以評估AI滲透測試系統的水平?
A:AI滲透測試系統依賴大型語言模型,其輸出天然存在隨機波動,同一系統在不同時刻面對相同目標可能產生差異顯著的結果。單次測試只是眾多可能結果中的一個快照,無法反映系統的平均水平和穩定性。研究團隊建議多次重複運行,匯報均值與標準差,並同時使用Welch's t檢驗和Cohen's d效應量,以便在樣本量有限的情況下也能對系統差異做出較為全面的判斷。
Q3:累積評估和單次評估有什麼本質區別,為什麼累積評估更接近真實使用場景?
A:單次評估衡量一次運行能發現多少漏洞,而累積評估將多次獨立運行的發現合併去重後統一評分,模擬安全團隊對同一系統反覆進行滲透測試的真實工作模式。由於不同次運行可能探索不同路徑,累積發現總量往往超過單次最優表現,能更真實地反映AI工具在持續使用中的價值。但研究也發現,對於每次都產生大量誤報的系統,累積反而會導致噪音越積越多,綜合評分下降,這是選擇工具時不可忽視的實際風險。






