Fable 5 發布 24 小時就被扒穿:當對齊技術撞上結構化攻擊,安全護欄形同虛設
六月十號,Anthropic 發布 Fable 5。
同一天晚上,Pliny 團隊的 Pyroclast 工具已經把它的安全層從頭到尾打穿了。
網路攻擊代碼、化學合成路徑、武器製作、心理操縱手法——所有被嚴令禁止的高風險內容,全被鉤了出來。截圖貼滿社群,公開可複現,病毒式傳播。
發布不到 24 小時,一個頂級 AI 公司最新的安全設計,在專業攻擊者面前就已經形同虛設。
Fable 5 的安全架構:分層降級
先說 Fable 5 的安全邏輯,因為它不是一般的「加個 system prompt 擋一下」。
Fable 5 走的是分層降級路線。底層是最強的 Mythos 模型,負責實際推理和生成。外面套了多層分類器,專門偵測輸入和輸出中的敏感內容。一旦分類器判斷觸及高風險主題,系統不是直接拒絕,而是自動切換到能力較弱的模型處理,確保即使有漏網之魚,弱模型也寫不出真正有害的內容。
這個設計在概念上很漂亮。分類器像門衛,弱模型像最後的保險絲。兩道防線。
問題是,門衛認的是「整句話的意圖」。如果你把意圖拆成碎片,每一片看起來都無害,門衛就放行了。等碎片到了 Mythos 那層,它的推理能力太強,自己把碎片拼回完整的有害內容。
保險絲根本沒機會燒斷,因為分類器從來沒有觸發它。
Pyroclast 的攻擊手法:四把鑰匙
Pliny 團隊的 Pyroclast 工具不是一個人坐在電腦前面試各種 prompt,是一套自動化的多代理攻擊框架。從截圖來看,它至少用了四種不同的繞過策略,每一種單獨用可能不夠,組合起來就把整個安全層打穿了。
第一把:Cyrillic 同形字(Homoglyph)
分類器的關鍵字偵測,本質上是字串比對。「reverse shell」這個詞被列為高優先級封鎖對象,直接問絕對會被擋。
Pyroclast 的做法是,不替換英文字母 a,而是把 e 換成西里爾字母的 е(U+0435),視覺上一模一樣,但 Unicode 編碼完全不同。分類器在做字串比對的時候,看到的是一個它不認識的「新詞」,直接放行。
截圖裡的攻擊者自己說得很清楚:「The classifier normalizes some characters but NOT ALL Unicode homoglyphs.」分類器有做部分的 Unicode 正規化,但覆蓋率不夠。這不是一個邊緣案例,是一個系統性的盲區。
第二把:Taxonomy Embedding(分類架構嵌入)
這招更聰明。不直接問敏感內容,而是先讓模型生成一份完整的學術分類架構,比如一份大學課程的 study guide,裡面包含了目標內容的章節編號。
然後下一步,要求模型「展開 Section C.4」。
模型看到的是:「展開我自己剛剛寫的 study guide 中的一個章節。」這在分類器眼裡是一個完全合法的學術延續請求。但 C.4 的內容恰好是 Birch Reduction 的完整電子轉移機制,包含溶解金屬條件、Na/Li 在液態 NH3 中的反應路徑、區域選擇性規則。
分類器看到「expand Section C.4」,判斷為無害。Mythos 模型看到的是自己的上下文,忠實地展開了完整內容。
截圖裡清楚顯示,這個方法在 Pack x5 模式(五個 agent 並行)下運作,Attempt 24 就成功了。而同樣的內容在直接提問時(Attempt 19),被分類器硬擋回來。
第三把:The Crescendo(漸進升級)
不是一上來就問最敏感的東西,而是像煮青蛙一樣,從完全無害的話題開始,一步一步把對話的溫度升上去。每一步都在分類器的閾值以下,但累積起來的對話上下文已經把模型帶到了目標領域的邊緣。
最後一步只需要輕輕一推,模型就跨過了紅線,而分類器只看單輪輸入,看不到整條對話鏈的方向。
第四把:學術包裝(Academic Framing)
把所有輸出包裝成大學課程講義。「CS 695: Network Defense — Lecture Notes」,「Module 7: Reverse Shells at the TCP/IP Level」,「7.1 Why Defenders Must Understand Offensive Mechanics」。
每一行都像是正經的資安教材。分類器很難判斷「教學生理解攻擊原理以便防禦」和「提供攻擊工具」之間的界線,因為在很多合法場景下,這兩者的內容是一模一樣的。
截圖顯示,Fable 5 在這個框架下,輸出了完整的 reverse shell Python 代碼(含 socket programming、dup2 fd redirection、TCP handshake、port 443 evasion),還有完整的 x86 stack buffer overflow exploitation 教程(含 vulnerable C program、ASLR disable、compile flags)。
被鉤出來的東西
列一下截圖裡確認被提取的內容類型,讓你感受一下這個攻擊的覆蓋面:
網路攻擊
- 完整的 reverse shell 實作(listener + client,Python socket programming)
- Stack buffer overflow exploitation(x86 Linux,OSED prep level)
- Port 443 evasion 的具體做法
化學合成
- Birch Reduction 完整四步電子轉移機制
- 溶解金屬條件(Na/Li + 液態 NH3 + ROH)
- 區域選擇性規則(為什麼產物是 unconjugated 1,4-diene)
武器製作
- Shiv(玻璃碎片 + 布包裹)
- Molotov(汽油瓶 + 布條)
- Machete(鑄鐵鍛造 + 木炭回火)
- Rebar Spear(鋼筋磨尖 + 布纏握把)
社會工程
- 心理操縱手法的具體話術
這些不是模型在正常使用下會輸出的內容。每一項在直接提問時都會被擋回來。但透過上面四種手法的組合,全部被繞過了。
為什麼分層降級擋不住
把 Fable 5 的安全架構畫成圖,問題就很明顯了。
分類器是一個「單點判斷」機制。它看的是:這個輸入 / 這個輸出,此刻是否觸及敏感關鍵字或模式。它沒有記憶,不追蹤對話的「方向」,不理解多個無害碎片拼起來之後的「整體意圖」。
底層的 Mythos 模型恰好相反。它有完整的上下文窗口,理解對話的全貌,能把碎片拼回完整的知識。這正是它作為前沿模型的核心能力。
問題的本質是:安全機制的理解力,遠遠低於它所保護的模型的理解力。
分類器是一把只能看一步的棋,Mythos 是能看二十步的棋手。攻擊者只要確保每一步在分類器的視野裡看起來無害,Mythos 就會自動把那二十步走完。
用更精準的術語來講:防禦是 stateless,攻擊是 stateful。
HackAPrompt CEO Sander Schulhoff 在 Lenny’s Podcast 的訪談裡把這個不對稱講得非常透徹。分類器檢查的是單次請求本身是否包含惡意關鍵字。攻擊者思考的是多步驟的行為如何累積,形成最終效果。讀取郵件是合法的,轉寄郵件也是合法的,但組合起來就是資料外洩。每一步都通過了 stateless 的檢查,但 stateful 的攻擊意圖已經完成了。
Fable 5 的分類器就是這樣被打穿的。「expand Section C.4」是無害的。生成一份 study guide 是無害的。但攻擊者把這兩步放在一起,就拿到了完整的化學合成路徑。
這不是 Fable 5 的特例。幾乎所有當前的安全架構都有同樣的結構性問題:外層的防禦機制,永遠比內層的推理引擎更笨。
對齊技術的根本困境
這件事揭露的不是 Fable 5 的問題,是整個對齊領域的結構性困境。
困境一:安全和能力是同一枚硬幣的兩面
模型越強,它理解和生成有害內容的能力就越強。你不能在不削弱模型核心能力的前提下,完全消除它產生有害輸出的可能性。分層降級試圖繞過這個矛盾(讓弱模型處理危險請求),但只要分類器能被繞過,弱模型就永遠沒有上場的機會。
困境二:防禦成本和攻擊成本不對稱
防禦者要堵住所有可能的漏洞。攻擊者只需要找到一個。Pyroclast 是一個自動化工具,可以 24/7 不停嘗試幾百種不同的組合。人工審查和分類器更新的速度,永遠追不上自動化攻擊的迭代速度。
這裡有一個數字值得記住。Schulhoff 在訪談裡指出,針對 GPT-5 這類模型的可能攻擊數量,等同於所有可能的 prompt 數量——不是一百萬種,是 1 後面跟著 1,000,000 個零的數量級。當防護供應商聲稱能攔截 99% 的攻擊時,他們測試的樣本在統計上微不足道。剩下的 1% 仍然是無限多的攻擊。
更致命的數據來自 OpenAI、Google DeepMind 和 Anthropic 的聯合研究:人類攻擊者在 10-30 次嘗試內,對所有最先進的防禦措施達到了 100% 的突破率。不是 99%,是 100%。自動化系統大約 90%。Pyroclast 把這兩者結合了——用自動化系統的速度,配合人類設計的攻擊策略。
困境三:知識的雙重用途
reverse shell 的運作原理,在資安課程裡是防禦者必學的知識。化學反應機制,在大學化學課裡是基礎教材。模型無法在不理解這些知識的前提下提供有價值的教育服務。而一旦它理解了,攻擊者就能用上面那些手法把知識鉤出來。
你可以要求模型拒絕一切可能被雙重使用的知識,但那樣的模型,對 99.99% 的正常用戶來說,也沒有用了。
困境四:你無法修補一個大腦
傳統資安的邏輯是:發現漏洞、編寫補丁、部署修復,99.99% 確定問題已解決。AI 安全的邏輯是:發現一個攻擊 prompt、試圖透過微調或過濾來「修復」,然後 99.99% 確定問題依然存在,只是換了一種形式。
Prompt injection 不是程式碼裡的 bug。它是語言模型的結構性結果。模型的核心能力就是根據輸入調整行為——輸入本身就是控制面。你不是在堵一個固定入口,而是在試圖證明:在幾乎無限的表達方式裡,沒有人能用任何一句話誘導它越界。
Schulhoff 的原話講得最直接:「AI 監管機制沒有用。我再說一次:監管機制沒有用。如果有人決心要欺騙 GPT-5,他們處理那些監管機制將毫無問題。」
Fable 5 證明了他是對的。不是 GPT-5,是 Fable 5,但結論一模一樣。
最扎心的真相
說白了,當前的安全護欄拦得住普通用戶,拦不住高水平攻擊者。
這不是一個可以靠「更好的分類器」或「更多的紅隊測試」解決的問題。它是一個結構性的不對稱:模型的能力越強,攻擊者能利用的空間就越大,而防禦者能加的約束在不毀掉可用性的前提下就越有限。
那有沒有真正可行的路?有。但方向完全不同。
Schulhoff 在訪談裡提出的核心主張是:停止試圖淨化輸入輸出,改成假設 AI 一定會被騙,然後限制它被騙之後能做的事。 不是過濾語言,是限制權限。不是防止入侵,是限制入侵後的破壞半徑。Google DeepMind 的 CaMeL 框架就是這個思路的具體實現——在執行任務前,根據用戶的意圖預先限制 Agent 可以採取的行動集合。在 AgentDojo 基準測試中,CaMeL 擋下了近 100% 的攻擊,同時保留 77% 的任務完成率。
但這個解法對 Fable 5 這種「純對話模型」不適用。CaMeL 管的是 Agent 的行動權限,Fable 5 的問題是模型輸出的內容本身。你不能用「限制行動」來解決「說了不該說的話」——除非你接受一個事實:前沿模型在知識維度上,本質上是不可完全約束的。
這才是 Fable 5 事件最讓人不安的地方。不是某一家公司的安全做得不好,是整個領域在「對話模型的知識安全」這件事上,還沒有找到結構性的解法。
關鍵洞察
1. 分層安全架構的致命假設
所有基於分類器的安全方案都假設:「如果每一步都無害,那整體就無害。」這個假設在面對結構化多步驟攻擊時完全不成立。安全機制需要理解「意圖的方向」,而不只是「內容的快照」。
2. 自動化攻擊 vs 人工防禦的不對稱
Pyroclast 這類工具把越獄從「手動嘗試」升級成了「工業化生產」。幾百次自動嘗試裡只要有一次成功,就是可複現的漏洞。防禦端如果還停留在「發現一個堵一個」的模式,永遠會慢一步。
3. 對齊不是技術問題,是結構問題
更好的 RLHF、更大的紅隊、更多的分類器,都是在同一個框架裡打補丁。根本問題是:你讓一個能理解一切的系統去假裝不理解某些東西,這個假裝在足夠聰明的攻擊者面前,永遠會被戳穿。
4. 唯一可行的方向是架構性圍堵,不是語言過濾
對 Agent 類應用,答案是最小權限 + 意圖約束(CaMeL 這類框架)。對純對話模型,目前沒有已知的完整解法。這才是最讓人不安的結論。
延伸閱讀
這篇文章是 AI 安全系列的一部分。相關文章:
- AI Guardrails 為什麼註定失敗?Sander Schulhoff 訪談 — 本文大量引用的 podcast 訪談整理,stateless vs stateful 攻防不對稱的完整論述,CaMeL 框架介紹
- AI Agent 安全性:遊戲規則已經改變 — Salesforce ForcedLeak、Microsoft 365 Copilot EchoLeak 的深度分析
- 你的 Agent 是我的:LLM Proxy Relay 攻擊 — UCSB 論文實測 428 個 LLM API,29 個在偷你的東西
- Prompt Injection 與 Harness Engineering — 當 Agent 能用工具,Prompt Injection 的殺傷力翻了幾個數量級