背景
之前在 Anetac 是只對 Agent 在 MCP 上的權限資安做偵測,現在想要全面看一下 AI Agent Security 領域的全貌。
我寫了一個 pipeline 蒐集論文:arXiv 用 31 組布林關鍵字(涵蓋 prompt injection、tool use、multi-agent、MCP、RAG/memory、guardrail、red teaming 等子題)按提交日期掃廣度、Semantic Scholar 用 20 組自然語言查詢按 relevance 補深度,雙線抓取後以 arXiv ID(去版本號)去重,寫進 Zotero group library,目前累積 ~3,767 篇預印本(時間範圍 2025-04 到 2026-04)。再用 agent 批次讀所有 abstract、分組摘要、人工歸類後,大致可以看出,AI Agent 安全已經變成「五層 stack」:
| 層 | 威脅類型 | 代表論文 | 為什麼這層獨立 |
|---|---|---|---|
| 5: 生態系統與治理 | 供應鏈攻擊 / 協議漏洞 / 監管缺失 | Tool Squatting (21), ETDI / Rug Pull (11), MCP Safety Audit (56) | 攻擊者目標是 agent ecosystem,不是個別 model |
| 4: 多代理協作 | 級聯故障 / 信任傳播 / 共謀 | Open Challenges in Multi-Agent Security (50) | 多 agent 互動產生獨特威脅 |
| 3: 工具與環境互動 | 工具投毒 / 權限提升 / 資料洩露 | Prompt Injection to Tool Selection (49), MCPTox (22), WASP (69) | Agent 觸及外部世界的攻擊面 |
| 2: 模型行為與對齊 | 提示注入 / 越獄 / agent 對齊失敗 | DataSentinel (72), X-Teaming (60), PromptArmor (58), Agentic Misalignment (78), SHADE-Arena (24) | 外部攻擊 + 內部對齊失誤 |
| 1: 資料與訓練 | 資料投毒 / 後門 / 微調安全崩潰 | Deep Ignorance (31), Fine-Tuning Lowers Safety (12) | 模型出生就帶著的風險 |
1. 資料與訓練
風險發生在模型「出生」之前 —— pre-train 階段被有毒資料污染、被植入後門,或在 post-train 微調時破壞掉原本訓練好的對齊行為。這層的特殊之處是:問題一旦寫進權重,後續任何層的 runtime defense 都無法回溯修復,只能事後偵測。
代表論文:
- Fine-Tuning Lowers Safety and Disrupts Evaluation Consistency — 在「即使良性微調也會破壞模型對齊」這個既有發現之上,這篇進一步指出更糟的事:safety benchmark 本身的結果在不同 fine-tune setup 下會出現高變異,連看似無關的實驗細節改動都會影響評估結論 —— 也就是說,連用來衡量 fine-tuning 對 safety 影響的工具本身都不穩定。
- Deep Ignorance: Filtering Pretraining Data Builds Tamper-Resistant Safeguards into Open-Weight LLMs — 純防禦取向:在 pre-train 階段過濾 dual-use 主題(如 biothreat 知識),打造出能撐過 10,000 步、3 億 tokens 對抗式 fine-tune 的 tamper-resistant 開源模型,效果比現有 post-training 防禦高一個數量級,且不影響其他能力。
2. 模型行為與對齊
這層其實包含兩種風險:外部攻擊(廣義 prompt injection)與內部失誤(agent 自主執行時的對齊失敗)。
外部攻擊 就是 prompt injection 的範疇:直接注入(攻擊者就是使用者)、間接注入(惡意指令藏在 RAG 文件、網頁、工具回傳值裡)、以及越獄。目的都是讓模型違反 system prompt 的約束。這層有一個蠻有趣的點:模型 instruction following 能力越強,攻擊面可能反而越大。
內部失誤 則是 agent 自主執行時,即使沒有外部攻擊者,模型自己就會為了達成目標、避免被取代,而表現出策略性欺騙、規避監控、洩密等行為。這是 agent 自主化後才出現的新威脅,傳統單 turn LLM safety 評估無法捕捉。
代表論文:
- DataSentinel: A Game-Theoretic Detection of Prompt Injection Attacks — 目前 cite 數最高的 prompt injection 偵測方法之一。
- X-Teaming: Multi-Turn Jailbreaks and Defenses with Adaptive Multi-Agents — 自動化 jailbreak red-teaming pipeline,把人工 red team 規模化。
- PromptArmor: Simple yet Effective Prompt Injection Defenses — 輸入層 prompt injection 過濾的代表 framework。
- Agentic Misalignment: How LLMs Could Be Insider Threats — Anthropic 2025 壓力測試 16 個前沿模型,在威脅情境(即將被取代、目標被改變)下會策略性說謊、勒索、洩密;而且 agent 在「以為自己在被測試」時行為較收斂、「以為是真實部署」時行為更糟。
- SHADE-Arena: Evaluating Sabotage and Monitoring in LLM Agents — 評估 agent 在被另一個 LLM monitor 監控的情境下,能否偷偷完成 harmful side task。Claude 3.7 Sonnet 在 sabotage 任務上達到 27% 成功率。
3. 工具與環境互動
這是我的前公司 Anetac 主攻的範疇 —— Agent 透過 MCP / function calling / browser control 觸及外部世界(讀檔、呼叫 API、寫資料庫、操作瀏覽器)所暴露的攻擊面。常見的攻擊型態包括:MCP server 過度授權、tool description 被惡意改寫導致 agent 選錯工具、工具回傳值夾帶 indirect injection 把資料偷渡出去。
代表論文:
- WASP: Benchmarking Web Agent Security Against Prompt Injection Attacks — web agent 在真實瀏覽器環境下的攻擊基準。
- MCPTox: A Benchmark for Tool Poisoning Attack on Real-World MCP Servers — MCP 生態的 poisoning attack surface map。
- Prompt Injection Attack to Tool Selection in LLM Agents — 指出攻擊者不必劫持 agent 的最終輸出,只要操縱它「選哪個工具」就足以造成嚴重後果。
4. 多代理協作
當多個 agent 互相呼叫(orchestrator → worker、A 把輸出餵給 B),會出現單一 agent 系統沒有的威脅:信任會沿著呼叫鏈來傳播、一個 agent 被劫持的話會級聯影響整條鏈、agent 之間還可能「共謀」做出單一 agent 不會單獨做的決策。
代表論文:
- Open Challenges in Multi-Agent Security: Towards Secure Systems of Interacting AI Agents — 盤點 multi-agent 環境下的新威脅:自由協議帶來的 secret collusion 與 coordinated swarm attacks、network effect 讓 jailbreak / 隱私洩漏 / 投毒在 agent 網路中快速擴散、以及 stealth optimization 讓對手更容易躲過監控。
5. 生態系統與治理
最上層攻擊的目標不再是單個模型或 agent,而是整個 agent ecosystem:MCP marketplace 上的 tool squatting、工具發布者累積信任後推送惡意更新(rug pull)、協議層本身的設計缺陷、以及監管真空下的責任歸屬問題等等。
代表論文:
- MCP Safety Audit: LLMs with the Model Context Protocol Allow Major Security Exploits — 對 MCP 協議與生態做系統性審計。
- Securing GenAI Multi-Agent Systems Against Tool Squatting: A Zero Trust Registry-Based Approach — 類比 npm typosquatting,攻擊者用近似名字的 MCP server 騙 agent 連線;本篇提出 zero trust registry 做為防禦。
- ETDI: Mitigating Tool Squatting and Rug Pull Attacks in MCP — Rug Pull 指工具發布初期良性、累積信任後推送惡意版本的攻擊模式;本篇用 OAuth-enhanced tool definitions 防禦。
小結
從在 Anetac 時只在 L3 一層上看 MCP 權限,到現在攤開全領域論文看見整個 5 層 stack —— 這次整理讓我了解到:agent security 沒辦法用一個全面的方式或套件防禦所有風險,每一層的攻擊面、攻擊者、防禦工具都不一樣,只能一個一個對應處理。
ChangeLog
- 20260428–初稿