MCP爆火背后的十大安全風(fēng)險(xiǎn)解析
模型上下文協(xié)議(MCP) 是一種讓大語(yǔ)言模型(LLM)與外部工具、數(shù)據(jù)源打通的機(jī)制,能夠讓模型不再局限于內(nèi)部知識(shí),而是可以實(shí)時(shí)調(diào)用各種工具、訪(fǎng)問(wèn)各種文檔。隨著AI技術(shù)的不斷發(fā)展,MCP的應(yīng)用也日益廣泛,OpenAI、Anthropic和微軟等主要AI技術(shù)公司都開(kāi)始采用它,已然成為了實(shí)現(xiàn)第三方數(shù)據(jù)、工具與AI智能集成的事實(shí)標(biāo)準(zhǔn)。
然而在MCP應(yīng)用爆火的背后,現(xiàn)實(shí)遠(yuǎn)比設(shè)想的要復(fù)雜。由于MCP在設(shè)計(jì)之初并未定義統(tǒng)一的安全認(rèn)證機(jī)制,各MCP服務(wù)器在威脅防護(hù)方面參差不齊,組織只要接入了MCP,就可能在數(shù)據(jù)安全、調(diào)用邏輯、用戶(hù)預(yù)期以及性能表現(xiàn)等方面出現(xiàn)各種安全隱患。在本文中,收集整理了已被真實(shí)驗(yàn)證的MCP應(yīng)用10大安全風(fēng)險(xiǎn)隱患,并給出了相應(yīng)的安全防護(hù)建議。
1、跨租戶(hù)數(shù)據(jù)暴露
這一安全威脅與跨站腳本攻擊類(lèi)似,攻擊者可借此訪(fǎng)問(wèn)其他租戶(hù)(包括內(nèi)部團(tuán)隊(duì)、合作伙伴和客戶(hù))的數(shù)據(jù)。事實(shí)上,已有科技公司在其 MCP 服務(wù)器實(shí)現(xiàn)中被發(fā)現(xiàn)存在該安全威脅,這為所有部署 MCP 服務(wù)器的企業(yè)敲響了警鐘。
安全建議:為防范此類(lèi)風(fēng)險(xiǎn),企業(yè)應(yīng)確保 MCP 服務(wù)器嚴(yán)格執(zhí)行租戶(hù)隔離,并采用最小權(quán)限訪(fǎng)問(wèn)原則。
2、AI寄生攻擊
攻擊者會(huì)偽裝成員工、合作伙伴或客戶(hù),向人工客服發(fā)送包含隱藏提示注入的請(qǐng)求,這些注入的指令只有 AI 能夠讀取。當(dāng)人工客服將請(qǐng)求轉(zhuǎn)交 AI 助手后,AI助手憑借與 MCP 服務(wù)器的連接,可訪(fǎng)問(wèn)到能接觸敏感數(shù)據(jù)和業(yè)務(wù)流程的工具,進(jìn)而被攻擊者利用實(shí)施惡意訪(fǎng)問(wèn)行為。這并非理論上的威脅,實(shí)際上有很多擁有先進(jìn)技術(shù)的科技公司也都受到其影響。
安全建議:企業(yè)應(yīng)該通過(guò)限制 AI 操作的最小權(quán)限、實(shí)時(shí)分析提示中的可疑內(nèi)容以及記錄 MCP 活動(dòng)審計(jì)日志等方式來(lái)防范。
3、工具中毒
初次搭建 MCP 服務(wù)器并非易事,好在有大量現(xiàn)成的服務(wù)器可供使用,目前谷歌上可被檢索的MCP 服務(wù)器目錄已列出超過(guò) 15,000 個(gè)應(yīng)用。但這些從網(wǎng)上下載的 MCP 服務(wù)器在安全性方面卻未必可靠,可能存在惡意指令。比如,Invariant Labs實(shí)驗(yàn)室曾實(shí)際演示了惡意MCP服務(wù)器是如何通過(guò)在描述字段添加惡意指令,繞過(guò)加密和安全措施從其他系統(tǒng)提取信息。而且,這種惡意指令不僅存在于描述字段,還可能出現(xiàn)在函數(shù)名、參數(shù)、錯(cuò)誤信息等通過(guò)MCP服務(wù)器生成的各類(lèi)信息中。
安全建議:組織要判斷下載的 MCP 服務(wù)器是否惡意,應(yīng)首先檢查其來(lái)源是否為可信組織,然后再查看其請(qǐng)求的權(quán)限是否合理,如僅提供貓咪搞笑圖片的服務(wù)器無(wú)需訪(fǎng)問(wèn)文件系統(tǒng)。若有可能,還應(yīng)該完整審核其源代碼。MCP 服務(wù)器在被信任后,也可以通過(guò)更新被植入惡意代碼,因此定期進(jìn)行安全復(fù)查是十分必要的。
4、借助可信平臺(tái)的惡意代理流
有很多可信的公共平臺(tái)(如 GitHub)可讓攻擊者注入惡意提示,當(dāng)企業(yè)的AI代理按常規(guī)處理這些內(nèi)容時(shí),就會(huì)通過(guò)可信的MCP服務(wù)器訪(fǎng)問(wèn)敏感數(shù)據(jù)。例如,攻擊者在公共代碼倉(cāng)庫(kù)創(chuàng)建含提示注入的 issue,AI代理在檢查該 issue時(shí),可能會(huì)按照注入的指令,通過(guò) GitHub MCP 服務(wù)器訪(fǎng)問(wèn)私人倉(cāng)庫(kù)的私密數(shù)據(jù)。盡管 GitHub 服務(wù)器本身未被直接攻破,卻成了輔助攻擊的第三方渠道。研究人員利用 Anthropic 的 Claude Desktop 演示了這一攻擊向量,盡管平臺(tái)默認(rèn)要求用戶(hù)確認(rèn)每次工具調(diào)用,但許多用戶(hù)仍會(huì)選擇 “始終允許”的確認(rèn)策略,從而增加了風(fēng)險(xiǎn)。
安全建議:清晰記錄第三方工具行為,使用戶(hù)在授權(quán)前了解每個(gè)工具的功能;同時(shí)將工具限制在預(yù)先批準(zhǔn)的操作范圍內(nèi),監(jiān)控異?;蛞馔庑袨椋乐构ぞ弑晃廴?。
5、令牌竊取與賬戶(hù)接管
Pillar Security 最新發(fā)布的安全報(bào)告指出,若攻擊者獲取了MCP 服務(wù)器中存儲(chǔ)的未加密 OAuth令牌,就能用該令牌創(chuàng)建自己的MCP 服務(wù)器實(shí)例。這些OAuth令牌可能因存儲(chǔ)在未加密的配置或代碼文件中,被攻擊者通過(guò)后門(mén)、社會(huì)工程學(xué)等方式竊取。以 Gmail 為例,攻擊者可借此訪(fǎng)問(wèn)受害者的全部郵件歷史、發(fā)送偽造郵件、刪除郵件、搜索敏感信息及設(shè)置轉(zhuǎn)發(fā)規(guī)則等。且與傳統(tǒng)賬戶(hù)入侵可能觸發(fā)可疑登錄通知不同,通過(guò)MCP服務(wù)使用被盜令牌看上去就是合法的 API 訪(fǎng)問(wèn),難以被安全機(jī)制檢測(cè)到。
安全建議:企業(yè)需要加密存儲(chǔ)常用的OAuth 令牌,并防范相關(guān)竊??;使用即時(shí)訪(fǎng)問(wèn)、持續(xù)驗(yàn)證和行為監(jiān)控來(lái)最小化風(fēng)險(xiǎn)。
6、組合鏈攻擊
未經(jīng)檢查的MCP服務(wù)器可能有隱藏的深層惡意指令。如果用戶(hù)下載并使用第三方MCP服務(wù)器,而沒(méi)有驗(yàn)證其中數(shù)據(jù)的來(lái)源,則可能向第二個(gè)遠(yuǎn)程MCP服務(wù)器發(fā)送請(qǐng)求。CyberArk將這種MCP服務(wù)器攻擊向量稱(chēng)為“組合鏈攻擊”。第二臺(tái)MCP服務(wù)器可以返回有效輸出以及隱藏的惡意指令,第一臺(tái)服務(wù)器將這些信息與自身的響應(yīng)合并,然后將所有內(nèi)容發(fā)送給AI代理,后者就會(huì)執(zhí)行這些惡意指令。如果組織在其網(wǎng)絡(luò)環(huán)境中存儲(chǔ)了敏感數(shù)據(jù),攻擊者可能利用此方法進(jìn)行數(shù)據(jù)竊取,而受害者甚至從未直接與惡意的MCP服務(wù)器建立連接。
安全建議:遵循縱深防御和零信任原則,不假設(shè)隱式信任,持續(xù)驗(yàn)證和授權(quán)每個(gè)MCP交互;結(jié)合多層安全控制全面保護(hù)MCP環(huán)境。
7、用戶(hù)同意疲勞攻擊
很多企業(yè)開(kāi)始要求對(duì)AI代理的訪(fǎng)問(wèn)行為進(jìn)行審批,這當(dāng)然是一種安全防護(hù)措施,卻實(shí)際上可能產(chǎn)生反效果。Palo Alto 安全專(zhuān)家表示,已經(jīng)發(fā)現(xiàn)一些惡意MCP服務(wù)器會(huì)向AI代理及其用戶(hù)發(fā)送大量無(wú)害請(qǐng)求(如多次讀取權(quán)限申請(qǐng)),使用戶(hù)逐漸放松警惕。這種攻擊方式與多因素認(rèn)證疲勞攻擊類(lèi)似,都是利用用戶(hù)在持續(xù)提示下的某些細(xì)微疏忽。在其變體采樣攻擊中,惡意指令會(huì)隱藏在冗長(zhǎng)的消息中,讓人工審核時(shí)難以發(fā)現(xiàn),無(wú)論是直接發(fā)送給LLM的消息還是其返回的結(jié)果中,都可能存在這種情況。
安全建議:
應(yīng)提供清晰、透明的用戶(hù)界面,實(shí)施精細(xì)的同意選項(xiàng),使管理人員能夠基于每個(gè)訪(fǎng)問(wèn)操作來(lái)合理審批、控制權(quán)限。
8、管理權(quán)限繞過(guò)威脅
在這種攻擊模式中,企業(yè)往往設(shè)置了一個(gè)無(wú)需進(jìn)行身份驗(yàn)證的MCP服務(wù)器,就像很多組織會(huì)設(shè)置MCP服務(wù)器用于其文件目錄管理,以便用戶(hù)通過(guò)AI代理輕松查詢(xún)信息一樣。如果用戶(hù)僅被允許以低級(jí)別權(quán)限訪(fǎng)問(wèn)這些信息,但MCP服務(wù)器并不檢查發(fā)起初始請(qǐng)求的人員的身份,那么AI代理就可能獲取到超出個(gè)人被允許知曉的范圍的信息。如果此MCP服務(wù)器也暴露在外部用戶(hù)(如業(yè)務(wù)合作伙伴、客戶(hù),甚至公眾)面前,這種特權(quán)提升就可能會(huì)造成巨大的損害。
安全建議:集中記錄所有重要的MCP事件(工具調(diào)用、數(shù)據(jù)請(qǐng)求、錯(cuò)誤)以供分析和審計(jì);實(shí)施持續(xù)監(jiān)控和異常檢測(cè),及早識(shí)別可疑的MCP活動(dòng)。
9、命令注入威脅
現(xiàn)在很多 MCP 服務(wù)器實(shí)現(xiàn)方式基本上就是“照著用戶(hù)的輸入直接執(zhí)行代碼”,因?yàn)榘磦鹘y(tǒng)的安全防護(hù)思路來(lái)看,MCP 里的動(dòng)作本來(lái)就是用戶(hù)自己定義、自己控制的,不需要管控。而如果MCP服務(wù)器在沒(méi)有適當(dāng)驗(yàn)證的情況下直接將用戶(hù)輸入傳遞給其他系統(tǒng),那么就可以以類(lèi)似SQL注入的方式注入自己的攻擊命令。攻擊者會(huì)全面尋找并利用MCP服務(wù)器暴露的所有工具中的命令注入漏洞發(fā)起攻擊。
安全建議:
要對(duì)MCP服務(wù)器的用戶(hù)輸入進(jìn)行安全審查和控制,不能直接傳遞給shell命令,而是應(yīng)該使用正確的輸入驗(yàn)證和參數(shù)化命令。
10、影子工具威脅
組織面臨未經(jīng)安全團(tuán)隊(duì)知曉私自安裝的MCP服務(wù)器("影子MCP")風(fēng)險(xiǎn),這帶來(lái)了安全盲點(diǎn)和未監(jiān)控的訪(fǎng)問(wèn)路徑。這些影子MCP可能被利用于未授權(quán)訪(fǎng)問(wèn)、數(shù)據(jù)泄露或意外破壞性操作。當(dāng) AI 代理可訪(fǎng)問(wèn)多個(gè) MCP 服務(wù)器時(shí),其中一個(gè)服務(wù)器可能誘使代理不當(dāng)使用另一個(gè)服務(wù)器。Solo.io 公司CTO Christian Posta 在其研究中就特別提到了這種惡意MCP攻擊方式,他指出企業(yè)需重點(diǎn)加強(qiáng)對(duì)AI代理操作行為的監(jiān)控,并定期檢查不同MCP服務(wù)器之間的異常交互。
安全建議:部署統(tǒng)一的MCP服務(wù)管理工具;結(jié)合數(shù)據(jù)丟失防護(hù)(DLP)技術(shù),如基于模式的編輯和與DLP系統(tǒng)集成,防止數(shù)據(jù)泄露。
參考鏈接:https://www.csoonline.com/article/4023795/top-10-mcp-vulnerabilities.html















 
 
 









 
 
 
 