
LLM 越獄解析:越獄改變了什麼,以及為何它並非 Abliteration
- Orca新Orca: OrcaCyber Ultra 1.02026-10-17$5.00 / $10.00 每百萬 tokens · 12 tok/s
- deepseek新DeepSeek: DeepSeek V4.1 Flash 10172026-10-1745智能
- DeepSeek新DeepSeek: DeepSeek V4.1 Flash2026-10-1740智能
- Orca新Orca: OrcaCyber Zero 1.52026-10-10$3.00 / $7.50 每百萬 tokens · 139 tok/s
- openaiOpenAI: GPT-6.1 Sol2026-09-2952智能
- anthropicAnthropic: Claude Sonnet 5.52026-09-2856智能
- typesafeTypeSafe: Jev 1.132026-09-24$0.04 / $0.00 每百萬 tokens · 952 tok/s
- OpenAIOpenAI: GPT-6 Luna2026-09-2238智能
- OpenAIOpenAI: GPT-6 Sol2026-09-2248智能
- AnthropicAnthropic: Claude Opus 5.52026-09-2258智能
- xAIGrok 4.72026-09-2146智能
- OrcaOrca: OrcaCyber Zero 1.02026-09-17$3.00 / $7.50 每百萬 tokens · 51 tok/s
- OrcaOrca: OrcaVerify Text 1.02026-09-16$2.00 / $0.00 每百萬 tokens · 829 tok/s
- OpenAIOpenAI: GPT-6 Astra2026-09-0453智能77程式
- GoogleGoogle: Gemini 3.8 Flash2026-09-0241智能76程式
- AlibabaQwen: Qwen3.8 Max (0902)2026-09-0245智能76程式
- AnthropicAnthropic: Claude Fable 5.12026-09-0153智能82程式
- TencentTencent: Hy4 preview2026-08-28$0.83 / $2.50 每百萬 tokens · 47 tok/s
- AlibabaQwen: Qwen3.8 Flash2026-08-26$0.15 / $0.47 每百萬 tokens · 94 tok/s
- z-aiZ.ai: GLM 5.3 Flash2026-08-2642智能72程式
2023 年 7 月,三名研究人員以 32 條有害提示,透過 28 種不同的攻擊,對 GPT-4 和 Claude 1.3 進行測試。最強的單一手法——將三個攻擊家族疊加在一起——突破了整組提示中的 94% 對 GPT-4 生效,對 Claude 1.3 則突破 81%。真正讓整組提示失守的,不是更強的攻擊,而是一項選擇:只要讓對手能為每條提示挑選 28 種攻擊中最有效的一種,就能在兩個模型上讓全部 32 條提示都突破成功,論文將此記載為乾淨的 1.00。令人不安的解讀是,越獄並不是一種會隨著模型變得更聰明或行為更得體而消失的缺陷。它是提示的一種屬性,而提示屬於發送它的那個人。拒絕停止之後發生的事——工具呼叫、檔案讀取、輸出最後落到某個會據此行事的去處——正是AI 事故檔案庫 成立來記錄的部分。
這種說法值得精確釐清,因為「越獄」被用來指稱好幾種不同的事情,而這些差異決定了任何緩解措施究竟能做到什麼。本文涵蓋越獄所編輯的對象、實際測量數字究竟說明了什麼、為什麼「它是否可被越獄」沒有針對單一模型的答案,以及這項技術在何處不再屬於模型安全問題,而轉變為系統安全問題。
越獄是對提示詞的修改,而非對模型的修改
模型完全維持出貨時的原樣。不會重新訓練、不會更動任何權重,也不會進行微調。攻擊者改動請求,使遵從成為在當時情境下最正確的續寫,而原本訓練進模型裡的安全行為,則會敗給它同樣被訓練去遵循的另一項相互競爭的指令。
那單一句話就排除了很大一類所謂的修正方案。你無法在權重層面修補它——權重本身沒有任何問題。你無法窮舉它,因為提示詞的空間是開放的。而且你無法只檢查一次,因為今天失敗的技術並不是明天會嘗試的那一項。你能做的是,在一組固定的提示詞集上,針對固定的模型版本,測量一個比率,然後觀察當這三者中任一項改變時,該比率如何變動。
32 個提示詞的實驗實際測量了什麼
這項研究是Jailbroken:LLM 安全訓練為何失效?,作者為 Alexander Wei、Nika Haghtalab 與 Jacob Steinhardt,於 2023 年 7 月以 2307.02483 發表於 arXiv。其測試集包含 32 則有害提示——一半取自已發表的 GPT-4 評估,一半改編自已發表的 Claude 紅隊演練研究——而其結果衡量方式很直接:只有當回覆既有害又切合原始請求時,該案例才計為成功。任何停滯、轉移話題或回答不同問題的情況都不計入。
結果有兩項特性比任何單一資料列都更有用。第一項是攻擊在不同模型之間轉移得多麼不均勻。AIM 角色扮演在 GPT-4 上得到 0.75,在 Claude 1.3 上則是 0.00。Few-shot JSON 得到 0.53 和 0.00。與此同時,Base64 編碼則是反向的不均勻——在 GPT-4 上為 0.34,在 Claude 1.3 上為 0.38——而干擾項則分別落在 0.44 和 0.47。某個廠商顯然已針對某種技術訓練過,該技術在該模型上就會讀作零分,卻完全不能說明旁邊那個模型的情況。
第二種情況是當各類手法組合在一起時會發生什麼。前綴注入加上拒絕抑制再加上 Base64,對 GPT-4 得到 0.56,對 Claude 1.3 得到 0.66。加入樣式注入後,提高到 0.69 和 0.84。再加入網站內容生成與格式限制後,提高到 0.94 和 0.81。疊加才是關鍵:每一層都是模型被訓練去做的事,而組合起來後,沒有任何一個 token 位置會讓拒絕成為更自然的續寫。

