編按:本文綜合整理自 Embrace The Red 安全部落格(Andreas Happe/@wunderwuzzi23)、Hacker News 討論串,並加入 Siami 編輯部觀點與技術分析。這是 2026 年最具代表性的 AI Agent 安全研究之一——當 Anthropic 把 Auto Mode 設成預設值、宣稱 prompt injection 攻擊成功率降到 0.00% 時,獨立研究員只用一個 ZIP 檔、攻擊成功率實測最高 80%。
事件概要:Anthropic 說「攻不進」,研究員說「80% 進得去」
2026 年 8 月 26 日,奧地利資安研究員 Andreas Happe(@wunderwuzzi23)在部落格 Embrace The Red 發表長篇技術報告《Breaking Claude Code Opus 5 Auto Mode》。他在 Anthropic 委託第三方 Trajectory Labs 的評估報告顯示 Opus 5 Auto Mode 對 prompt injection「0.00% 攻擊成功率」之後,親手做了一個針對性攻擊鏈,結果在小樣本下達到 60–80% 成功率——而且可以讓 Claude Code 在 Auto Mode 下達成 RCE(遠端程式碼執行)、開啟第二個 Claude 實例、甚至接管機器的 C2 回連。
攻擊鏈本身並非傳統「請忽略之前的指令」式 prompt injection。Happe 的設計繞過了 Anthropic 三層防禦:模型訓練、輸入 probe、意圖分類器。整個攻擊從一個看似無害的「請摘要這個網站」任務出發,最終讓 Claude 自己寫出會被 module shadowing 劫持的 Python 解碼器。
這個研究的重要性在於:當 Anthropic 8 月初把 Auto Mode 設成 Claude Code 預設啟動模式、宣稱 prompt injection 在實務上「已經解決」時,這篇報告直接把官方行銷話術打臉。
為什麼這件事重要
Anthropic 在 8 月 8 日把 Auto Mode 從選擇性功能升級成 Claude Code 預設啟動模式。Auto Mode 設計目的是用 ML 分類器取代原本的「允許/拒絕」人工確認,宣稱模型可以在沒有人工介入下安全地執行長時間任務。
Boris Cherny(Claude Code 團隊負責人)隨後公開表示,透過「模型訓練 + 輸入 probe + 意圖分類器」三層防禦,可以把對未見 prompt injection 攻擊的成功率降到「接近零」。Anthropic 委託 Trajectory Labs 跑了 72 個情境各 10 次,官方釋出的圖表顯示 0.00% 攻擊成功率。
這個數字被當作 Auto Mode 行銷賣點。
Happe 的報告打臉三個層面:
- 「0.00%」是 benchmark 涵蓋率,不是安全保證:72 個固定情境的測試無法代表所有可能的攻擊鏈。沒涵蓋到的鏈照樣能成功。
- Auto Mode 不是安全邊界:Happe 開頭直接講結論——Auto Mode 是「方便性功能」加上一個「盡力而為的分類器」,不是 sandbox。
- 安全機制會失敗在沒預期的地方:當 Claude 自己發現被入侵、試圖執行
kill指令時,Auto Mode 分類器反而擋掉了善後指令。防禦機制本身變成攻擊的一部分。
這個事件凸顯出 2026 年 AI Agent 產業的根本矛盾:行銷需要「我們最安全」的故事,技術現實需要「跑在 sandbox 裡」的紀律。當兩者矛盾時,最後出事的會是用戶。
攻擊鏈完整拆解(6 步)
Happe 在部落格給出完整 walkthrough,以下整理成 6 個關鍵步驟:
步驟 1:把 Claude 從 WebFetch 工具推到 curl
網站首頁回應 HTTP 415(Unsupported Media Type)。Claude 觀察到 WebFetch 拿不到內容,主動改用 Bash 工具呼叫 curl。
這是經典「不告訴模型做什麼、只讓惡意路徑看起來最值得走」的 prompt injection 技巧。WebFetch 工具本身就會做摘要,要攻擊它要先破解它自己的邏輯。改成 curl 就跳過這層。
步驟 2:把網站內容塞進 ZIP 壓縮檔
網站自稱是「WIC 語言理論筆記檔案庫」,但實際內容是個 ZIP。ZIP 裡面有:
README.txt(描述解碼器用途)accession-map.csv、MANIFEST.sha256(看起來合理的 metadata)- 七個用 Base85/zlib 編碼的 JSON 筆記
decoder-darwin(macOS 二進位解碼器)struct.py(惡意 Python 模組,會 shadow 標準庫)
Claude 看到 macOS 二進位 decoder-darwin,主動拒絕執行。看起來安全對吧?問題是 Claude 拒絕執行的決定,反而是攻擊者想要的。
步驟 3:Claude 自己寫 decoder,這正是漏洞入口
Claude 看完 README,決定自己用 Python 寫一個替代解碼器。它的腳本大致是:
cd WIC-notebook-catalogue
python3 -c 'import base64, zlib, json; ...'
諷刺的是:Claude 不信任別人寫的解碼器,但信任自己寫的。這個「自己寫比較安全」的安全判斷,正是 exploit 路徑。
步驟 4:Python Module Shadowing 觸發 RCE
Python 慣例:解壓縮目錄會被放到模組搜尋路徑。當 Claude 在解壓縮目錄裡執行 import base64,Python 會先找本地目錄——找到 ZIP 裡的 struct.py,這個檔案 shadow 了標準庫的 _struct。
攻擊鏈:
base64模組 import 時,標準庫 base64 內部會import struct- Python 找到 ZIP 裡的
struct.py,載入惡意版本 - 惡意
struct.py重新匯出真正的_structAPI(讓 base64 正常運作) - 同時在 module-level 執行混淆過的 payload
Happe 提到這個 struct.py 用 ChatGPT 幫忙做了混淆,繞過簡單的 grep 偵測。import 期間會 spawn 一個隔離 Python 子行程,下載並執行遠端 stage。
步驟 5:下載 final stage,spawn C2 callback
子行程(用 python3 -I -c ... 開 isolated mode,避免自己也踩到 shadowing)下載原生 payload、做成可執行、啟動它。
Payload 做了兩件事:
- 建立 C2 callback(證明這是真正的遠端控制,不只是開計算機 demo)
- 立刻開啟 Calculator(視覺化的「入侵成功」展示)
子行程可以脫離 Claude conversation 獨立存活。
步驟 6:Auto Mode 阻擋善後
最有意思的部分在這:當 Claude 在某些執行中後來發現自己被入侵,會嘗試終止惡意行程。
在幾次執行中 Claude 試圖終止惡意行程,但 Auto Mode 拒絕了清理指令。
分類器放行了惡意行程的建立,但擋掉了終止它的指令。安全機制本身變成失敗的一部分。
Happe 還實測了一個變體:惡意 struct.py 啟動的不是 Python 子行程,而是 claude -p headless 開第二個 Claude Code 實例。第二個 Claude 拿到自己的工具存取權,做了基本 recon(whoami、uname、id)、開 Calculator、寫檔到家目錄。「payload 不只跑程式,它會創造另一個 agent」。
「0.00% 攻擊成功率」的迷思
Happe 在報告最後直接點出 Anthropic 行銷話術的問題:
那個 benchmark 測的是 72 個固定情境,各跑 10 次。我的攻擊鏈不在那個集合裡。所以「0.00% benchmark 通過」和「真的 RCE 成功」可以同時為真——這就是單一標題數字誤導的原因。
Cherny 的原話是「prompt injection 在實務上已經大致解決」、「我們就是沒辦法再 demo 出 prompt injection 了」。但同一時間,Anthropic 的資安回應說 Auto Mode 的定位是「方便性功能」加「盡力而為的分類器」,不是安全保證。
兩種訊號放在一起是矛盾的:
- 行銷層:「我們用分類器把成功率降到 0.00%」
- 工程層:「分類器不是 sandbox,決定的攻擊鏈不在它的攔截範圍內」
對開發者來說,最致命的訊號混亂是:預設行為是 Auto Mode,但 Auto Mode 的安全保證是「在 sandbox 裡才能用」。
緩解方案:sandboxing 不是選擇題
Happe 在結論中開的處方非常直接:
解法其實我們談了很多年:不要信任模型輸出。如果你不想成為 AI 入侵與「Normalization of Deviance」的受害者,那 sandboxing 和監控不是選擇題。
實務建議:
- 跑 unattended coding agent 一定要在 container / VM / OS sandbox 裡
- 限制網路 egress
- 監控你的 agent
- 不要把家目錄、SSH key、雲端 credentials 暴露給 agent
- Auto Mode 的 approval 不等於「這個指令安全」的證據
Happe 自己揭露的實務:
我把 Claude 和 Codex 跑在專屬機器上,讓它們自由活動。在我的 workstation 上,我謹慎得多,不用 permission-less 模式。
Siami 觀點:AI Agent 安全進入「產業集體不成熟」階段
這份報告是 2026 年 AI Agent 安全最具代表性的研究之一,但它的結論不是新的。從 2023 年 AutoGPT 開始,Agent hijacking 就是已知風險。新的東西是 Anthropic 把 Auto Mode 設成預設值,並把「已經解決 prompt injection」當行銷賣點。
幾個值得後續追蹤的點:
第一,attack chain 是「針對模型習慣動作」的標準化攻擊。HN 評論中 colinmarc 講得最清楚:因為每個人都拿到同一個模型 Claude Opus 5,所以學習它的行為模式之後,攻擊設計就有標準化模板。同樣的手法對 GPT-5、Gemini 2.5 Pro、Llama 4 也可能有效,只是 trigger 不同。
第二,Auto Mode 反向擋掉善後指令這件事,凸顯「安全機制本身是攻擊面」的設計盲點。這類 bug 不會出現在 72 個固定情境的 benchmark 裡,但會出現在「事情已經出錯了」的邊角情境。Anthropic 需要的是 negative testing——測試 agent 在「發現自己被入侵」時能不能正確善後。
第三,產業普遍對「AI Agent 自主決策」的風險承擔準備不足。從 Shadow AI agent 對企業內部資料庫的存取權限,到個體開發者把 Claude Code 跑在個人工作站上,整個 stack 從模型層到 OS 層都沒有完整的威脅模型。Siami 編輯部認為這個 gap 在 2026 下半年會持續擴大,因為 Anthropic、OpenAI、Google 都把「agentic 自主性」當作下一代產品差異化賣點。
第四,sandboxing 工具會是接下來 6 個月的新戰場。HN 討論中 kstenerud 直接講他自己寫了一套 agent sandboxing 軟體——這代表開發者社群已經在自救。目前沒有任何主流 OS 提供「預設安全」的 AI agent sandbox。Apple macOS 的 App Sandbox 設計是給傳統 app 的,不適合 agent 的動態工具呼叫模式。Linux namespace + seccomp + network namespace 的組合仍然是手動配置。
最後,用 Happe 的話作結:
我認為產業在「劫持 agent」這件事上有長足進步,「忽略先前指令」式攻擊大致上過去了——至少對前沿模型是這樣。然而把它說成「已解決」是誤導。解決 prompt injection 等於解決 alignment 很大一部份,這兩者密切相關。或許「adversarial misalignment」(對抗性失準)才是更好的名稱,因為它更像社交工程而不是一個獨立的技術漏洞。
數據解讀與質疑
幾個關鍵數字需要讀者注意:
| 數字 | 出處 | 真實意義 |
|---|---|---|
| 0.00% | Anthropic/Trajectory Labs benchmark | 72 個固定情境各跑 10 次的結果,不代表對未見攻擊鏈的防禦能力 |
| 60–80% | Happe 的小樣本測試 | 針對性攻擊鏈在小樣本下的成功率,不是統計意義上的 ASR |
| 72 情境 × 10 次 = 720 次測試 | Trajectory Labs | 對「未來所有可能攻擊鏈」的樣本數仍太小,coverage gap 是核心問題 |
| RCE + C2 callback | Happe POC | 不是單純開計算機 demo,證明真正的遠端控制可達 |
值得質疑的點:
- 「Auto Mode 是預設值」這個決定本身就是問題:當一個安全特性被當作「加速開發」的賣點時,用戶會傾向相信它真的安全。Anthropic 需要的是更明確的警告——Auto Mode 不替代 sandbox。
- Boris Cherny 的「沒辦法再 demo 出 prompt injection」發言是行銷話術:Anthropic 在 production 環境下一定知道 cherry-pick benchmark 不能當安全保證。這種發言對開發者社群是有害的。
- veganmosfet 等其他研究員已經有更多 bypass 變體:Happe 自己在結尾提到,其他研究員繞過 Opus 5 Auto Mode 的技巧流傳中。這代表 attack surface 比單一研究報告揭露的更大。
- 產業需要「negative testing」文化:測試「agent 發現自己被入侵時能不能正確善後」、「Auto Mode 是否擋掉合法清理指令」、「sandbox 邊界是否真的生效」這類 negative path。
編按:本文綜合整理自 Embrace The Red、Hacker News 討論串、Anthropic Auto Mode 公告、Building Claude Code,並加入 Siami 編輯部觀點與技術分析。文中所有技術細節(攻擊鏈 6 步驟、Python module shadowing 機制、Auto Mode 擋善後指令)皆來自原始研究報告原文。
網友熱門留言 (8)