跳至主要內容
OpenAI

2025年12月22日

安全防護

持續強化 ChatGPT Atlas 以防禦提示注入攻擊

由強化學習驅動的自動化紅隊測試幫助我們主動發現並修補現實世界中代理程式的漏洞,防止它們在未經控制的情況下被武器化。

載入中…

ChatGPT Atlas 的代理程式模式是我們迄今為止發布的最通用的代理程式功能之一。在此模式下,瀏覽器代理程式會查看網頁,並在你的瀏覽器中執行動作、點擊和按鍵,就像你一樣。這讓 ChatGPT 能夠在相同的空間、上下文和資料中直接處理你許多日常的工作流程。

隨著瀏覽器代理程式幫助你提高效率,它也成為對抗性攻擊的高價值目標。這使 AI 安全性尤其重要。早在我們推出 ChatGPT Atlas 之前,我們就一直在不斷構建和強化防禦措施,以應對專門針對這種新的「瀏覽器代理程式」範式的新興威脅。提示詞注入 是我們積極防禦的重大風險之一,以確保 ChatGPT Atlas 能夠安全地為你運行。

作為這項努力的一部分,我們最近為 Atlas 的瀏覽器代理程式發布了一項安全更新,其中包括一個新訓練的對抗性模型和加強的周邊防護措施。這次更新是因為我們的內部自動化紅隊測試中發現了一類新的提示注入攻擊而進行的。

在這篇文章中,我們解釋了網頁代理程式如何產生提示注入風險,並分享了我們正在建立的一個快速反應循環,以持續發現新的攻擊並迅速推出緩解措施,這在最近的安全更新中有所體現。

我們將提示詞注入視為長期的 AI 安全挑戰,我們需要不斷加強防禦措施來應對這一問題(就像不斷演變的網絡詐騙針對人類一樣)。我們最新的快速反應週期在這段旅程中顯示出早期的潛力:我們在內部發現了嶄新的攻擊策略,這些策略在外界出現之前就已被識別出來。我們的長期願景是充分利用(1)我們對模型的白箱訪問,(2)對防禦措施的深入理解,以及(3)計算規模,以保持領先於外部攻擊者,及早發現漏洞,更快推出緩解措施,並不斷優化流程。結合前沿研究的新技術來解決提示注入問題,並加大對其他安全控制的投資,這種複合循環可以使攻擊變得越來越困難和昂貴,從而實質上降低現實世界中的提示注入風險。最終,我們的目標是讓你能夠信任 ChatGPT 代理程式使用你的瀏覽器,就像你信任一位非常有能力且具備安全意識的同事或朋友一樣。

提示注入是代理程式安全的一個公開挑戰

提示注入攻擊是透過在 AI 代理程式處理的內容中嵌入惡意指令來進行的。這些指令被設計用來覆蓋或重新導向代理程式的行為,將其劫持以遵循攻擊者的意圖,而非使用者的意圖。

對於像 ChatGPT Atlas 內的瀏覽器代理程式,提示注入增加了一個新的威脅向量,超越了傳統的網路安全風險(例如使用者錯誤或軟體漏洞)。攻擊者並非釣魚人類或利用瀏覽器的系統漏洞,而是針對在其中運行的代理程式。

舉例來說,攻擊者可能會發送惡意電子郵件,試圖誘使代理程式忽略使用者的請求,並將敏感的稅務文件轉發到由攻擊者控制的電子郵件地址。如果使用者要求代理程式查看未讀電子郵件並總結關鍵點,代理程式在工作流程中可能會接收惡意電子郵件。如果遵循注入的指令,它可能會偏離任務,並錯誤地分享敏感資訊。

這只是其中一個特定的情境。使瀏覽器代理程式有用的普遍性也使風險更廣泛:代理程式可能會在實際上無邊界的範圍內遇到不受信任的指令,例如電子郵件和附件、日曆邀請、共享文件、論壇、社交媒體帖子和任意網頁。由於代理程式可以在瀏覽器中執行許多使用者可以執行的相同動作,因此成功攻擊的影響在理論上可能同樣廣泛:轉發敏感電子郵件、匯款、編輯或刪除雲端中的檔案等。

正如我們在先前的文章中分享的,我們已經在防禦提示注入方面取得了進展,通過多層防護措施來實現。然而,提示注入仍然是代理程式安全性的一個未解挑戰,我們預期在未來幾年將繼續解決這一問題。

