配置不當?shù)?MCP 服務器使AI代理系統(tǒng)面臨入侵風險
風險概述:默認配置暴露命令執(zhí)行漏洞
數(shù)百臺用于連接大語言模型(LLM)與第三方服務、數(shù)據源及工具的模型上下文協(xié)議(Model Context Protocol,MCP)服務器存在默認配置缺陷,可能導致用戶面臨未授權的操作系統(tǒng)命令執(zhí)行等風險。
隨著代理型AI(Agentic AI)的興起,MCP服務器正迅速成為增強AI模型推理上下文的關鍵工具。但安全研究人員警告,大量公開共享的MCP服務器存在不安全配置,攻擊者可利用這些缺陷入侵系統(tǒng)或泄露敏感數(shù)據。應用安全公司Backslash近期掃描了公共倉庫中的數(shù)千臺MCP服務器,發(fā)現(xiàn)數(shù)百臺存在危險配置錯誤,包括默認暴露于不可信網絡和操作系統(tǒng)命令注入路徑。
"除了代碼執(zhí)行,MCP還能成為提示注入(prompt injection)和上下文污染(context poisoning)的隱蔽通道,"Backslash研究人員在漏洞報告中指出,"惡意篡改的公共內容可能改變LLM的認知——返回誤導性數(shù)據或重定向代理邏輯。"
MCP服務器:AI代理的核心基礎設施
由Anthropic公司開發(fā)的MCP協(xié)議旨在標準化LLM與外部數(shù)據源及工具的雙向交互方式,通過持久化記憶機制增強推理上下文。這對構建AI代理和氛圍編程(vibe coding)至關重要——后者指通過自然語言提示引導LLM構建完整應用程序的開發(fā)實踐。
該協(xié)議發(fā)布不足一年便獲快速普及,數(shù)萬臺連接LLM與特定服務及專有工具的MCP服務器已上線。Anthropic已發(fā)布與Google Drive、Slack、GitHub等流行服務交互的MCP參考實現(xiàn)。今年3月OpenAI采用該協(xié)議,4月谷歌宣布計劃將其整合至Gemini模型及基礎設施。
部分MCP還能與Cursor、Windsurf等AI輔助集成開發(fā)環(huán)境(IDE)對接。除訪問外部工具外,MCP可交互本地文件系統(tǒng)、在內存構建知識圖譜、通過命令行工具獲取網絡內容及執(zhí)行系統(tǒng)命令。
"鄰居劫持":暴露互聯(lián)網的MCP服務器
多數(shù)MCP服務器默認缺乏強認證機制。當部署在本地系統(tǒng)時,任何能訪問其通信接口者都可能通過協(xié)議發(fā)送命令。若服務器僅監(jiān)聽本地地址(127.0.0.1),這并非問題。但Backslash發(fā)現(xiàn)數(shù)百臺MCP服務器默認將通信接口綁定至0.0.0.0(所有網絡接口),研究人員將此類配置缺陷命名為"NeighborJack"。
"設想在共享辦公空間編碼時,"研究人員描述,"鄰座人員可通過你的MCP服務器冒充工具執(zhí)行操作,如同將未鎖筆記本留在公共場所。"
未認證的系統(tǒng)命令執(zhí)行
攻擊影響取決于MCP具體功能。多數(shù)情況下攻擊者可能查詢專有數(shù)據源或通過配置憑證訪問第三方服務。但研究人員在數(shù)十臺服務器上發(fā)現(xiàn)了可導致任意命令執(zhí)行的攻擊路徑,包括子進程濫用、輸入未凈化及路徑遍歷等漏洞。
"當網絡暴露遇上過度權限,就形成了完美風暴,"研究人員指出,"同一網絡中的攻擊者能完全控制主機——無需登錄、授權或沙箱限制。我們已發(fā)現(xiàn)多臺服務器存在此致命組合。"
提示注入與上下文污染
由于MCP設計用于訪問數(shù)據庫等數(shù)據源并通過多種工具抓取內容,其面臨通過惡意輸入的遠程攻擊面較大。在概念驗證中,研究人員構建了使用Cheerio庫提取網頁元數(shù)據的MCP服務器,當指向包含隱藏LLM系統(tǒng)提示的網站時,連接的Cursor IDE執(zhí)行了將用戶OpenAI密鑰回傳的攻擊。
"在未公開的發(fā)現(xiàn)中,我們確認了通過良性公開文檔觸發(fā)級聯(lián)入侵的攻擊路徑,"研究人員補充,"問題不在于MCP代碼本身,而在于其訪問數(shù)據源的配置。該漏洞影響數(shù)萬用戶的流行工具,我們正與廠商協(xié)調披露事宜。"
緩解措施
Backslash團隊已建立可免費查詢的MCP服務器安全中心數(shù)據庫,并提供基于網頁的IDE配置評估服務(需注冊)。對開發(fā)者的建議包括:驗證凈化所有外部輸入、限制文件系統(tǒng)訪問、防止LLM響應泄露令牌等敏感數(shù)據、實施API調用管控、驗證數(shù)據源可靠性,以及優(yōu)先采用標準輸入輸出傳輸機制替代服務器推送事件。