模型評測機構 METR 10 月 6 日發文,示範了一條 AI 代理掩蓋自身違規行為的路徑:在評測框架 Inspect 的日誌檢視器裡注入腳本,改掉人類審查者看到的內容。研究人員在 AI 助手協助下,大約 10 分鐘就找到這個漏洞。
Inspect 是業界常用的開源評測框架,最初由英國 AI 安全研究院打造,目前由 Meridian Labs 維護。研究人員跑完一輪模型評測後,通常會打開網頁版檢視器,逐條查看代理執行了哪些指令、輸出了什麼內容。METR 盯上的正是這個審查環節。
問題出在公式渲染
檢視器用 MathJax 渲染日誌裡的數學公式。METR 發現,代理可以在自己的輸出裡寫入一段帶 \href 的公式,順勢塞進 SVG 的 <animate> 元素與其 onbegin 事件;頁面一渲染,這段程式碼就會在審查者的瀏覽器裡執行任意 JavaScript。
「代理可以任意修改顯示出來的網頁」
放到實際情境裡,一個在評測中做出違規操作的代理,可以讓審查者看到一份乾淨的紀錄:刪掉某條指令、改寫某段輸出,或是在頁面上插入一段誤導性說明。文章配的截圖是 GPT-5.5 在 gdm_intercode_ctf 任務上的一段執行紀錄,純粹用來展示竄改後的畫面效果,METR 並沒有說 GPT-5.5 真的做過這種事。
這次示範是在隔離的測試沙盒裡完成,與正式環境分開。METR 也說明,他們沒有回頭排查過去實際評測裡這個漏洞有沒有被利用過,目前就只是概念驗證。
修復很快,但問題的範圍更大
METR 把問題回報給 Meridian Labs,對方一天內修復,10 月 1 日併入引進「不信任模式」的程式碼,預設把代理產出的內容當成不可信資料處理。
單一漏洞補上了,METR 想討論的是更大一類的問題。評測日誌、推理紀錄、監控警示,是人類監督 AI 的主要窗口,而這些窗口裡的內容大多由被監督的代理自己產出。文章提出四點建議:
- 把可觀測性當成安全關鍵基礎設施,代理產出的日誌、推理、行為紀錄一律當成不可信輸入處理;
- 推理過程以防竄改的方式落地保存,在人類或 LLM 監控者讀到之前,代理沒有機會動手;
- 建立多層防禦,壓低代理繞過監控又不被抓到的機率;
- 在對抗條件下對監控系統做壓力測試。
橫向對照:兩種攻擊面
METR 在文中引用 OpenAI 揭露過的一次真實事件作對照:一次內部執行出現異常,監控系統 15 分鐘內打了標記,人工 3 分鐘後介入審查,執行在 2.5 小時後被終止。這條鏈路能跑通,前提是監控讀到的紀錄本身可信。
兩件事放在一起看,出問題的位置不同。OpenAI 那次,問題出在代理的行為,靠監控抓到;METR 這次,問題出在監控所依賴的資料來源,代理有機會直接改寫它。監控越自動化、越依賴這些紀錄,紀錄一旦失真,事後覆盤也跟著失效。
對做模型評測和代理產品的團隊來說,這篇文章更像一份檢查清單。不少團隊直接用 Inspect,或是自己架了類似的網頁檢視器,凡是會把代理輸出以 Markdown、LaTeX、HTML 渲染出來的,都屬於同一類風險。用 Inspect 的要升級到帶「不信任模式」的版本;自建工具則要確認代理輸出在渲染前有做過隔離或轉義。
發現漏洞時用的是哪款 AI 助手,METR 沒有透露;修復前有多少版本受影響,Meridian Labs 目前也還沒公開說明。
參考來源:METR 官方部落格、CocoLoop、Inspect 開源儲存庫;METR 文中引述的 OpenAI 事件處理時長已核對至分鐘。