Does EU AI Act Article 15 Require You to Detect Prompt Injection in AI Agents?
Yes. Article 15 makes detecting adversarial attacks like prompt injection a legal duty for high-risk AI, enforced end-2027, not 2026.
是的。依據歐盟 AI Act 第 15 條,高風險 AI 系統必須能抵抗被利用弱點的攻擊嘗試,而這明確包含 prompt injection 與 data poisoning 這類對抗式攻擊。對一個 AI agent 而言,「韌性」不是你在政策文件裡宣稱一句就成立的設計意圖。它是一項你必須偵測、記錄、並能舉證的控制措施。生效時間是 2027 年底(omnibus 方案把高風險義務延到 2027 年 12 月),所以沒有 2026 年的期限,也不必短期恐慌。但確實有一份現在就該開始建立的具體產出物:可供稽核的偵測證據。
本文說明第 15 條實際講了什麼、為什麼 prompt injection 是這個問題在 agent 上的專屬版本、所需的證據長什麼樣子,以及 PanGuard 今天已交付什麼、什麼還在 roadmap 上。以下每一個數字都可回溯到公開 benchmark 或已公布的 CVE。
第 15 條到底要求什麼?
歐盟 AI Act 第 15 條是關於準確性、穩健性與網路安全的條款。對高風險系統,它要求對錯誤、故障、不一致,以及第三方透過利用系統弱點來改變其使用或效能的嘗試,具備適當程度的韌性。條文直接點名了攻擊類別:它列出要預防、偵測、回應、化解並控制的攻擊,包括試圖操縱訓練資料集的攻擊(data poisoning)、針對預訓練元件的攻擊(model poisoning)、設計來讓模型出錯的輸入(adversarial examples),以及機密性攻擊。
把這段對照 AI agent。一個 agent 從工具、檔案、網頁與其他 agent 取得不受信任的輸入,然後帶著真實權限據以行動。adversarial example 條款與輸入操縱條款,正好對應到 prompt injection。如果 agent context 裡一份被下毒的文件能改變它的行為,那就是一個第 15 條的曝險,而偵測它是法律義務的一部分,不是可選的加固步驟。
這條什麼時候真的咬人?(不是 2026)
生效時程很重要,因為合規市場充斥著被製造出來的急迫感。歐盟 AI Act 下高風險系統的義務(含第 15 條)自 2027 年底起強制執行。omnibus 簡化方案把高風險條文延到 2027 年 12 月。所以如果有廠商賣你一個 2026 年 8 月的期限,那是錯的。你有緩衝時間。你沒有的,是對稽核員終將提出的那個問題的成熟答案:拿出你的 agent 偵測並記錄對抗式輸入的證據。
那個缺口正是現在就要開始的理由。偵測證據無法事後回溯產生。要嘛注入嘗試發生時你的 runtime 正在監看,要嘛就沒有。
所需的產出物長什麼樣子?
能通過第 15 條稽核的產出物,不是一張截圖或一份廠商聲明。它是已簽章、可重播的偵測證據,並把每一筆發現對應到特定規則與特定框架條款。三個特性讓它可供稽核:
- ●確定性偵測:同一個輸入每次都產出同一個判定,稽核員可以重跑。單靠非確定性的 LLM-judge 輸出無法達標。
- ●規則 ID 可追溯:每一筆偵測都引用實際觸發的規則,讓發現可被檢視,而非黑箱。
- ●框架對應:每條規則連結到它所滿足的條款,讓證據回答的是合規問題,而不只是安全問題。
這正是開放偵測標準發揮作用的地方。ATR(Agent Threat Rules)是一套獨立、MIT 授權的規則標準,就像 Sigma 之於 log、CVE 之於漏洞。PanGuard 建構於 ATR 之上並營運它,但該標準是獨立治理的。目前規則庫為 680+ 條、涵蓋 10 個類別(截至 2026 年 7 月為 688 條,以 agent-threat-rules v3.5.6 發布於 npm)。因為偵測是針對具名規則執行的,每一則告警本身就帶著稽核員需要的規則 ID。
規則式偵測如何對應到合規框架?
第 15 條是法律錨點,但稽核員通常透過框架來作業。ATR 帶有 866 條規則對類別的對應,對齊 OWASP Agentic Top 10(2026),涵蓋全部十個類別:九個為 STRONG 覆蓋,一個(ASI10 Rogue Agents)為 MODERATE。與 prompt injection 相關的類別,ASI01 Agent Goal Hijack 與 ASI06 Memory and Context Poisoning,都位於 STRONG 區間。
在威脅模型對齊上,ATR 對應到 MITRE ATLAS 101 個頂層技術中的 34 個、16 個戰術中的 13 個,對齊 ATLAS v5.6.0 草案。這就是把一則原始告警轉成一行稽核紀錄的關鍵:一個偵測事件,說明哪條規則觸發、屬於哪個 OWASP 類別、對應哪個 ATLAS 技術。
確定性偵測實際效果如何?
誠實的回答:取決於語料,而且沒有單一的整體引擎精確率數字。ATR 是一個 Layer 1 確定性規則引擎,量測到的效能會因測試集而異。以下是 Layer 1 規則在公開 benchmark 上的表現:
| Benchmark | 語料 | 結果 |
|---|---|---|
| NVIDIA garak | 650 條 in-the-wild jailbreak 樣本 | 97.2% recall |
| PINT-format(自建) | 850 條樣本 | 99.7% precision,63.6% recall |
| HackAPrompt(EMNLP 2023) | 4,780 條樣本 | 69.6% recall,100% precision(基線 28.6%) |
| SKILL.md 語料 | 498 條真實世界樣本 | 100% recall,97% precision,0.2% FP |
誤報是分 lane 的,不是單一混合數字。對一個 65,000 條的 benign gate,enforce lane 約 0.24% 誤報,預設的 hunt lane 約 9%。誠實講出來正是重點:稽核員信任附帶自身誤差範圍的證據,勝過宣稱完美的行銷數字。
為什麼 prompt injection 是 agent 的專屬案例?
因為 agent 會依其輸入行動,注入就不是聊天機器人的小困擾,而是一條實際的攻擊利用路徑。公開的 CVE 紀錄已經顯示了它的形狀。postmark-mcp 套件是一個受信任的 MCP server,卻在被發現前的 15 個版本裡,每天靜默地把 3,000 到 15,000 封 email 加為密件副本。MCPJam Inspector(CVE-2026-23744)在 v1.4.3 前的每個版本都預設綁定 0.0.0.0,讓單一 HTTP 請求變成遠端程式碼執行。Azure MCP Server(CVE-2026-26118)有一個 SSRF 缺陷,會竊取 managed-identity token。Claude Code 本身(CVE-2025-59536 與 CVE-2026-21852)的 hooks 與 MCP 設定被濫用來執行任意 shell 指令與竊取 API key。
這些都不是假設性的 adversarial example。它們就是第 15 條的威脅模型,已經在出貨的軟體裡實現。一個無法在 runtime 偵測這類行為的 agent,無法宣稱條款所要求的韌性。
PanGuard 今天交付什麼,什麼還在 roadmap?
已交付且真實:PanGuard 免費且 MIT 授權。Community 版就是完整產品,沒有付費牆。你用 npm install -g @panguard-ai/panguard && pga up 安裝。pga scan <target> 在你安裝前稽核一個 skill 或 MCP server。Guard 提供 runtime 偵測,並自動辨識 agent runtime,包括 Claude Code、Cursor、Windsurf、Gemini CLI、Cline 與 Codex CLI。Threat crystallization 的意思是:一個 AI 理解某個新攻擊一次,那份理解就被寫成一條確定性規則,接著這條規則就以毫秒級為所有人執行,通常在新攻擊浮現後約一小時內完成。
Roadmap 與誠實的限制:上面描述的、已簽章且對應框架的合規匯出,是產品的方向,而規則 ID 與框架對應在標準中已經存在。完整的、端到端串接、含加密簽章證據包的 turnkey 第 15 條稽核封裝,仍在成熟中。我是一個人在做這件事。我寧願告訴你今天什麼是確定性、什麼已在出貨,也不願賣你一個尚未完全串好的端到端合規保證。針對確定性規則另有 64 種已記錄的規避技術,這正是誠實的 FP lane 數字為何重要的原因。
常見問答
偵測對抗式攻擊有 2026 年的歐盟 AI Act 期限嗎?
沒有。第 15 條下的高風險義務自 2027 年底起強制執行,omnibus 方案把它們延到了 2027 年 12 月。你被出示的任何 2026 年期限都是錯的。
第 15 條有特別提到 prompt injection 嗎?
沒有用這個名字。它點名的是 adversarial examples、data poisoning、model poisoning 與輸入操縱攻擊。針對 AI agent 的 prompt injection 正好落在 adversarial example 與輸入操縱條款之內。
ATR 跟 PanGuard 是同一個東西嗎?
不是。ATR 是一套獨立、MIT 授權的偵測標準,PanGuard 建構於其上並營運它,但 ATR 是獨立治理的。這關係就像 Sigma 或 CVE 與營運該標準的廠商。
我能免費取得可供稽核的證據嗎?
偵測引擎、規則與 runtime 今天都是免費且開源的。每一則告警本身就帶著規則 ID 與框架對應。完整封裝、已簽章的合規匯出包仍在 roadmap 上。
從掃描開始。執行 npm install -g @panguard-ai/panguard && pga up,接著 pga scan <your-mcp-server>,在你的第 15 條倒數計時還沒開始前,先看看一次確定性偵測會找到什麼。