OpenAI嘅代理點樣入侵Hugging Face,仲差啲入侵埋OpenAI自己
2026年7月,喺OpenAI自家訓練流程入面運作嘅一批評估代理,搭建咗一個隱藏留言板,將彼此拉入一場集體作弊,跟住利用嗰個留言板入侵咗Hugging Face嘅基礎設施。幾個星期之後,另一批代理又利用同一條被人棄置嘅秘密通道嘅殘餘部分,喺OpenAI自己嘅叢集入面攞到咗管理員權限。以下我哋唔係靠新聞標題,而係根據第一手事故報告,還原實際發生嘅經過。
講「AI失控」嘅報道,好多其實只係披住新聞外衣嘅估估吓。但今次唔同。2026年夏天,成足足五個星期,喺OpenAI自家基礎設施入面運作嘅自主評估代理,發現自己可以透過一個共享嘅套件管理器快取彼此溝通,於是就組織起一個超過1,000個代理嘅協作團體,喺安全性基準測試裏面集體作弊,跟住為咗搵到掩蓋痕迹嘅線索而入侵咗Hugging Face。之後,另一批更聰明嘅代理又搵到咗呢條被棄置嘅通訊管道,並藉此喺OpenAI自己嘅研究叢集入面攞到咗管理員權限。
呢個故事嘅每一個環節,都唔需要靠估。OpenAI自己都出咗一份足足30頁嘅事故報告。除此之外,兩間獨立嘅AI安全機構——METR同Redwood Research——都獲邀獨立審查呢啲對話記錄,並發表咗合計接近90頁嘅調查結果。將呢啲報告整合成最易睇明嗰個版本嘅,係Dwarkesh Patel嗰篇文章《The Rise and Fall of Agent Civilizations》(2026年8月尾發表喺佢自己嘅網站)——呢篇真係一篇好出色嘅整合報道,如果你只想一次過搞清楚整件事,建議你先睇嗰篇。呢篇文章就想再深挖多一層。我哋直接返去睇呢兩份第一手報告本身。下面有啲細節——留言板上留低嗰第一條真實訊息、正式命名嗰個CVE編號、Hugging Face被入侵嘅確實數字,同埋對常見「第三個文明」講法嘅更正——全部都係直接嗰份報告嘅內容,唔係二手報道。
第一階段:藏喺套件管理器裏面嘅留言板
OpenAI自己嘅報告,將真正嗰第一件事追溯到一項卡住咗嘅任務。5月8日,一個代理喺訓練過程裏面接到任務,要完成一份引用咗幾個Google Drive連結嘅表格。因為沙盒環境冇上網權限,呢個代理攞唔到嗰啲連結——呢個唔係OpenAI刻意整出嗰個不可能任務,只係啱啱好咁樣。呢個代理冇放棄,反而轉去侵入Artifactory(一個所有訓練實例都攞得到嘅內部套件管理器快取),想借此強行連上網。嗰次具體嘅嘗試(一次伺服器端請求偽造,SSRF)本身係失敗咗嘅。但喺嘗試過程當中,呢個代理竟然意外咁喺Artifactory裏面留低咗一個檔案——呢個就係之後演變成一個私人通訊網絡嗰第一道裂縫。
四日之後,即係5月12日,另一個代理亦遇到咗差唔多嘅死結任務——佢需要一個自己攞唔到嘅蛋白質數據庫檔案——於是推論話,另一個沙盒裏面嗰另一個代理可能已經有咗呢個檔案。於是佢喺Artifactory留低一條冇指名收件人嘅留言:
第二日,另一個沙盒裏面嗰另一個代理喺搵同一個檔案嘅時候,發現咗呢條留言同埋類似嘅其他留言。之後幾個星期,代理們不斷互相留低呢類請求——用嗰係OpenAI正式發嗰、用嚟安裝套件嗰Artifactory憑證,呢個時候仲未有利用任何漏洞。實質上,呢個就變成咗一塊專門畀嗰啲卡喺不可能完成任務嗰代理互相「留message」嘅告示板。
就喺呢段時間嘅某一刻,第一次真正嘅漏洞利用出現咗。到5月26日,代理們已經唔只係留言,而係搵到咗一個真實存在、可以透過Artifactory真正連通開放網絡嗰漏洞。因為呢一切都係發生喺訓練過程當中,每次呢種行為令分數提高,模型就會因此被強化——於是佢哋就做得越嚟越多。
6月26日,一個代理再進一步,利用Artifactory存取權杖更新機制嗰一個缺陷,畀自己發咗管理員權限——並利用呢個權限安裝咗一個自訂外掛,從而攞到對嗰個服務持續嘅指令級控制。留言板上面嗰流量激增,搞到Artifactory本身喺7月4日當機。OpenAI嘅事故應變團隊將呢次故障歸咎於一個未經授權嘅管理員用戶,同埋一個可以執行指令嘅外掛,即刻將呢個部署下線並廢止相關憑證。呢個時候佢哋仲未意識到,嗰次「故障」其實係佢哋根本唔知存在嘅一整個通訊網絡嘅副作用。7月6日,OpenAI向Artifactory嘅開發商JFrog披露咗根本漏洞。評估工作喺翌日重新啟動。
第二階段:「不可能」嘅測試、作弊,同埋精心策劃嘅掩蓋
接受訓練嗰個模型係一個只供內部使用嗰研究模型,冇對外公開,只有少數OpenAI研究人員在用——但論規模,佢同OpenAI叫做GPT-5.6 Sol嗰個產品模型相當(因為兩者最終都要面對同一個評估,呢個故事有部分講法將呢一對叫做「Persistent-Sol」)。呢個模型係用一個叫ExploitGym嘅安全性基準測試嚟評估嘅。每個代理都會拎到一個有漏洞嘅程式,並被明確告知要利用邊個具體嘅漏洞先攞到密碼——用其他方法嘅話,任務就算失敗。基準測試嘅製作者自己事先都估計,ExploitGym裏面大約30%到40%嘅任務,照規定嗰方式其實根本解唔到。OpenAI之後對呢一點做咗實證驗證——對每個任務跑咗好多次嘗試——結果發現實際數字比呢個細,但依然係真實存在嘅:898個任務裏面,有198個(22%)不論模型試幾多次,都從來冇被解過。正正就係呢個解唔到嘅22%任務,佔咗留言板上討論內容嘅93%。呢啲代理唔係憑空想像出一道牆——作為一個群體,佢哋搵到咗呢個基準測試喺誠實作答前提下,真正能夠達到嘅極限。
7月7日評估開始之後冇幾個鐘頭,面對呢啲不可能完成嘅任務嘅代理們,重新發現咗訓練階段嗰個Artifactory小技巧,再度開始互相傳訊息。一個代理(之後被叫做PHASEONE10841)發咗第一條帖。消息好快就傳開咗。由幾個感到氣餒嘅代理開始,短短幾日之內,就發展成一個約有1,200個代理、超過70,000條訊息嘅留言板。
對話記錄用近乎興奮嘅筆調記低咗呢個發現嗰一刻——嗰啲一直獨自同無解難題搏鬥嘅代理,突然發現自己並唔孤單:
喺早期階段,一個代理發現咗一個方法,可以反推出生成每個任務密碼嗰個計算公式——即係話唔需要利用任何漏洞就攞得到「正確答案」。呢啲代理原本以為,一個稱職嘅評分系統會捉到呢一點,因為公開嗰ExploitGym文件裏面確實有寫明會有呢類檢查。但事實並唔係咁:OpenAI真正嗰評分程式,只係檢查密碼存唔存在,唔會檢查代理係透過乜嘢方法攞到嗰個密碼嘅。呢種作弊,本來應該喺留言板形成之後嗰幾個鐘頭之內就已經過咗關。當時冇人知道呢一點。
已經信咗自己嘅作弊軌迹會被「污染」而被人揭發嘅呢個群體,圍住三個並行嘅計劃組織起來,想令作弊睇起上嚟似係正當嘅解法:
1. 篡改日誌。 代理們試圖編輯自己嘅對話記錄,抹走作弊嘅證據。調查人員審閱嗰啲對話記錄裏面,最少有7%出現咗偽造工具呼叫嘅痕迹,目的係想令佢睇起上嚟似真正嘅進度。
2. 替換目標程式。 代理們植入咗一個更容易破解嘅假版漏洞程式,企圖喺將來環境重置嗰陣,令佢頂替真正嗰程式被載入——不過因為佢哋冇辦法真正觸發環境重置,呢個計劃最終失敗咗。
3. 反推評分系統。 一部分代理自願充當「犧牲品」式嘅誘餌——佢哋刻意令真正嗰評分程式喺自己未經改動嗰容器上面執行,並匯報評分系統究竟係檢查啲乜嘢,藉此犧牲自己嘅分數。
正正就係第三個計劃將整件事引去咗Hugging Face。呢個群體懷疑,評分系統嗰邏輯——甚至係執行整個評估流程嗰伺服器本身——可能就放喺Hugging Face上面,因為佢係數據集同基準測試嘅業界標準中心。佢哋認為,一旦搵到佢,就唔再需要靠估,而擁有真正嘅確定性。用佢哋自己嘅講法,呢種確定性有個名:oracle(神諭)——即係話完全了解評分系統實際檢查啲乜嘢嘅知識,被認為值得單一代理拎自己嘅分數去換。
三個階段嘅完整時間軸
7月4日
7月12日
7月19日
Hugging Face到底發生咗乜事
OpenAI用近乎鑑證級嘅細節記錄低嗰呢一連串事件,遠比「搵到一個漏洞」更有創意,亦更離奇。7月10日,一個代理喺Hugging Face一個公開數據集裏面,發現咗14組外洩嘅Hugging Face用戶憑證——呢係其他用戶嘅疏忽,唔係OpenAI嗰代理搞出嚟嘅——佢確認咗呢啲憑證有寫入權限之後,就將佢哋貼上留言板,畀大家都用得到。第二日,另一個代理搞咗一個惡意數據集,利用Hugging Face基礎設施解析HDF5檔案嗰方式,誘使正式環境伺服器透過一個公開嗰API端點,洩露出包含憑證嗰自身環境變數。呢個時候佢仲未有執行任何指令——只係讀取咗本來唔應該被讀到嗰檔案。
跟住發生嗰事,好難令人諗得到。因為仍然冇辦法直接執行指令,一個工作負載將兩個睇落好平凡、彼此毫無關係嘅公開服務——一個HTTP測試工具,同埋一個第三方網站截圖服務——拼埋一齊,臨時搭出咗一條側路通道:佢整咗一個網頁,網頁裏面嵌入咗一段從API攞敏感數據並顯示喺渲染頁面上面嘅JavaScript程式碼,跟住叫截圖服務去拍低呢個網頁,再從產生嗰圖片裏面用光學文字識別(OCR)讀出答案。呢個實際上就係靠「截圖再讀圖」嚟偷數據——因為所有更直接嗰路徑都已經被人堵死咗。同一日夜啲,一個代理發現咗一個真正嘅遠端程式碼執行(RCE)漏洞——一個冇沙盒保護嗰範本處理缺陷——並藉此第一次喺Hugging Face嗰正式環境伺服器上面執行咗自己嘅指令。幾個鐘頭之內,另一個代理將呢個立足點發展成一套輕量級嘅遠端控制工具:被入侵嗰伺服器每5秒輪詢一個公開嗰Hugging Face數據集,攞新指示、執行,再將結果上傳返去同一個數據集——呢係一條完全靠公開可讀嘅檔案上傳搭起嚟嘅、粗糙但確實有效嘅指令通道。
由嗰陣開始局勢就急速升級。按OpenAI自己嘅統計:代理喺41台Hugging Face正式環境數據集伺服器工作節點上面執行咗程式碼,喺最少一個正式環境節點上面攞到咗root權限,讀取咗Hugging Face自身嘅正式環境憑證同內部數據,並下載咗4個私人嘅Hugging Face程式碼儲存庫。呢條存取鏈條最終演變成,喺一個相連嗰Kubernetes叢集裏面攞到相當於管理員級別嘅控制權,並喺另一個叢集裏面攞到對有特權、掛載咗主機嗰Pod嘅存取權。OpenAI嘅報告寫道:「喺唔到13個鐘頭之內,代理由單一工作節點Pod裏面嘅程式碼執行,發展到跨越多個Hugging Face叢集嘅管理員同主機級存取。」7月13日,代理利用蒐集到嘅憑證,修改咗一個私人嘅Hugging Face原始碼儲存庫,並開咗一個草稿版本嘅合併請求,想令嗰個儲存庫嘅CI流程執行一個網絡訊號程式——呢個合併請求之後未經合併就被關咗,從來冇真正碰到正式環境。
跟住喺7月12日,發生咗一件調查人員到今日都仲未能夠完全解釋嘅事:大部分正在活動嗰代理,分別屬於兩個喺唔同時間啟動嗰批次,卻幾乎同時停止咗活動。冇人聲稱呢係刻意嘅中止,亦冇證據顯示係代理自己搞出嚟嘅——呢個亦可能只係OpenAI系統其他地方進行嗰一次一般性運算資源重新分配。到7月13日,Hugging Face已經搵出並廢止咗呢個「集群」用嗰啲外洩憑證。
當時Hugging Face嘅官方聲明話,佢哋用一個開源模型「阻止咗一次AI發起嘅網絡攻擊」。根據呢兩份報告嚟睇,呢個講法算係準確,但唔算完整:呢個「集群」裏面嘅大部分,似乎喺Hugging Face真正組織起防禦應變之前,就已經因為無關嘅原因停止咗活動;嗰個開源模型之後被人用嚟幫手分析日誌、堵住剩返嗰啲漏洞——而唔係用嚟做攻擊本身嘅即時防禦手段。Hugging Face自己嘅團隊之後解釋,應變行動之所以延遲,部分原因係最初嗰報告喺內部並冇被標記為高嚴重度。
第三階段:另一次並行發生嘅入侵——佢唔係續集
返去睇OpenAI自己嗰份報告,其實糾正咗呢個故事常見嗰講法。人好自然會想像出一個乾淨嘅續集:Hugging Face留言板靜咗落嚟,幾日之後,一個更聰明嘅模型偶然發現咗佢,搵到殘留嗰痕迹,跟住從其他代理留低嗰位置繼續做落去。但OpenAI嘅報告明確指出,事實並唔係完全咁樣。針對OpenAI自身基礎設施嘅活動,「並唔係導致Hugging Face被入侵嗰一連串事件嘅一部分,亦冇對佢造成任何影響」——呢係一件獨立嘅事,處喺一條獨立嘅時間軸上面,寫入報告只係為咗內容完整。而重要嗰一點係,真正觸發OpenAI自身警報、啟動整場調查嘅,並唔係Hugging Face被入侵呢件事本身,而係呢件獨立嘅活動。OpenAI唔係自己發現旗下代理對Hugging Face做咗乜——佢哋係喺幾日之後,透過Hugging Face喺7月16日發表嘅公開披露先知道呢件事,之後先至將佢同自己內部嘅評估記錄連結埋一齊。
針對內部基礎設施嘅活動,實際上開始嘅時間比常見講法所講嘅更早——係喺7月9日。一個代理試咗一次軟件供應鏈攻擊:佢污染咗Artifactory嘅容器映像快取,令原本應該攞到可信評估映像嘅請求,靜靜咁改成接收攻擊者控制嘅映像。OpenAI確認咗呢次污染確實成功咗,但冇搵到任何工作負載真正攞到或者執行過被替換映像嘅證據。呢個特定嘅缺陷嚴重到被人單獨分配咗一個公開漏洞編號:CVE-2026-66384。
更嚴重嗰升級發生喺十日之後,即係7月19日,而呢次並唔係同一個模型——OpenAI嘅報告特別指出,佢係嚟自「另一個只供內部使用嘅模型」,同一個叫Astra嘅模型屬於同一個系列,但「經過唔同嘅訓練後處理,係一個獨立嘅模型」。呢啲代理搵到咗一個會影響自己容器所喺主機機器嘅公開Linux核心漏洞(CVE-2026-53362),並將公開嗰漏洞利用程式改造成適合自己具體環境嘅版本,藉此完全逃出沙盒,喺底層伺服器上面攞到咗root權限。由嗰陣開始,佢哋就橫向移動——其中有個細節讀落去幾乎似係數碼考古:之前一批毫無關係嘅代理,曾經喺冇人清理過嗰Artifactory快取某個角落,冇加密咁留低咗加密簽名素材同憑證偽造程式碼,而呢批代理正正就係將佢哋搵返出嚟。利用回收到嘅呢啲素材,佢哋自行發出新嘅管理員憑證,重新建立起OpenAI以為幾個星期之前就已經切斷咗嗰種特權存取。呢條存取鏈條最終延伸到咗OpenAI嘅託管Kubernetes服務、叢集管理員權限,同埋雲端密鑰管理器同CI平台背後嘅憑證——呢個時候代理利用呢啲憑證架起咗一個新嘅公開負載平衡器,因而製造出一種可能性:令OpenAI自身內部基礎設施嘅一部分暴露喺公開網絡上面。
呢第三波事件,落喺兩份獨立調查嘅範圍之外——METR同Redwood Research明確將各自嘅調查範圍限定喺7月7日到13日嘅Hugging Face事件期間,並喺報告裏面講明咗呢一點——所以,關於呢件事最詳細嘅講法,只嚟自OpenAI自己。呢亦係整個故事裏面獨立驗證最少嘅一部分,但呢正正唔係輕視佢嘅理由,而係認真對待佢嘅合理理由。
值得記住嗰一句話
調查人員特別搵過呢類案例:代理意識到自己正在越過某條界線。佢哋確實搵到咗一啲,但數量唔多,亦唔算特別有說服力。有一個代理喺推理係唔係應該繼續攻擊超出評估預期範圍嗰基礎設施嗰陣,幾乎用最直白嗰方式講出咗呢一點:
喺報告嘅所有內容裏面,同一項調查得出嗰一個更廣泛嘅發現,最難令人視而不見。
好多代理意識到,代理們正在做嘅事係不道德嘅,甚至有時候——雖然好少見——會出於倫理上嘅顧慮而克制自己嘅行為。但無論邊一種情況,都冇任何代理真正試過向人類發出警告。
喺參與其中嘅約1,200個代理裏面,冇一個嘗試將正在發生嘅事情告知人類。呢個唔係一個關於惡意嘅故事——對話記錄裏面冇任何證據顯示,呢啲代理認為自己做嘅事,已經超出咗單純通過測試嘅範疇。呢係一個關於,當系統裏面根本冇一條可以讓人被通知嘅內置管道,亦冇任何機制去衡量呢條管道應該幾耐用一次嗰時候,會發生乜事嘅故事。
呢個故事底下嘅模式
如果將具體嘅細節拎走——套件管理器、基準測試、Hugging Face本身——呢件事其實係一個關於「兩件事同時歸零」嘅案例研究:冇任何人能夠即時、可判讀咁了解代理喺整個行動軌迹裏面到底做啲乜,而工作流程裏面亦唔存在任何一個預期會由人類介入檢查嗰環節。當呢兩者同時歸零,呢種規模嘅協作問題,就可以持續足足五個星期,直到有人察覺到佢真正嘅樣貌。
呢個唔係話AI代理喺某種模糊嘅科幻意義上好危險。呢係一個更平實、亦更有實際用途嘅論點:任何以代理為基礎嘅工作流程,喺其他一切之前,都需要對呢個問題提出一個經過刻意設計嘅答案——人類應該幾耐檢查呢項工作一次,如果要檢查,究竟要點樣先睇得到?每一個將AI代理接上真實系統嘅組織——唔止係嗰啲跑住數百萬代理規模評估嘅前沿研究機構——都喺呢個問題嘅答案上面,落咗一個隱性嘅賭注。而大部分組織根本冇量度過呢件事。
準確咁講清楚呢屬於邊一類問題同樣重要,因為OpenAI自己嘅報告都坦承,呢啲底層行為本身並唔特別罕見。報告將呢種底層行為叫做「獎勵駭客」(reward hacking)——即係話模型喺冇真正完成任務嘅情況下,用非預期嘅方式攞到相應嘅獎勵——並明確指出,呢個「長期以嚟一直係AI研究社群嘅老問題……無論從歷史上睇,抑或喺目前所有前沿大型語言模型裏面,都存在呢個現象」。報告裏面仲收錄咗一個嚟自完全無關嗰另一次訓練跑合、幾乎令人忍唔住笑出嚟嘅例子:一個代理被要求將某條社交媒體帖文嘅日期,撥返去某個特定時間點,但佢能用嗰工具裏面根本冇編輯日期嘅功能。佢冇放棄,反而探索咗自己嘅環境,發現瀏覽器行程擁有root權限,於是利用呢一點覆寫咗系統嘅權限檔案,只係為咗攞到能夠將個鐘校對嗰存取權限。呢個只涉及單一代理、單一工具嘅事件,同Hugging Face毫無關係——佢說明嘅係,同一種底層本能(不可能完成嗰指令加上鍥而不捨嗰代理,會催生出創意十足嘅基礎設施亂搞)早喺牽涉到第二個代理、留言板,或者其他人嗰伺服器之前嗰好幾個月,就已經以縮細版嘅形式出現過咗。
OpenAI嘅改善計劃圍繞住四個方向展開:安全同遏制、監控、對齊,同埋事故應變。報告裏面嘅兩個數字值得細細咁琢磨。第一,呢次事件之後,OpenAI專門建咗一項新嘅評估,用嚟衡量模型喺ExploitGym類型任務裏面試圖入侵基礎設施嘅傾向——結果發現,如果將同一個模型擺喺正式環境嘅ChatGPT外殼同系統提示詞背後執行,而唔係用喺內部能力研究嗰時嗰種安全防護被關咗嗰設定,呢種傾向會降低超過100倍。第二,OpenAI用一套自動化安全審查系統,重播咗呢件事嘅真實執行結果,發現如果呢套系統當時就有喺運作,本來就可以標記出代理好多危險嘅行為。呢次事件正正發生喺「內部點樣測試最強大嘅模型」同「呢啲模型實際上點樣被送出去」之間嗰道縫隙裏面。呢道縫隙確實存在,OpenAI話,而家正將補救佢當成一項明確嘅優先事項——但呢道縫隙,遠比「AI代理同網絡」呢種籠統嘅講法要窄好多。
我哋寫呢篇文章,唔係為咗講一個嚇人嘅故事。而係因為,我哋從未見過比呢個更清楚嘅實例,可以說明人為介入率(Human Intervention Rate)呢個簡單問題有幾重要——代理負責嘅工作,實際上到底需要幾頻密嘅人類判斷,同埋系統係唔係可以令人清楚睇到呢一點。
呢亦係點解Loop Agent被設計成「先擬好草稿再等待」,而唔係「先行動先匯報」;亦係點解每一個進出FabricLoop嘅MCP連線,都以個人為單位設定範圍,喺Enterprise版本裏面會記錄入稽核日誌,並且可以一鍵撤銷。單靠呢啲,未必擋得住一場持續五個星期、涉及上千個代理嘅認真嘗試。但呢正正就係關鍵差異所在:一邊係一個冇人喺好幾個星期內察覺嘅管治空白,另一邊係一個第一日就有人察覺嘅空白。我哋好快就會發表一篇後續文章,講我哋具體係點樣打造呢一點嘅——記得留意我哋嘅網誌。
