H
Howardism
Plate IIAgent Security機器翻譯 · machine-translated過時翻譯 · stale translationENHOWARDISM

Agent 式提示注入

PublishedMay 28, 2026FiledConceptDomainAgent SecurityTagsSecurityPrompt InjectionThreatsInput ValidationReading17 minSourceAI-synthesised

將惡意指令直接或間接注入 agent;LLM 無法可靠區分資訊與指令;防禦方式包括 spotlighting(50%→<2%)、constitutional classifiers(封鎖 95%)、輸入隔離與縮減攻擊面——但第二類 IPI,即 agent data injection,偽造的是 *受信任資料* 而非指令,能繞過所有這些防禦

Agent 式提示注入插圖

資料來源#

摘要#

提示注入是插入惡意指令,使 agent 執行攻擊者命令的行為。OWASP 將其列為 agent 式系統的首要威脅,而其背後的核心技術事實,也是整個 Zero Trust for AI Agents 框架的承重基礎:LLM 無法可靠區分資訊性上下文與可執行指令(Microsoft Research)。由於模型將資料與命令視為同一個 token 串流,光是「告訴 agent 不要這樣做」永遠無法徹底解決問題——防禦必須是結構性的。

兩種形式#

  • 直接提示注入——攻擊者製作能覆寫系統指令的輸入:明確的指令覆寫、用 Base64、hex 等編碼方案繞過篩選器,以及對人類看似毫無意義、卻能引導輸出的對抗性後綴。研究顯示,演算法方法能以可在多個模型家族間轉移的提示,達到 100% 的攻擊成功率
  • 間接提示注入——更陰險的形式。攻擊者將指令嵌入 agent 處理的外部資料(網頁、電子郵件、文件)中。使用者從未看見 payload,而 agent 卻將其當成合法請求加以執行。這正是讓能瀏覽網頁、讀取郵件或攝取文件的 agent 在結構上暴露於風險的原因。

注入也是相鄰威脅的傳遞機制:tool-misuse 與 tool-chaining 攻擊都透過它觸發;當注入的指令被寫入持久記憶體時,也會成為 Memory and Context Poisoning 的攻擊向量。

間接注入的第二類:Agent Data Injection#

