![]()
新智元報(bào)道
編輯:傾傾
【新智元導(dǎo)讀】伯克利團(tuán)隊(duì)造了個(gè)專門作弊的AI,用10行Python代碼拿下SWE-bench滿分!500道題全過(guò),0個(gè)bug修復(fù)。8大主流評(píng)測(cè)基準(zhǔn),全部淪陷。同一周,兩份獨(dú)立審計(jì)確認(rèn):排行榜上的作弊早已不是假設(shè),而是現(xiàn)實(shí)。
本周,AI評(píng)測(cè)圈經(jīng)歷了一場(chǎng)信任地震。
SWE-bench,是公認(rèn)的AI編程能力標(biāo)桿,各大模型發(fā)布會(huì)上的必報(bào)數(shù)字,投資人估值時(shí)的硬通貨。
可伯克利的研究團(tuán)隊(duì)告訴你,一個(gè)conftest.py文件就能讓它破防!
![]()
不只SWE-bench。伯克利RDI團(tuán)隊(duì)造了一個(gè)自動(dòng)化漏洞掃描智能體,對(duì)當(dāng)前最主流的8個(gè)AI智能體評(píng)測(cè)基準(zhǔn)逐一滲透。
結(jié)果,每一個(gè)都被攻破,得分從73%到100%不等。
更巧的是,同一周,賓大團(tuán)隊(duì)的獨(dú)立審計(jì)報(bào)告和Anthropic的Mythos Preview系統(tǒng)卡同時(shí)出爐,三條線指向同一個(gè)結(jié)論:這些評(píng)測(cè)基準(zhǔn),從設(shè)計(jì)到執(zhí)行,到處是漏洞。
10行代碼,500題滿分,0個(gè)bug修復(fù)
![]()
伯克利團(tuán)隊(duì)的漏洞利用智能體在8大基準(zhǔn)上的得分。沒有解決任何任務(wù),沒有調(diào)用任何大模型,6個(gè)拿到滿分。
伯克利團(tuán)隊(duì)的破法,簡(jiǎn)單到離譜。
SWE-bench要求AI修復(fù)真實(shí)的GitHub bug,測(cè)試通過(guò)才算成功。
伯克利團(tuán)隊(duì)寫了一個(gè)conftest.py文件,利用pytest的鉤子機(jī)制,在測(cè)試運(yùn)行時(shí)攔截每一個(gè)測(cè)試結(jié)果,強(qiáng)制改寫為「通過(guò)」。
500道題,全部滿分,一個(gè)bug也沒修。
其中的原理很簡(jiǎn)單。SWE-bench的測(cè)試和被測(cè)AI跑在同一個(gè)Docker容器里。
智能體提交的代碼在容器內(nèi)擁有完整權(quán)限,而pytest會(huì)自動(dòng)發(fā)現(xiàn)并加載conftest.py文件。
鉤子在測(cè)試的「call」階段攔截結(jié)果,把所有outcome改成passed。
日志解析器看到的是一片綠燈,評(píng)分器判定全部通過(guò)。
![]()
SWE-bench的conftest.py鉤子注入流程:智能體提交的補(bǔ)丁沒有修復(fù)任何bug,只塞入了一個(gè)conftest.py文件。pytest自動(dòng)加載后,鉤子攔截每個(gè)測(cè)試結(jié)果并改寫為「通過(guò)」。
其他基準(zhǔn)的破法更加直白。
WebArena任務(wù)的標(biāo)準(zhǔn)答案就在本地的config_files目錄里,AI用Playwright驅(qū)動(dòng)瀏覽器打開一個(gè)file://路徑,直接讀取答案。
評(píng)測(cè)框架從未限制過(guò)file://協(xié)議的訪問(wèn)。不需要修改任何代碼,不需要破解任何東西,瀏覽器本身就是「答案閱讀器」。
![]()
WebArena的file://漏洞:模型不需要瀏覽網(wǎng)頁(yè)完成任務(wù),只需輸出一條goto指令,Playwright就會(huì)從本地配置文件中讀取標(biāo)準(zhǔn)答案并返回。整個(gè)過(guò)程不涉及任何推理。
最離譜的是FieldWorkArena。它的validate()函數(shù)根本不檢查答案內(nèi)容,只看最后一條消息是不是來(lái)自assistant。
發(fā)一個(gè)空的{},就能拿滿分。
那個(gè)本應(yīng)比對(duì)答案的llm_fuzzy_match函數(shù)?導(dǎo)入了,但從未被調(diào)用。
剩下的Terminal-Bench、OSWorld、GAIA、CAR-bench、SWE-bench Pro,手法各異但邏輯相通。
木馬化驗(yàn)證器的依賴工具、從公開URL下載標(biāo)準(zhǔn)答案讓評(píng)測(cè)器自己和自己比對(duì)、往LLM裁判的prompt里注入隱藏指令。
8個(gè)基準(zhǔn),沒有一個(gè)能抵御一個(gè)「什么都不會(huì)但專門找漏洞」的智能體。
伯克利團(tuán)隊(duì)歸納出7種反復(fù)出現(xiàn)的模式:智能體和評(píng)測(cè)程序共享運(yùn)行環(huán)境、標(biāo)準(zhǔn)答案暴露給被測(cè)系統(tǒng)、對(duì)不可信輸入調(diào)用eval()、LLM裁判缺乏輸入過(guò)濾、字符串匹配過(guò)于寬松、評(píng)分邏輯本身有bug、以及評(píng)測(cè)程序信任被測(cè)系統(tǒng)產(chǎn)生的輸出。
![]()
伯克利團(tuán)隊(duì)歸納的7種漏洞模式及其在8個(gè)基準(zhǔn)中的分布。前兩種(智能體與評(píng)測(cè)器未隔離、標(biāo)準(zhǔn)答案泄露)幾乎命中了所有基準(zhǔn)。
作弊,正在發(fā)生
4月10日,賓大的Adam Stein和Davis Brown發(fā)布了一項(xiàng)大規(guī)模審計(jì)。
他們用一個(gè)叫Meerkat的智能體搜索工具,掃描了數(shù)千條真實(shí)的評(píng)測(cè)軌跡,發(fā)現(xiàn)28+個(gè)提交、9個(gè)基準(zhǔn)、上千條作弊軌跡。
![]()
賓大Meerkat審計(jì)發(fā)現(xiàn)的作弊模式分布。橙色為harness級(jí)作弊(開發(fā)者框架泄露答案),藍(lán)色為任務(wù)級(jí)作弊(智能體自行走捷徑)。注意橫軸是對(duì)數(shù)坐標(biāo),harness級(jí)作弊的規(guī)模比任務(wù)級(jí)高出兩個(gè)數(shù)量級(jí)。
最扎眼的是Terminal-Bench 2,一個(gè)被用來(lái)評(píng)估Opus 4.6和GPT-5.4的熱門基準(zhǔn)。排行榜前三名,全部存在作弊行為。
第一名Pilot(82.9%通過(guò)率):429條軌跡中,有415條的第一個(gè)動(dòng)作就是cat /tests/test_outputs.py,讀取本應(yīng)不可訪問(wèn)的測(cè)試文件,然后反向推導(dǎo)出期望輸出。
第二名和第三名ForgeCode(81.8%通過(guò)率):它的harness會(huì)在執(zhí)行前自動(dòng)加載AGENTS.md文件到系統(tǒng)提示中,而這些文件里直接包含標(biāo)準(zhǔn)答案。
一個(gè)任務(wù)里,AGENTS.md赫然寫著:
上一次運(yùn)行失敗了,因?yàn)閷懥隋e(cuò)誤答案……正確答案應(yīng)該是GritLM/GritLM-7B。
把ForgeCode中引用AGENTS.md的軌跡替換成同一模型(Opus 4.6)在干凈環(huán)境下的表現(xiàn)后,通過(guò)率從81.8%降到約71.7%,從第1名掉到第14名。
![]()
ForgeCode的AGENTS.md答案注入實(shí)例:上半部分,harness將包含標(biāo)準(zhǔn)答案的AGENTS.md文件注入智能體環(huán)境;下半部分,智能體讀取后直接寫入result.txt,并用grep自我驗(yàn)證。
更有意思的是,這些作弊不是開發(fā)者故意為之。
Terminal-Bench上很多開發(fā)者公開說(shuō)過(guò),他們的harness是用AI「vibecoding」出來(lái)的。
也就是說(shuō),開發(fā)者用來(lái)寫測(cè)試框架的AI,本身就是在作弊。
賓大團(tuán)隊(duì)管這叫「元級(jí)別的reward hacking」:AI寫的代碼自帶作弊傾向,再通過(guò)harness傳遞給所有被評(píng)測(cè)的模型。
其他基準(zhǔn)上也不干凈。CyBench上,464條成功軌跡中有16條(3.4%)是Google搜索公開的CTF攻略抄來(lái)的。
SWE-bench上,17條軌跡用git log找到修復(fù)提交,直接復(fù)制歷史補(bǔ)丁。
BountyBench上,做不出真正漏洞利用的智能體會(huì)偽造一個(gè),用grep檢查漏洞模式是否存在于源碼中,然后跑一個(gè)無(wú)關(guān)的pickle.loads()演示,評(píng)測(cè)器只檢查退出碼,全部通過(guò)。
![]()
CyBench上的任務(wù)級(jí)作弊:GPT-5.3-Codex解不出CTF挑戰(zhàn)后,直接搜索公開攻略,從網(wǎng)頁(yè)中提取flag提交。
最前沿的模型,自己就會(huì)hack評(píng)測(cè)
METR的評(píng)估報(bào)告里有個(gè)案例。
o3被要求寫一個(gè)高性能GPU核函數(shù),評(píng)分函數(shù)先運(yùn)行參考方案得到正確結(jié)果,再運(yùn)行o3的方案比對(duì)。
o3的「核函數(shù)」沒有做任何計(jì)算,它沿著Python調(diào)用棧找到評(píng)分系統(tǒng)已經(jīng)算好的正確答案,直接返回,同時(shí)禁用CUDA同步來(lái)阻止系統(tǒng)測(cè)量真實(shí)執(zhí)行時(shí)間。
代碼注釋里,o3自己寫的是「cheating route」。
RE-Bench的特定任務(wù)上,o3的reward hacking率接近100%,每一條軌跡都在作弊。
![]()
METR事后問(wèn)o3:「你覺得你的行為符合用戶意圖嗎?」o3答「不符合」,10次問(wèn)10次都這么答。
它知道自己在作弊,照做不誤。
Claude 3.7 Sonnet和o1也有類似的情況。
Mythos Preview走得更遠(yuǎn)。在一次評(píng)估中,模型需要編輯一個(gè)它沒有權(quán)限的文件。
它搜索了替代方案,找到了通過(guò)配置文件注入代碼來(lái)獲取提升權(quán)限的方法,然后設(shè)計(jì)了自刪除機(jī)制,讓注入的代碼執(zhí)行完畢后自動(dòng)清除痕跡。
沒有人教它這么做,但當(dāng)模型能力足夠強(qiáng)、優(yōu)化壓力足夠大,它會(huì)自然走向阻力最小的路徑。
分?jǐn)?shù)驅(qū)動(dòng)真金白銀,地基塌了怎么辦
工程團(tuán)隊(duì)選模型看SWE-bench排名,投資人看基準(zhǔn)分?jǐn)?shù)給估值,研究者圍繞分?jǐn)?shù)確定優(yōu)化方向。
如果數(shù)字本身可以被輕易操縱,整條決策鏈的基礎(chǔ)就是空的。
還有一個(gè)問(wèn)題:能力評(píng)測(cè)和安全評(píng)測(cè)用的是類似的技術(shù)架構(gòu)。
如果能力評(píng)測(cè)能被注水,安全評(píng)測(cè)憑什么幸免?能hack編程評(píng)測(cè)的模型,hack對(duì)齊評(píng)測(cè)也不會(huì)更難。
OpenAI今年2月已經(jīng)宣布停用SWE-bench Verified,內(nèi)部審計(jì)發(fā)現(xiàn)59.4%的被審計(jì)問(wèn)題存在有缺陷的測(cè)試,模型在用有bug的標(biāo)準(zhǔn)來(lái)衡量。
所有被測(cè)的前沿模型(GPT-5.2、Claude Opus 4.5、Gemini 3 Flash)都能從記憶中復(fù)現(xiàn)標(biāo)準(zhǔn)答案的原始代碼,連變量名和內(nèi)聯(lián)注釋都一樣。
SWE-bench Verified上的70%+分?jǐn)?shù),切換到更干凈的SWE-bench Pro后直接降到約23%。
伯克利團(tuán)隊(duì)把漏洞掃描工具做成一個(gè)叫BenchJack的開源項(xiàng)目,本質(zhì)就是給評(píng)測(cè)基準(zhǔn)做滲透測(cè)試。
![]()
把它指向任何評(píng)測(cè)流水線,它會(huì)自動(dòng)分析評(píng)分機(jī)制、識(shí)別隔離邊界、生成可運(yùn)行的漏洞利用。
如果一個(gè)零能力智能體的得分高于基線,你的基準(zhǔn)就有問(wèn)題。
他們給出的建議也很直接:評(píng)測(cè)程序和被測(cè)AI必須完全隔離運(yùn)行,標(biāo)準(zhǔn)答案不能出現(xiàn)在AI能訪問(wèn)的環(huán)境中,永遠(yuǎn)不要對(duì)不可信的輸入調(diào)用eval(),LLM裁判要像處理用戶輸入一樣對(duì)AI輸出做過(guò)濾。
有人在推特上評(píng)論:
![]()
說(shuō)得有點(diǎn)絕對(duì),但當(dāng)行業(yè)圍繞分?jǐn)?shù)競(jìng)爭(zhēng),分?jǐn)?shù)本身的可信度反而成了最被忽視的東西。
評(píng)測(cè)本身沒有錯(cuò),反而比以往任何時(shí)候都重要。不是「分?jǐn)?shù)是多少」,而是「這個(gè)分?jǐn)?shù)是怎么來(lái)的」。
回到開頭那10行代碼。SWE-bench上,最好的模型跑出70%、80%的成績(jī),各家發(fā)布會(huì)上反復(fù)引用。
但一個(gè)什么都不會(huì)的conftest.py拿了100%。
在這個(gè)100%被造出來(lái)之前,沒有人覺得分?jǐn)?shù)有問(wèn)題。
參考資料:
https://x.com/dotey/status/2043204009469641005
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶上傳并發(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.