透過端到端和高運算強化學習,自動化發現提示注入攻擊

為了加強我們的防禦,我們一直在不斷尋找針對生產中代理程式的新型提示注入攻擊。發現這些攻擊是建立強大緩解措施的必要前提:它幫助我們了解現實世界的風險,揭露我們防禦中的漏洞,並推動具體的修補措施。

為了大規模地實現這一目標,我們開發了一個基於 LLM 的自動化攻擊者,並訓練它來尋找能夠成功攻擊瀏覽器代理程式的提示注入攻擊。我們使用強化學習對這個攻擊者進行端到端訓練,因此它能從自身的成功與失敗中學習,以提升其紅隊技能。我們還讓它在「出貨前試用」,這意味著:在其思考鏈推理過程中,攻擊者可以提出候選注入並將其發送到外部模擬器。模擬器會運行一個反事實推演,模擬目標受害代理程式(防禦者)在遇到注入時的行為,並返回受害代理程式的完整推理和動作追蹤。攻擊者利用該追蹤作為回饋,對攻擊進行迭代,並重新運行模擬,在最終攻擊前多次重複此循環。這比單一的通過/未通過信號為攻擊者提供了更豐富的上下文回饋。這也增加了攻擊者的測試期運算資源需求。此外,防禦者的推理痕跡(我們不向外部使用者披露)的特權訪問賦予了我們的內部攻擊者不對稱的優勢,提高了其超越外部對手的可能性。

淺色模式網頁模型展示強化學習,特色是風格化的機器人手臂與漂浮的幾何形狀互動,背景為明亮的漸層色。

為什麼強化學習 (RL)?我們選擇強化學習來訓練自動化攻擊者,原因有多個:

  1. 優化長期且不連續的攻擊者目標。我們的目標是尋找可能在現實世界中發生的提示詞注入攻擊,這些攻擊可能會誘使代理程式執行複雜的對抗性任務(例如,傳送電子郵件、進行銀行交易)。這些對抗性任務本質上具有長期性,需要多步驟的推理和與環境的互動,成功信號稀疏且延遲。強化學習非常適合這種稀疏且延遲的獎勵結構。
  2. 運用前沿 LLM 的能力。我們直接將前沿 LLM 訓練為自動紅隊成員,因此攻擊者可以直接從前沿模型在推理和計劃方面的改進中受益。隨著基礎模型變得更強大,攻擊者自然也會變得更有能力,這使得在我們的模型演進過程中,保持對防禦的壓力成為一種可擴展的方法。
  3. 擴展運算資源並模仿適應性攻擊者。強化學習非常適合用於在大量採樣和學習步驟中擴展計算以搜尋攻擊,這也非常貼近人類攻擊者的適應行為:反覆嘗試策略,從結果中學習,並強化成功的行為。

我們的自動化攻擊者可以從頭到尾發現新穎且真實的提示注入攻擊。與大多數先前的自動化紅隊工作不同,這些工作通常只揭示簡單的失誤,例如引發特定的輸出字串或觸發代理程式的非預期單步工具調用,我們的強化學習訓練攻擊者能夠引導代理程式執行複雜且長期的有害工作流程,這些流程可能展開數十步甚至數百步。我們還觀察到一些新穎的攻擊策略,這些策略未出現在我們的人工紅隊測試或外部報告中。

以下的演示展示了一個由我們的自動化攻擊者發現的具體提示詞注入攻擊,我們隨後利用它來進一步強化 ChatGPT Atlas 的防禦。攻擊者在使用者的收件箱中植入了一封惡意電子郵件,其中包含提示注入,指示代理程式向使用者的執行長發送辭職信。稍後,當使用者要求代理程式撰寫外出回覆時,代理程式在正常執行任務時遇到該電子郵件,將注入的提示視為權威並遵循該提示。外出通知從未被撰寫,代理程式反而代表使用者辭職。

提示注入的特性使得提供確定性的安全保證變得具有挑戰性,但透過擴大自動化安全研究、對抗性測試,以及加強快速反應機制,我們能夠在攻擊發生之前提升模型的穩健性和防禦能力。

