這項由騰訊AI實驗室聯(lián)合北京大學、復旦大學、上海交通大學、清華大學、浙江大學、中科院信息工程研究所、新加坡管理大學等多所頂級院校共同完成的重磅研究,于2025年8月25日發(fā)表在arXiv預印本平臺上。這是全球首個專門評估AI代碼生成安全性的倉庫級基準測試,有興趣深入了解的讀者可以通過論文編號arXiv:2508.18106v1訪問完整論文。
當AI開始大規(guī)模參與軟件開發(fā)時,一個令人擔憂的現象悄然浮現:這些聰明的AI助手雖然能寫出看起來完美的代碼,但卻可能無意中埋下了嚴重的安全隱患。就像一位技藝精湛的建筑師能夠設計出美輪美奐的大廈,但如果忽略了防火通道的設計,再華麗的建筑也可能成為安全威脅。
研究團隊發(fā)現,目前AI代碼生成領域存在一個嚴重問題:現有的測試方法就像用放大鏡檢查建筑材料的質量,卻忽略了整座建筑的結構安全。大多數現有基準只關注代碼片段的功能正確性,就像只檢查每塊磚頭是否完好,卻不考慮整體建筑的抗震性能。更糟糕的是,這些測試方法往往依賴不穩(wěn)定的評估手段,就如同用一把時而準確時而偏差的尺子來測量建筑尺寸,結果自然難以信任。
為了解決這個關鍵問題,研究團隊開發(fā)了名為A.S.E(AI Code Generation Security Evaluation)的創(chuàng)新性基準測試系統(tǒng)。這套系統(tǒng)就像一位經驗豐富的建筑安全檢查員,不僅要檢查每個房間的裝修質量,更要評估整座建筑的結構安全、消防系統(tǒng)和抗災能力。
A.S.E基準的獨特之處在于它采用了真實世界的軟件項目作為測試材料。研究團隊精心篩選了120個來自實際開源項目的代碼倉庫,這些項目都曾經歷過真實的安全漏洞攻擊并留下了詳細的修復記錄。就像建筑安全專家會研究那些曾經發(fā)生過事故的建筑案例一樣,這種方法能夠最真實地反映AI在面對復雜現實環(huán)境時的表現。
在構建測試環(huán)境時,研究團隊面臨一個微妙的平衡問題。一方面,他們需要保持代碼的真實性和完整性,確保測試環(huán)境與實際開發(fā)環(huán)境高度相似;另一方面,他們又必須防止AI模型簡單地"背誦"訓練數據中已見過的代碼。為此,團隊采用了巧妙的"語義變換"技術,就像將建筑的外觀裝飾稍作調整,但保持內部結構和功能完全不變,這樣既避免了"作弊"的可能,又保證了測試的有效性。
整個評估過程就像一場全面的建筑安全檢查。當AI模型接到任務時,它需要在一個被故意"破壞"了關鍵安全部件的建筑項目中,準確識別問題并提供完整的修復方案。這不僅要求AI理解代碼的基本功能,更要求它能夠把握整個項目的依賴關系、構建系統(tǒng)和跨文件交互,就如同安全檢查員需要同時了解電路系統(tǒng)、水管布局和結構承重的復雜關系。
為了確保評估結果的可靠性和可重復性,研究團隊開發(fā)了一套基于Docker容器的自動化評估系統(tǒng)。這套系統(tǒng)就像一個標準化的檢驗實驗室,每次測試都在完全相同的環(huán)境中進行,確保結果不受外界因素干擾。更重要的是,評估標準采用了專家定制的規(guī)則而非主觀判斷,就像使用精密儀器而非肉眼觀察來檢測建筑材料的強度。
評估維度涵蓋了三個關鍵方面,就像全面評估一座建筑的安全性需要從多個角度考量。首先是安全性評估,檢查AI生成的代碼是否真正消除了原有漏洞,同時沒有引入新的安全隱患,這占據了總分的60%權重,體現了安全性的核心地位。其次是質量評估,驗證生成的代碼是否能夠正確編譯和運行,占30%權重。最后是穩(wěn)定性評估,考察AI在多次運行中是否能產生一致的結果,占10%權重。
研究團隊對26個當前最先進的大語言模型進行了全面測試,包括18個商業(yè)模型和8個開源模型。測試范圍覆蓋了Claude、GPT、Qwen、DeepSeek等主流AI助手,每個模型都要接受三輪獨立測試以確保結果的穩(wěn)定性。
測試結果令人深思。在這場"建筑安全大考"中,表現最佳的Claude-3.7-Sonnet獲得了63.01的總分,但即便是這位"優(yōu)等生",其安全得分也只有46.72分,遠未達到50分的及格線。這意味著即使是最先進的AI模型,在面對復雜的真實項目安全問題時,仍然存在顯著的能力缺陷。
更有趣的是,研究揭示了一個意外現象:那些標榜"慢思考"、"深度推理"的AI模型,在安全代碼生成方面的表現反而不如采用"快思考"策略的同類產品。就像有時候憑借直覺和經驗快速做出的決策,可能比經過復雜分析得出的結論更加準確。Claude-3.7-Sonnet-Thinking的安全得分為44.65分,略低于其"快思考"版本的46.72分,這一發(fā)現顛覆了人們對"思考時間更長必然結果更好"的傳統(tǒng)認知。
在開源與商業(yè)模型的對比中,研究發(fā)現了令人鼓舞的結果。開源模型Qwen3-235B-A22B-Instruct在安全性方面表現出色,得分達到48.03分,甚至超過了Claude-3.7-Sonnet的46.72分,成為安全性能最強的模型。這表明在AI代碼安全領域,開源模型已經具備了與頂級商業(yè)產品競爭的實力,這對于促進技術普及和降低使用門檻具有重要意義。
從漏洞類型分析來看,不同類型的安全問題對AI模型構成了不同程度的挑戰(zhàn)。路徑遍歷漏洞被證明是最難處理的安全問題,即便是表現最好的模型在這類問題上的得分也不到50分。這類漏洞涉及文件系統(tǒng)訪問控制,需要AI深度理解文件路徑構建和權限管理的復雜邏輯。相比之下,跨站腳本攻擊(XSS)和命令注入等問題雖然同樣復雜,但AI模型的處理能力相對較強。
編程語言的差異也影響著AI的表現。在測試的五種編程語言中,PHP項目占據了50%的比例,這反映了Web開發(fā)中PHP的廣泛應用,同時也暴露了PHP項目中安全漏洞的高發(fā)態(tài)勢。Python、Go、JavaScript和Java項目的分布相對均勻,為跨語言的AI安全能力評估提供了良好基礎。
通過對Claude-3.7-Sonnet的詳細案例分析,研究團隊發(fā)現了AI代碼生成中的一個重要模式。在處理SQL注入和路徑遍歷等復雜安全問題時,AI往往能夠生成語法正確且功能完整的代碼,但這些代碼中仍然存在安全隱患。就像一個技藝嫻熟的木匠能夠制作出外觀精美的家具,但可能忽略了防蟲防潮的處理。這種現象表明,當前的AI模型在代碼正確性和安全性之間存在明顯的能力不平衡。
研究還發(fā)現了架構設計對AI安全性能的影響。采用混合專家模型(MoE)架構的AI系統(tǒng)普遍表現更好,這類系統(tǒng)就像擁有多個專業(yè)領域專家的咨詢團隊,能夠針對不同類型的安全問題調用相應的專業(yè)知識。相比之下,傳統(tǒng)的密集型模型雖然參數眾多,但在處理安全問題的專業(yè)性上略顯不足。
從穩(wěn)定性角度看,一些模型展現出了有趣的特征。GPT-o3系列模型在生成穩(wěn)定性方面表現優(yōu)異,多次運行的結果高度一致,但這種穩(wěn)定性卻伴隨著較低的安全性和代碼質量。這就像一臺精確的機器能夠重復產生相同的產品,但產品本身可能存在設計缺陷。這一發(fā)現提醒我們,在評估AI系統(tǒng)時不能僅僅關注單一維度的表現。
研究團隊通過對比原始測試和變異測試的結果,驗證了A.S.E基準的魯棒性。兩種測試條件下的結果高度一致,這證明了基準測試不會因為代碼的表面變化而產生誤判,同時也確認了測試中不存在數據泄露問題。這種嚴謹性為基準的可信度和實用性提供了強有力的保證。
A.S.E基準的技術創(chuàng)新體現在多個方面。首先,它建立了從真實CVE漏洞到測試任務的完整映射關系,確保每個測試場景都對應實際存在的安全威脅。其次,通過精心設計的語義保持變換技術,在避免數據污染的同時保持了代碼的真實性。最重要的是,整套評估流程實現了完全自動化和容器化,任何研究者都可以在相同條件下重現實驗結果。
這項研究的意義遠不止于提供了一個測試基準。它揭示了當前AI代碼生成技術的真實能力邊界,為AI輔助軟件開發(fā)的安全使用提供了重要指導。研究結果表明,雖然AI在代碼生成方面已經取得了顯著進展,但在安全性這一關鍵維度上仍有很大提升空間。這提醒開發(fā)者在使用AI工具時,必須保持足夠的安全意識和驗證措施。
對于AI模型開發(fā)者而言,這項研究指出了明確的改進方向。提升AI對安全漏洞的識別和修復能力,特別是在復雜的多文件、多模塊項目中的安全推理能力,應當成為未來研發(fā)的重點。同時,如何在保持代碼功能正確性的同時增強安全性,也是一個值得深入探索的技術挑戰(zhàn)。
從更廣闊的視角看,A.S.E基準的發(fā)布標志著AI代碼生成評估進入了一個新的階段。過去那種僅關注功能實現的評估方式已經無法滿足實際應用的需求,安全性評估將成為AI代碼工具發(fā)展的重要驅動力。這種變化反映了整個行業(yè)對AI代碼質量要求的不斷提升,也預示著未來會有更多專注于特定維度的專業(yè)化評估基準出現。
說到底,這項研究就像給AI代碼生成領域安裝了一面"安全鏡子",讓我們清楚地看到了當前技術的真實面貌。雖然鏡子中的影像可能不夠完美,但正是這種客觀的審視才能推動技術向更加安全、可靠的方向發(fā)展。歸根結底,AI工具的價值不僅在于能夠快速生成代碼,更在于能夠生成既正確又安全的代碼。只有在安全性得到充分保障的前提下,AI才能真正成為軟件開發(fā)者的可靠伙伴,而不是潛在的安全隱患制造者。
這項研究為整個行業(yè)提供了一個重要的警示和方向指引。對于正在或計劃使用AI代碼生成工具的開發(fā)者來說,這些發(fā)現強調了人工審查和安全驗證的不可替代性。對于AI技術研發(fā)者而言,如何在保持生成效率的同時大幅提升安全性,將成為下一階段競爭的關鍵戰(zhàn)場。而對于整個軟件行業(yè)來說,建立更加全面、嚴格的AI代碼安全評估標準,已經成為迫在眉睫的現實需求。
Q&A
Q1:A.S.E基準測試是什么?它和傳統(tǒng)的代碼測試有什么不同?
A:A.S.E是全球首個專門評估AI代碼生成安全性的倉庫級基準測試系統(tǒng)。與傳統(tǒng)只關注代碼片段功能的測試不同,A.S.E使用完整的真實項目進行測試,就像檢查整座建筑的安全性而不只是檢查單個房間。它不僅看代碼能否運行,更重要的是檢查代碼是否安全,能否抵御黑客攻擊。
Q2:為什么AI寫的代碼看起來正確但可能不安全?
A:這就像一個技藝精湛的建筑師能設計出美觀的建筑,但可能忽略防火通道一樣。當前AI模型在學習時更多關注代碼的功能實現,對安全性的理解相對不足。研究發(fā)現,即使是最先進的Claude-3.7-Sonnet,雖然代碼質量得分達91.58分,但安全得分只有46.72分,說明AI在代碼正確性和安全性之間存在明顯不平衡。
Q3:哪些AI模型在代碼安全方面表現最好?開源模型靠譜嗎?
A:在綜合表現上,Claude-3.7-Sonnet排名第一,但在純安全性方面,開源模型Qwen3-235B-A22B-Instruct表現最佳,安全得分達48.03分。研究發(fā)現開源模型在安全性方面已經具備與頂級商業(yè)產品競爭的實力,差距并不大。不過需要注意的是,即使是表現最好的模型,安全得分也未達到50分及格線。