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