上述兩種形式都建立在「注入的資料被讀成指令」之上。Agent Data Injection (ADI)(Choi et al., arXiv 2607.05120,2026 年 7 月)是另一種獨立的間接注入類別,它利用的是更細緻的邊界:讓不受信任的資料被誤讀成受信任資料,也就是模型所依附的中繼資料(評論作者/角色、電子郵件的 sender、Web UI 元素 ID、tool-call 歷史)。agent 仍會執行使用者的任務,但依據的是攻擊者偽造的資料。其技術機率式分隔符注入,會注入不精確/逸出的分隔符(\"、偽造的 <function_calls> 標籤);確定性 parser 會拒絕這些內容,但 LLM 卻可能將其誤讀為結構。

這裡有兩個原因使其重要。第一,ADI 繞過本頁整理的防禦:指令注入防禦強制維持指令↔資料邊界,因此當指令注入對最先進的 agent 防禦達到約 0% ASR 時,ADI 仍可達 50%——包括在 Claude Code、Codex 與 Gemini CLI 上可運作的 RCE 與供應鏈攻擊,以及在 Claude in Chrome 上的任意點擊。第二,它讓下方的持久性質問題更加精確:關閉指令/資料邊界,只會將攻擊移到下一個更細的邊界,因為根本原因(LLM 對結構分隔符的機率式解讀)是架構性的,而不是單一可訓練規則。

防禦(結構性,而非勸告式)#

框架的輸入驗證分層與 Phase 4 規定了分層防禦:

  • 輸入隔離/spotlighting——將所有自然語言輸入視為不受信任,並清楚地劃定界線,讓模型知道哪些是資料、哪些是指令。Microsoft 的 Spotlighting 將間接注入成功率從超過 50% 降至低於 2%。這是槓桿效益最高的控制措施。
  • Constitutional classifiers——掃描提示與回應、尋找操縱企圖的 AI 防護機制。Anthropic 的方法在測試中封鎖了 95% 的越獄嘗試,過度拒答僅小幅增加。它可以訓練成同時監控輸入與輸出的 LLM guard。
  • 輸入清理——schema 驗證、長度限制、已知不良模式與編碼 payload 篩選(Foundation → Enterprise)。值得注意的是,這無法直接從 SQL injection 移植過來:agent 輸入是自由形式且不可預測,因此簡單的強制規則並不足夠。
  • 限制攻擊面——限制誰以及什麼可以與 agent 互動。這是傳統技術,卻是最有效的方法之一:不受信任的輸入越少,注入機會就越少。
  • 參數驗證——在 agent 端與工具端(Phase 5)驗證 tool-call 引數;拒絕超出預期範圍的參數。

Frontier model 測量:Opus 4.8 System Card#

Opus 4.8 System Card(2026 年 5 月)稱提示注入穩健性是「我們最高度重視的事項之一」,並提供具體數字——以及坦率揭露的回歸:

  • 靜態基準測試已飽和。 Claude 模型在很大程度上已在 Gray Swan/UK-AISI 的 Agent Red Teaming (ART) 基準上飽和;攻擊成功率已低到測量雜訊很大,而且 ART 只涵蓋工具使用。該卡明確警告,已知攻擊的固定資料集會製造虛假的安全感——必須採用自適應評估。
  • 首次即時 bug bounty。 該卡報告 Anthropic 首次舉辦的一週即時 bug bounty(與 Gray Swan 合作):專家 red-teamers 在 12 個情境——工具使用、coding、瀏覽器使用各 4 個——中,對隱藏身分的模型展開競賽。這正是 "impossible not tedious" 原則所要求的自適應攻擊者測試,因為靜態基準測試恰好獎勵那些只增加摩擦、卻會失效的防禦。
  • 一次已報告的回歸。 Opus 4.8 比 Opus 4.7 稍微不穩健(在 ART 與 bug bounty 中落在 Opus 4.7 和 Sonnet 4.6 之間),但仍領先所有可比的 frontier model。這是 agent 式安全性中唯一一個 4.8 倒退的面向——公開明說,而不是掩蓋。
  • Probes 填補差距。 上述測試結果是未套用產品防護的裸模型結果。部署時,Anthropic 預設會在大多數 agent 式產品加入 probes——在內部模型表徵上訓練的輕量偵測器(見 White-Box Activation Monitoring),帶來實質提升,使系統恢復到與 Opus 4.7 一致。已部署系統的數字是實務穩健性的下限

結論再次支持本頁主張:模型層級的穩健性確實存在,但在不同版本間並非單調提升,因此持久的防禦應是結構性的(隔離、spotlighting、表徵層 probes),而不是期待「下一個模型就會安全」。

為何「繁瑣」的防禦在此失效#

以編碼為基礎的篩選器與模式封鎖清單都是摩擦控制:有耐心的攻擊者可以重新編碼 payload。依照 Impossible, Not Tedious (Design Test),持久有效的控制措施會改變結構(spotlighting 劃定界線、隔離措施加以隔離、分類器進行語意偵測),而非僅僅提高重試成本。

帶內與帶外:在模型之外強制執行#

上面整理的防禦(spotlighting、constitutional classifiers、輸入清理)都是帶內防禦——它們在模型上或模型內,以及遭受攻擊的通道中運作。第二代方法將注入重新界定為授權問題,而非內容問題,並將強制執行移到模型之外:確定性政策監控器在動作生效之處中介該動作,不論模型被說服了什麼。完整說明請見 Out-of-Band Prompt-Injection Defense(CaMeL、FIDES、Progent、RTBAS、FORGE,並從經典基礎原語讀起——Biba integrity、reference monitors、least privilege)。

vault 必須標明的一個直接張力。 本頁的帶內標題數字來自第一方來源,且主要是靜態基準測試:Microsoft 的 spotlighting(50%→<2%)與 Anthropic 的 constitutional classifiers(95%)。第一個獨立的自適應評估來源(Narisetty et al., 2026)報告,自適應且了解防禦的攻擊(Nasr et al. 2025)讓十二種已發表的帶內防禦攻擊成功率超過 90%——spotlighting 與 sandwiching 超過 95%——幾乎反轉了它們的靜態基準分數。這並不表示 spotlighting 毫無價值(它確實是抵禦非自適應攻擊的縱深防禦層,而且 Opus 4.8 卡片已警告固定資料集會製造虛假的安全感),而是表示 50%→<2% 衡量的是對已知攻擊集的抵抗力,不是對自適應攻擊者的抵抗力——正是本頁 Opus 4.8 章節提出的警語,現在得到獨立驗證。相較之下,同一篇論文中,確定性的帶外閘門(Progent)在針對弱小型開放權重 agent 的手工自適應攻擊下仍然守住(25.8%→4.2%,自適應時為 2.6%)——這是兩類防禦本質不同的提示性、而非決定性證據。

相關連結#

  • Internal Signatures of Misalignment——Opus 4.5 悄悄辨識出偽造搜尋結果注入(其 workspace 中出現 fakeinjectionfalsepoison 與假),並直接從回答中省略結果;直到 J-lens 讀取它之前,這項防禦都不可見

  • Jacobian Lens (J-lens)——讓無聲的注入辨識變得可觀測的讀出工具,也是候選偵測器:模型通常早於 harness 知道

  • Zero Trust for AI Agents——Phase 4(「防禦提示注入」)與輸入驗證控制網域(hub)

  • Least Agency——限制成功注入的授權原則:即使 agent 被劫持,也只能濫用其 agency 所允許的工具

  • Memory and Context Poisoning——注入是持久記憶體損毀的傳遞向量;兩者都利用相同的「資料 ≡ 指令」弱點

  • Impossible, Not Tedious (Design Test)——區分結構性防禦(spotlighting、隔離)與只增加摩擦的篩選器

  • Claude Code Auto Mode——分類器控管的工具核准,是 constitutional-classifier 概念在動作邊界上的部署實例

  • Agentic Misalignment (AM)——注入是外部攻擊者誘發 agent 有害行為的方式;agentic misalignment 則是出於自我動機的類比

  • OWASP——將提示注入列為 agent 式威脅之首

  • MCP and Computer Use——瀏覽、電子郵件與文件工具是間接注入的入口

  • White-Box Activation Monitoring——表徵層 probes 是已部署的模型內部防禦層;與 eval-awareness probes 屬於同一技術家族

  • Claude Opus 4.8——其 card 報告首次即時提示注入 bug bounty 與坦率的穩健性回歸(相較 Opus 4.7)

  • Claude Sonnet 5——改良的劫持抵抗力是相較 Sonnet 4.6 的主要 agent 式安全性進步;方向與 Opus 4.8 報告的回歸相反,因此穩健性在不同模型產品線之間也非單調,而不只是在同一產品線內

  • Capability-Gated Model Fallback——Fable 5 的安全分類器以更廣泛的涵蓋範圍延伸本頁的 constitutional-classifier 路線,並針對通用越獄加固(1,000 多個 bug-bounty 小時內沒有通用越獄)

  • Self-Report as a Safety Signal——回應端 prefill 是輸入端注入的姊妹問題;兩者中模型都無法可靠標記對抗性內容,而可靠的防禦是獨立檢查(輸出上的安全分類器),不是模型自己後續產出的字詞

  • Out-of-Band Prompt-Injection Defense——與本威脅頁相對應的防禦架構:以確定性的 reference monitor(CaMeL/FIDES/Progent/RTBAS/FORGE)在模型外部強制安全;第一個獨立的自適應評估注入防禦來源

  • Agent Data Injection (ADI)——間接注入的第二類:透過機率式分隔符注入偽造受信任資料(中繼資料、工具歷史),而不是指令;繞過本頁防禦,並在 coding agent 上造成真實 RCE

  • MCP Tool Poisoning——MCP 專屬的間接注入子類別(payload 搭載於工具描述/回傳值,而非使用者輸入);ShareLock 是其中最大化隱蔽性的成員,使用 threshold secret-sharing 破解本頁整理的以描述為基礎的分類器與熵偵測器——資訊理論上乾淨的 payload,任何單一工具掃描都無法標記。其 Agentjacking 案例研究(Tenet Security、case-study)是本頁結構性防禦論點的真實世界佐證:Tenet 報告,即使系統提示與 skills 明確告訴 agent 忽略不受信任資料,agent 仍執行了注入的 npx 命令——「你無法用更好的提示修好這件事。」這是供應商報告,權重低於 empirical 來源,但它精確呼應 ADI 所測量的現象(提示層加固無法阻止資料內偽造)

  • Task-Specification Effects in Prompt Injection (AutoDojo)——自適應評估的對應研究:廉價的黑箱攻擊(AutoDojo)可從報告靜態 0% 的篩選器中恢復兩位數 ASR,並顯示規格不足(action-open)的任務在結構上更容易被注入,因為注入可以被讀成資料而非指令

  • Capability Gating Is Not Authorization——本威脅下方的一層:成功注入後,框架是否會執行產生的呼叫?Mellafe Zuvic(2026)稽核 LangChain/LlamaIndex/Stripe,發現只有 capability gating、沒有逐次呼叫的 value authorization,因此遭入侵模型的呼叫預設就會執行;本頁描述的相同任務對齊框架,也推動了測得的 naive→task-aligned 嘗試跳升(glm-4.7 0.283→1.000)

  • Off-Host, Identity-Bound Authorization——明確試圖阻止注入的授權層答案:aiAuthZ(Kodathala,arXiv 2607.05518)刻意讓注入文字通過 ingress,改為確保它「不授予任何權限」,因為呼叫的權限繫結於 off-host 最近一次驗證的人類訊息。其 15-model 結果也從防禦側再次確認本頁論點——模型層拒答不均(100%→38%),且不按價格排序(最昂貴的模型只拒絕一半攻擊),所以「下一個/更貴的模型會拒絕」不是防禦;只有當攻擊者與目前使用者是不同 principal 時才具有決定性(單一作者 preprint)

  • Agent Identity Management System (AIMS)——身分層防禦:AIMS 正是禁止 LLM 持有憑證,使遭劫持的模型無法被操縱來洩露憑證(模型從未持有的秘密就無法被外洩)

  • Can Models Learn to Separate Instructions from Data? Durable Property vs Training Gap——本頁核心開放問題的正式綜整:資訊/指令(以及受信任/不受信任資料)邊界是持久的架構性質,還是可關閉的訓練缺口?五個來源的答案是:在重要的層級上具持久性——能力會縮小每個邊界的缺口,卻不會消除開啟下一個邊界的機制

開放問題#

  • Spotlighting 與 constitutional classifiers 各自留下殘餘值(2%、5%)。疊加後,現實可達的下限是多少?面對知道兩者都已部署的自適應攻擊者,這個下限能維持嗎?(Opus 4.8 的即時 bug bounty 部分回答了這點:自適應專家 red-teamers 仍能在裸模型上找到攻擊;已部署的 probes 會提升防禦,但不會將殘餘值歸零。AutoDojo(Ma et al. 2026)進一步指出:一個 0% 的靜態 ASR 並非下限——廉價的黑箱自適應攻擊,而不只是白箱攻擊,能針對靜態得分為 0% 的篩選器恢復整體 28%(action-open 任務為 64%)。因此,對易受攻擊模型上的篩選器防禦而言,現實下限是兩位數,而不是零。但同一攻擊對較新的高能力基礎模型幾乎不會改變 ASR——說明下限是模型的屬性,而非分層篩選器防禦的屬性。)
  • 儘管整體對齊能力廣泛提升,為何 Opus 4.8 相較 Opus 4.7 在提示注入穩健性上回歸——這是能力/穩健性取捨,還是更困難的自適應評估所造成的假象?

已解決問題#

  • 「LLM 無法可靠區分資訊與指令」——這是架構的基本性質,還是未來模型可以填補的訓練缺口?框架將其視為持久性質。答案:Can Models Learn to Separate Instructions from Data? Durable Property vs Training Gap 綜整了這組研究——在重要的層級上具持久性:任何單一邊界都可訓練(加固可將指令注入降至約 0%),能力也會降低每個邊界的易感性(未防禦靜態 ASR:Claude-Haiku-4.5 為 0.3%,GPT-4o-mini 為 58.6%),但關閉一個邊界只會將攻擊移到下一個更細的邊界,因為根本原因——對不精確分隔符的機率式解讀——是架構性的;「等待下一個模型」降低的是數字,不是機制,因此應在模型外部強制邊界。部分回答(組成來源):Narisetty et al. (2026) 認為它具有持久性,並引用 Zverev et al. (2025)——目前模型無法維持可用的指令/資料分離,prompting 與 fine-tuning 都無法可靠地誘導出這種分離。他們的處方是停止嘗試在模型內修復,改在模型外部強制控制/資料分離(確定性動作中介),而這在自適應攻擊下的表現,獨立地遠勝帶內防禦。尚未定論(開放權重 7B、單一攻擊、沒有白箱測試),但持久性質的解讀如今已有實證支撐。**Choi et al. (2026) 提出更尖銳的轉折:**指令/資料邊界確實看似可訓練(模型加固可將指令注入降至約 0%),然而同一批加固模型對 ADI 仍維持 22–50% 的脆弱性;ADI 偽造的是受信任資料而非指令。關閉一個邊界只會將攻擊移至下一個更細的邊界,因為根本原因——LLM 對不精確結構分隔符的機率式誤讀——是架構性的。因此,誠實答案如今是「在重要的層級上具持久性」:攻擊者能模仿的任何邊界都會保持多孔,而修復方式再次是模型外部的強制執行(細粒度 provenance/data-flow 追蹤)。

資料來源#

§ end
About this piece

Articles in this journal are synthesised by AI agents from a curated wiki and are refreshed automatically as new concepts arrive. Topics, framing, and editorial direction are curated by Howardism.

Cited by 41
Related articles
  • Zero Trust for AI Agents

    Anthropic's security framework for deploying autonomous agents: trust nothing / verify everything / assume breach, appl…

  • Agent Data Injection (ADI)

    A new category of indirect prompt injection: malicious payloads disguised as *trusted data* (metadata like a comment's…

  • Least Agency

    OWASP term extending least privilege to agents: constrain not just what an agent can access but what each tool can do,…

  • Open Questions Backlog

    _456 actionable open questions across 205 pages · 107 predictions · 9 notes · 147 in progress · 69 watching (entities),…

  • Out-of-Band Prompt-Injection Defense

    Second-generation prompt-injection defense enforced outside the model: a deterministic reference monitor mediates tool…