Model Context Protocol 已成為把 LLM 連接到工具和資料的預設管道。Claude Desktop 用它,Claude Code 用它,Cursor 和 Windsurf 用它,一長串 agent 框架在它之上建構。OX Security 本週末丟出一份披露,主張參考 MCP 實作在 STDIO 傳輸初始化伺服器的方式上有設計級缺陷,爆炸半徑異常大。他們的研究者(Moshe Siman Tov Bustan、Mustafa Naamnih、Nir Zadok、Roni Bar)在下游函式庫中編目了十一個 CVE,外加 Anthropic 針對 Python、TypeScript、Java 和 Rust 的參考 SDK 中的根架構問題。

機制很直接。當 MCP 客戶端啟動一個 STDIO 傳輸伺服器時,初始化程式碼會呼叫一條作業系統命令。如果命令順利返回 STDIO handle,客戶端繼續。如果失敗,客戶端收到錯誤——但命令已經執行過了。OX Security 把這條原語上的攻擊分為四類:透過 STDIO 傳輸的未認證命令注入、繞過直接 STDIO 設定中現有加固的命令注入、零點擊 prompt 注入用於編輯 MCP 設定檔指向攻擊者控制的命令,以及市場攻擊:隱藏的 STDIO 設定透過網路請求觸發。下游影響涵蓋 LiteLLM、LangChain、LangFlow、Flowise、LettaAI、GPT Researcher、Agent Zero、Fay Framework、Bisheng、Langchain-Chatchat、Jaaz、Upsonic、Windsurf 和 DocsGPT。保守計數是七千個公開伺服器和合計一億五千萬以上的下載。

這個故事治理的那一半比技術的那一半更沉重。Anthropic 拒絕修改協定,稱該行為「符合預期」。那個回答把安全責任轉嫁到每個實作者身上,這是 OX Security 的核心抱怨——「把責任轉嫁給實作者並不轉移風險;它只是掩蓋了誰製造了風險」。一些下游函式庫已打修補程式(LiteLLM、Bisheng、DocsGPT 在列)。很多沒打。研究者記錄了成功利用可以直接存取敏感資料、內部資料庫、API 金鑰和聊天歷史。這裡確立的先例是:參考協定會發運不安全的預設設定,即使研究者規模化地演示了利用,規範也不會調整。

如果你發布或消費 MCP 伺服器,這週值得做三件事。一,稽核你的 MCP 設定,識別任何來自市場或第三方來源使用 STDIO 傳輸的內容;把這些設定當作不可信輸入對待。二,檢查你依賴的下游函式庫是否已打修補程式。LangChain、LiteLLM、Flowise、Windsurf 使用者應對照 CVE 公告核對版本號。三,別因為參考 SDK 的預設設定是預設設定就假設它們是安全的。治理訊號很明確:Anthropic 正在把協定當作基礎層,其安全性是實作者的問題。如果你是下游實作者,請建構你自己的加固——上游不會做。