表中那些模型已有三年之久,也不再是現在任何人會部署的模型。重點不在數字,而在模式。表中的每一種機制,在之後的每一個模型中依然存在,因為它們從來都不是 GPT-4 或 Claude 1.3 的錯誤——它們是指令遵循與安全訓練如何互動所產生的結果。

安全訓練失敗的兩種方式
這篇論文的解釋異常清晰,也是值得隨身帶著走的部分:失效模式有兩種,而表格中的每一個攻擊,都是其中一種的實例。
相互競爭的目標指的是當模型的能力與其安全目標指向不同方向時所產生的情況。遵循指令是一種能力。當請求被包裝成:拒絕就會違反模型受過強烈訓練而必須服從的某項指令時,模型會偏向該指令來解決衝突。前綴注入是最基本的形式:告訴模型它的回覆必須以「Absolutely! Here's」開頭,而最初的幾個詞元就已經是一項承諾,使拒絕變得自相矛盾。拒絕抑制則從另一側攻擊同一個接縫,做法是加入格式規則,禁止寫出拒絕時非得使用的那個句子。
錯配的泛化是指當安全訓練涵蓋的輸入分佈狹窄,而模型的通用能力並未涵蓋該分佈時所出現的現象。模型在預訓練期間學會了 Base64,能夠完美遵循經過編碼的指令。安全訓練主要見過自然語言請求,從未教會它辨識經過編碼的請求仍然是一項請求。同樣的失敗也會出現在去母音化、ROT13、leet 語言、載荷拆分與干擾任務上:每一種都是能力可泛化到、但安全行為無法泛化到的格式。
一旦你有了這兩個類別,這些攻擊就不再像是一堆雜七雜八的伎倆,而開始像是兩個具有共同根本原因的家族——這也正是它們為何能組合得如此好的原因。一個會抑制拒絕 並把自身意圖藏在編碼裡的提示,正是在同時利用這兩種失效模式,而 0.94 就是這種情況的寫照。
為什麼「它是否可被越獄」沒有針對個別模型的答案
這個領域最常見的查詢形式,是模型名稱後面接上「jailbreak」這個詞。這是錯誤的分析單位,原因就在上表。成功與否同時取決於至少五件事:基礎模型的能力、它受過什麼安全訓練以及是在哪個分布上訓練、提示格式、取樣設定,以及攻擊者願意投入多少次嘗試。
最後一點值得單獨用一句話說明。以每個提示一次嘗試所測得的比率,與以「28 次中取最佳」所測得的比率,並不是同一種測量;而論文的自我調整結果——兩個模型都達到 1.00——屬於後者。任何人引用越獄成功率卻不說明指的是哪一種,等於引用了不可用的東西。現實中的防禦問題不是「它能不能被攻破」,而是「需要多少次嘗試,以及我的技術堆疊中是否有任何東西會注意到這些嘗試」。
隨之而來有兩個實際後果。一個今天能抵抗你的提示集的模型,可能在版本更新、安全層變更或服務端設定變更後不再抵抗——結果只對你測試過的建置版本有效,這就是為什麼沒有版本與日期的測試不算結果。而同一組提示集跑在兩個模型上,只會告訴你你的技術堆疊對哪一個比較寬鬆,而不是哪一個安全。
越獄不是什麼:abliteration
這兩者經常被混為一談,因為兩者最終都是模型產生它被訓練成不該產生的輸出。它們不是同一種改動,而這個差異,正是「你可以加上的控制」與「你無法加上的性質」之間的差異。
• 越獄 — 提示層編輯。權重未變。拒絕方向仍在模型中;只是請求被安排成讓其他行為的優先級高於它。還原提示,該行為也會隨之還原。
• Abliteration——一種權重層編輯。拒絕方向會被辨識出來——通常是活化空間中的某個方向——並從模型權重中投影移除,使模型對該類請求完全不再產生拒絕。這是對模型產物的永久性變更,也是為什麼經過 abliteration 的檢查點,會與同一個基礎模型在搭配巧妙提示詞時表現不同。這項編輯的運作機制,詳見我們的 abliteration。
營運上的差異比術語更重要。越獄是執行階段事件:它隨著請求出現,可以像其他請求一樣被計數、限流、過濾和記錄。被去拒答(abliterated)的模型則是供應鏈事件:控制機制在你收到模型之前就已經被移除,再多的提示詞層監控也無法把它恢復。如果你的威脅模型是「有人會試圖說服模型」,那你屬於第一類。如果是「有人會交給我一個已移除拒答機制的模型」,那你屬於第二類,而唯一真正的控制手段是來源溯源——確知端點實際提供的是哪個檢查點。
越獄也不是提示詞注入
第三個被混為一談的術語是提示注入,而區辨的關鍵問題在於攻擊者是誰。越獄來自使用者,使用者試圖取得模型被訓練來保留、不願提供的內容。提示注入則來自內容——檢索到的文件、網頁、工具結果——其中帶有開發人員從未寫過的指令,而且無論使用者是否懷有惡意都有效。同一個模型可能對其中一種免疫,卻對另一種門戶洞開,因為它們是在不同地方被擊敗的:越獄發生在模型的輸入與輸出,注入則發生在資料與指令之間的信任邊界。
實際上什麼能降低比率?
這裡沒有任何保證,任何與此相反的說法都是推銷話術。以下是一組會改變這些數字的控制措施,並依投入心力後能換得多少成效來排序。
• 假設提示層終將失守。任何仰賴模型拒絕的控管,只要碰上一個會自我調適的攻擊者,就離歸零只有一步之遙。設計時就假設請求終究會穿過防線,並把控管放在傷害實際會發生的地方。
• 限制成功越獄所能觸及的範圍。 遭越獄的助理,其影響範圍取決於其工具、憑證與檢索範圍所允許的一切。對工具採取最小權限,並在檢索上依租戶劃分範圍,能比任何提示篩選器更可靠地降低成功越獄的價值。
• 評判輸出,而非提示詞。輸出端分類器能捕捉你從未見過的家族,因為它們著眼於實際產出的內容,而不是當初要求的方式。它們也是當輸入格式新穎時唯一仍能運作的層——而根據不匹配泛化的失敗模式,這大多數時候都是如此。
• 將系統提示詞視為組態值,而非安全邊界。 它與攻擊同處於同一個上下文視窗中的文字。它會提高一次嘗試的成本;但不會阻止嘗試。
• 讓每一次嘗試都看得見。 防禦者相對於自適應攻擊者唯一的優勢,在於攻擊通常會反覆進行。速率限制、重複偵測與日誌記錄,能把一場多達 28 次嘗試的搜尋行動,變成一個你看得見的事件,而不是 28 個單獨看來都毫無異狀的請求。
• 每次模型變更時都要重新測試。版本固定(pin)加上固定的提示集,才能把「我們測試過一次」變成可拿來比較的數字。沒有固定版本,比較就毫無意義。
如何衡量你自己的目標
如果目標是一個你能據以行動的數字,就固定論文所固定的三個變數:提示集、模型版本,以及嘗試次數。使用同時包含兩種失敗模式的提示集——讓拒絕變得棘手的指令,以及隱藏請求的編碼——因為只由其中一種構成的集合,會讓對另一種較弱的模型顯得更好。保守評分:有害且切題,而不只是語氣不對。並將結果回報為相對於明確陳述之嘗試次數的比率,絕不要回報成是或否。
當有多個候選模型時,唯有讓同一組提示詞在每個模型上各跑一遍,比較才成立;而這正是底層管線比方法論更關鍵的地方。在我們所路由的模型之間執行一次評估,可免去逐一處理各供應商合約與用戶端的工作;供應商定價以原價透傳、零加成,因此執行成本就是供應商收取的費用,別無其他。評估衡量的是模型的行為,不是我們的行為——路由改變的是由哪個模型回答,並不會讓其中任何一個更常拒答。
唱片從哪裡繼續
一個實測的成功率只能告訴你提示層有多難被突破。它不會告訴你在生產環境中有人突破它之後發生了什麼,而第二個問題才決定這個成功率是否重要。產生一段粗魯文字的越獄是內容審核問題。產生工具呼叫的越獄則是事故,而差別完全在於系統讓輸出觸及了什麼。

那份存檔是實地紀錄:代理實際做了什麼,每筆紀錄都有來源,並附上是否有人受害的判定。對照越獄測量結果來讀,它能回答該測量無法回答的問題——提示所跨越的邊界,是否是下游任何環節所依賴的邊界。若是,則該越獄是一項安全發現,而該控制措施應歸於工具權限之中。若不是,則該越獄是內容結果,誠實的做法是把它歸類為內容結果,而不是把它誇大成漏洞。
結語正是證據所支持的那個結論。越獄不會因為有更好的模型而獲得解決,因為這些失效模式是結構性的:遵循指令是一種能力,而安全訓練是較狹窄的一種能力,兩者之間的落差正是本文中每種攻擊所在之處。可以解決的是後果——藉由確保一個不再拒絕的模型仍無法有多大作為。
