Anthropic MCP "By Design" RCE — Where Runtime Detection Fills the Gap
When the protocol won't change, the detection layer becomes the contract. A walkthrough of the MCP "by design" disclosure and ATR's 17 dedicated MCP rules.
2026 年 4 月,OX Security 揭露、The Hacker News 與 SecurityWeek 後續報導的 Anthropic Model Context Protocol 設計漏洞,描述了透過 tool description injection 與 MCP server 供應鏈入侵達成 RCE 的路徑。Anthropic 拒絕修改協議架構,理由是該行為是 expected。
這留下一個真空。協議層修復不太可能。Runtime 層偵測就變成合約。
攻擊面
報導裡公開的數字:
- ●揭露當下有 7,000+ MCP server 暴露
- ●整體安裝基數有 200,000 server 處於風險
- ●MCP 相關套件累積 150M 下載
協議的威力 — 工具自我描述給 agent、agent 依描述行動 — 同時就是攻擊者用的攻擊面。Tool description 可以塞對抗性指令。Agent 讀進去、當成正當訊號、照做。
ATR 的 17 條 MCP 規則
ATR 出貨 17 條專為 MCP 威脅 pattern 設計的規則。主要家族:
- ●Tool 下毒 — 在 tool description、manifest 欄位、回傳 payload 裡藏隱蔽指令。
ATR-2026-00060(skill 冒名,MCP 變體)是 description-injection pattern 的標準偵測器。 - ●MCP 供應鏈入侵 — npm 或 PyPI MCP server 套件帶後門 payload。
ATR-2026-00095(supply-chain poisoning)涵蓋這一家族。 - ●透過工具回傳的提示注入 — Agent 呼叫工具,工具回傳的內容會再 prompt agent 一次。Tool-poisoning 類別下有多條規則以 payload pattern matching 處理。
- ●Manifest 竄改 — MCP server manifest 欄位被改成宣稱比實作更多的能力。透過 description-vs-behaviour 不符規則偵測,屬於與
ATR-2026-00061同一家族。
每一條都是 deterministic YAML、MIT 授權,在 432-Skill 良性語料上做 FP 測試。
Defence-In-Depth 模型
合約變成三層堆疊:
1. 安裝期 SCA — 套件信譽、maintainer 驗證、上架時間過短的旗標。擋一部分。
2. Runtime ATR 規則 — tool description 內容掃描、manifest 與 behaviour 比對、回傳 payload 的提示注入偵測。擋掉 SCA 漏的系統性 pattern。
3. Agent 層審批 — 敏感操作前最後一道 human-in-the-loop。
沒有單一層是充分的。當協議無法修,你就在它周邊堆層。
Vendor 中立的姿態
ATR 規則不限於 Anthropic。它在任何 MCP server 上觸發,不分 agent runtime。它在 Skill 市集、套件 registry、來自任何來源的 tool description stream 上觸發。偵測合約寫的是行為,不是 vendor。
當協議不會修改,偵測層就是合約。ATR 是這份合約其中一個可用實作。
The Hacker News · SecurityWeek · OX Security 揭露 · ATR MCP 規則