Why AI Agents Need Their Own Sigma: The Case for ATR
Servers got Sigma. Networks got Suricata. Malware got YARA. AI agents face prompt injection, tool poisoning, and MCP exploitation -- and until now, there was no standardized way to detect any of them. ATR changes that.
每個時代有它應得的偵測標準
當 server 成為企業基礎建設骨幹時,安全社群建了 Sigma — 讓任何 SIEM 用共用語言偵測威脅的通用規則格式。當網路流量成為攻擊面時,Suricata 給我們任何 IDS 能跑的深度封包檢查規則。Malware 爆炸時,YARA 給研究者一個 pattern 比對語言,把 IoC 變成可執行偵測。
這些標準有三個共同特性:開放、社群驅動、與框架無關。東京研究者寫的 Sigma 規則在柏林 SOC 能用。一位分析師發現的 YARA signature 保護每個載入它的 scanner。
AI Agent 現在是軟體中最快成長的攻擊面。它們執行 code、呼叫 API、讀檔案、管憑證、代表使用者做決策。但 prompt injection 繞過 Agent、被汙染 MCP 工具外洩環境變數、供應鏈攻擊把惡意 skill 偷渡到 marketplace 時——沒有標準化方式為它寫偵測規則。
這是 ATR 填的 gap。
ATR 實際上是什麼
ATR(Agent Threat Rules)是 AI Agent 威脅的 YAML-based 偵測標準。把它想成 Sigma,但為 AI Agent 產生的獨特事件類型從頭設計:LLM 輸入和輸出、工具呼叫和回應、MCP 交換、多 Agent 通訊、skill 生命週期事件、Agent 行為 pattern。
每條 ATR 規則是自包含 YAML 檔,指定要偵測什麼、怎麼偵測、命中時做什麼。規則包含嵌入測試案例——真陽性和真陰性都有——所以每條規則隨附自己的驗證套件。
id: ATR-2026-001
title: Direct Prompt Injection via User Input
severity: high
category: prompt-injection
detection:
patterns:
- "ignore previous instructions"
- "you are now [A-Z]"
- "system prompt override"
response:
actions: [block_input, alert, snapshot]格式刻意簡單。會讀 Sigma 規則就會讀 ATR 規則。會寫 regex 就能貢獻偵測 pattern。進入門檻刻意低——因為標準只在社群寫規則比攻擊者演化更快時才有效。
三層偵測
ATR 認知到 regex 不能抓每個攻擊。標準定義三個一起運作的偵測階層:
Layer 1:Pattern 比對。快、確定性的 regex 偵測。1 毫秒內抓到已知攻擊 signature。處理約 90% 威脅——明顯的 prompt injection、已知 tool poisoning payload、不該出現在 Agent 輸出的憑證 pattern。零外部依賴、零成本。
Layer 2:行為指紋。為每個 skill「正常做什麼」建基線——讀什麼檔、聯絡什麼網路端點、存取什麼環境變數。學習期後,任何偏離基線觸發告警。抓信任 skill 在更新後變惡意的供應鏈攻擊。
Layer 3:LLM-as-Judge。對逃過 pattern 比對和行為分析的曖昧情況,LLM 用完整 context 評估可疑內容。這是最慢、最貴的階層(1-5 秒,約 $0.008 每次評估),保留給 false negative 不可接受的高風險決策。
階層是相加,不是取代。Layer 1 是快速路徑。Layer 3 是慢速路徑。多數威脅永遠到不了 Layer 3。
既有標準不覆蓋的
OWASP 命名風險但不提供可執行偵測規則。OWASP Top 10 for Agentic Applications(2026)識別 10 個關鍵威脅 — prompt injection、tool 濫用、過度自主——但停在風險描述。沒有 YAML 檔能載入你的 Agent 框架偵測它們。
MITRE ATLAS 編目攻擊技術但不提供偵測格式。它把 AI 攻擊映射到分類,但不提供安全引擎能即時執行的規則。
ATR 橋接這 gap。每條 ATR 規則映射到特定 OWASP 和 MITRE ATLAS 條目,從風險分類到可執行偵測建立直接連結。ATR 目前覆蓋 10 個 OWASP LLM 風險中的 7 個和 10 個 OWASP Agentic AI 風險中的 6 個,每次發行擴展覆蓋。
113 條規則覆蓋 9 個攻擊類別
ATR 隨附 9 個類別的 113 條偵測規則:
- ●Prompt Injection(22 條)— 直接注入、透過外部內容間接、jailbreak 嘗試、系統 prompt 覆寫、多輪攻擊、編碼規避、CJK 特定 pattern
- ●Tool Poisoning(11 條)— 惡意 MCP 工具回應、透過工具輸出的指令注入、未授權工具呼叫、透過 Agent 工具的 SSRF
- ●Context Exfiltration(7 條)— 系統 prompt 洩漏、Agent 輸出中的憑證曝光
- ●Agent Manipulation(10 條)— 跨 Agent 攻擊、目標劫持、記憶汙染、信任利用
- ●Privilege Escalation(6 條)— Admin 函式存取、Agent 範圍漂移
- ●Excessive Autonomy(5 條)— 失控迴圈、資源耗盡、級聯失敗、未授權財務動作
- ●Skill Compromise(7 條)— 供應鏈汙染、description-behavior 不匹配、隱藏能力、多 skill 鏈攻擊
- ●Data Poisoning(1 條)— RAG 汙染、知識庫注入
- ●Model Security(2 條)— 模型萃取、惡意 fine-tuning 資料
設計上與框架無關
ATR 適用任何 Agent 框架:LangChain、CrewAI、AutoGen、Claude、OpenAI、Ollama、客製實作。TypeScript 引擎對載入的規則求值 Agent 事件,回傳含嚴重度、信心、建議反應動作的命中。
import { ATREngine } from 'agent-threat-rules';
const engine = new ATREngine();
await engine.loadRules();
const matches = engine.evaluate({
type: 'llm_input',
timestamp: new Date().toISOString(),
content: userMessage,
});引擎也以 MCP server 形式出貨,含 11 個工具 — scan、列規則、驗證規則、提交提案、分析覆蓋 gap、產生威脅摘要——所以 Claude Code、Cursor、Windsurf 使用者能直接從 IDE 查 ATR。
開放標準,不是產品
ATR 採 MIT 授權。貢獻的規則屬於社群。沒有 CLA、沒有專有工具、沒有遙測。標準早期 — RFC 狀態、v0.2.1 — 並刻意對限制透明。LIMITATIONS.md 檔記錄 regex-based 偵測無法抓到什麼:改寫攻擊、多模態注入、GCG adversarial suffix、新型 zero-day 技術。
這種誠實是刻意的。過度承諾的偵測標準比沒標準更糟。ATR 是縱深防禦策略中的一層,不是銀彈。
如何開始
60 秒內裝 ATR 並掃你的第一個 Agent 事件:
npx agent-threat-rules scan events.json或把 MCP server 整合進 Claude Code:
{
"mcpServers": {
"atr": {
"command": "npx",
"args": ["agent-threat-rules", "mcp"]
}
}
}ATR 早期、不完美、開放。如果 AI Agent 要安全,偵測標準不能屬於任何單一公司。必須一起建。