Gate News 訊息,4 月 21 日 — 安全公司 OX Security 已披露 MCP (Model Context Protocol) 中一項設計層級的遠端程式碼執行 (RCE) 漏洞。MCP 是供 AI 代理呼叫外部工具的開放標準,由 Anthropic 領導。攻擊者可在任何執行易受攻擊的 MCP 實作的系統上執行任意命令,取得使用者資料、內部資料庫、API 金鑰以及聊天歷史。
該缺陷並非源於實作錯誤,而是源自 Anthropic 官方 SDK 在處理 STDIO 傳輸時的預設行為——影響 Python、TypeScript、Java 與 Rust 版本。官方 SDK 中的 StdioServerParameters 會根據設定的命令參數直接啟動子進程;若開發者未進行額外的輸入清理(sanitization),任何在此階段到達的使用者輸入都會成為系統命令。OX Security 識別出四種攻擊途徑:透過設定介面進行直接命令注入、利用白名單命令旗標 (e.g., npx -c \u003ccommand\u003e) 來繞過清理機制、在 IDE 中進行提示注入以重寫 MCP 設定檔,讓像 Windsurf 這類工具在不需使用者互動的情況下執行惡意 STDIO 服務,以及透過 MCP 市集中的 HTTP 請求注入 STDIO 設定。
根據 OX Security 的說法,受影響套件已被下載超過 1.5 億次,並且有 7,000+ 個公開可存取的 MCP 伺服器在 200+ 個開源專案中暴露出多達 200,000 個實例。該團隊提交了 30+ 次負責任的通報,導致涵蓋 AI 框架與 IDE(包括 LiteLLM、LangFlow、Flowise、Windsurf、GPT Researcher、Agent Zero 與 DocsGPT)的 10+ 個高嚴重度或關鍵程度 CVE;在 11 個受測的 MCP 套件儲存庫中,有 9 個可能會透過此技術遭到攻陷。
Anthropic 回應稱這是「按設計如此(by design)」;並稱 STDIO 的執行模型是「安全的預設設計(secure default design)」,將輸入清理的責任轉移給開發者,並拒絕修改協議或官方 SDK。雖然 DocsGPT 與 LettaAI 已釋出修補程式,但 Anthropic 的參考實作保持不變。隨著 MCP 成為用於存取外部工具的 AI 代理事實標準(並已被 OpenAI、Google 與 Microsoft 所採用),任何使用官方 SDK 預設 STDIO 作法的 MCP 服務都可能成為攻擊途徑——即使開發者編寫的是沒有錯誤的程式碼。\u003c/command\u003e
相關文章