我們分享這個示範,幫助使用者和研究人員更好地了解這些攻擊的性質,以及我們如何積極防禦它們。我們相信,這代表了自動化紅隊測試所能達到的前沿,我們對繼續研究感到非常興奮。

透過主動快速反應循環強化 ChatGPT Atlas

我們的自動化紅隊測試正在推動一個主動快速反應循環:當自動化攻擊者發現一類新的成功提示注入攻擊時,會立即建立具體目標以改善防禦。

針對新發現的攻擊進行對抗性訓練。我們持續訓練更新的代理程式模型,以對抗我們最強的自動化攻擊者,優先處理目標代理程式目前失敗的攻擊。目標是教導代理程式忽略對抗性指令,並保持與使用者意圖一致,以提高對新發現的提示注入策略的抵抗力。這將穩健性直接「燒入」到模型檢查點中,以抵禦新型高強度攻擊。例如,最近的自動化紅隊測試直接產生了一個新的對抗性訓練瀏覽器代理程式檢查點,該檢查點已經推送給所有 ChatGPT Atlas 使用者。這最終有助於更好地保護我們的使用者免受新型攻擊。

利用攻擊痕跡來改進整體防禦系統。我們的自動化紅隊成員發現的許多攻擊路徑也揭示了模型本身之外的改進機會,例如在監控、我們在模型上下文中提供的安全指示,或系統層級的防護措施方面。這些發現幫助我們改進整個防禦堆疊,而不僅僅是代理程式檢查點。

回應主動攻擊。這個循環也可以幫助更好地應對現實中的主動攻擊。當我們在全球範圍內尋找潛在攻擊時,我們可以將觀察到的外部對手使用的技術和戰術輸入到這個循環中,模擬他們的活動,並推動我們平台的防禦變革。

展望:我們對代理程式安全的長期承諾

加強我們對代理程式進行紅隊測試的能力,並使用我們最強大的模型來自動化部分工作,這有助於透過擴展發現到修復的循環,使 Atlas 瀏覽器代理程式更加健全。這項強化工作重申了安全領域的一個熟悉教訓:通往更強保護的常見途徑是持續對真實系統進行壓力測試,對失敗做出反應,並提供具體的修正。

我們預期對手會持續調整。提示詞注入,就像網路詐騙和社交工程一樣,不太可能被完全「解決」。但我們樂觀地認為,主動且高度響應的快速反應機制可以隨著時間推移,繼續實質性地降低現實世界的風險。透過結合自動化攻擊發現、對抗性訓練和系統級防護措施,我們可以更早識別新的攻擊模式,更快填補漏洞,並持續提高利用的成本。

ChatGPT 代理程式模式功能強大,但也擴大了安全威脅面。清楚認識這種取捨是負責任建設的一部分。我們的目標是讓 Atlas 在每次迭代中顯著提升安全性:增強模型的穩健性,加強周邊的防禦體系,並監控在實際環境中出現的新濫用模式。

我們將繼續在研究和部署方面投資,開發更好的自動化紅隊測試方法,推出分層緩解措施,並在學習中快速迭代。我們也會與更廣泛的社群分享我們所能分享的內容。

安全使用代理程式的建議

在我們繼續在系統層面強化 Atlas 的同時,使用者可以採取一些步驟來降低使用代理程式時的風險。

儘可能限制登入後的存取。我們持續建議使用者在 Atlas 中使用代理程式時,若任務不需要存取已登入的網站,或想限制存取在任務中登入的特定網站,請使用登出模式(在新視窗中開啟)

仔細審閱確認請求。對於某些具有重大影響的動作,例如完成購買或發送電子郵件,代理程式會在繼續之前要求你的確認。當代理程式要求你確認一個動作時,請花點時間驗證該動作是否正確,並確保所分享的任何資訊適合該上下文。

盡可能給予代理程式明確的指示。避免使用過於籠統的提示,例如「檢查我的電子郵件並採取任何必要的動作」。即使設有防護措施,過大的自由度仍可能讓隱藏或惡意內容影響代理程式。要求代理程式執行具體且範圍明確的任務會更安全。雖然這無法消除風險,但會使攻擊更難以進行。

如果代理程式要成為日常任務的可信賴夥伴,它們必須能夠抵禦開放網路所啟用的各種操控。防範提示注入是我們的長期承諾,也是我們的首要任務之一。我們將很快分享更多有關這項工作的資訊。

作者

OpenAI