Anthropic MCP協定遭揭存在設計缺陷,MCP伺服器可被誘導執行任意命令
Anthropic MCP協定設計缺陷在於MCP SDK的STDIO介面,該介面原本設計用於啟動本地伺服器程序,但實際運作時,傳入的作業系統命令無論伺服器是否成功啟動都會被執行,過程中沒有任何輸入驗證、過濾或沙箱隔離機制。
研究人員指出,該設計邏輯為先執行而後驗證,並強調這並非程式碼層級的錯誤,而是架構層級的設計決策。該缺陷存在於Anthropic官方支援的全部語言SDK,涵蓋Python、TypeScript、Java、Go與Rust等10種主流程式語言。
研究人員估計波及超過200個開源專案,相關套件累計下載量超過1.5億次,公開暴露的MCP伺服器超過7,000個,潛在受影響實例多達20萬個。研究團隊在6個正式營運平臺上成功執行概念驗證攻擊,受影響的知名專案包括LiteLLM、LangChain及IBM旗下的LangFlow等。
研究人員歸納出四大類攻擊手法,分別是透過AI框架的未授權UI注入、繞過受保護環境的防禦機制,以及針對AI IDE的零點擊提示注入,還有在MCP市集中散布惡意伺服器。其中,團隊實際向11個主要MCP市集上傳概念驗證用的惡意MCP伺服器,結果有9個市集在未經安全審查的情況下直接接受,僅GitHub的託管Registry攔截了提交。
OX Security轉述Anthropic的回應表示,MCP的STDIO機制本來就是用來啟動本機子程序,因此未將相關行為視為需要修改協定設計的有效漏洞。LiteLLM、DocsGPT、Bisheng等專案已發布修補,Agent Zero與Fay Framework則仍列為已通報狀態。
Comments (0)