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