模型上下文協議 (MCP) 十大安全漏洞解析
開源標準Model Context Protocol(模型上下文協議,MCP)使AI系統無需集成即可與各類數據源、工具和服務交互,為Agentic AI(代理型人工智能)奠定基礎。但企業在采用MCP服務器作為AI戰略組成部分時,必須警惕相關安全風險。本文系統梳理了MCP協議的十大關鍵漏洞。

1. 跨租戶數據泄露
類似跨站腳本攻擊,跨租戶數據泄露允許一組用戶訪問其他用戶數據,可能影響內部團隊、業務伙伴及客戶。該漏洞已在Asana的MCP服務器實現中被發現。安全公司UpGuard建議通過強制租戶隔離和實施最小權限原則來防范。
2. 隱蔽提示注入
攻擊者偽裝成員工或客戶向人工客服發送請求,其中嵌入僅AI可讀的隱蔽指令。若客服將請求轉交能訪問敏感數據的AI助手,將造成嚴重危害。防護措施包括:
- 實施最小權限原則
- 實時檢測可疑提示內容
- 完整記錄MCP活動審計日志
3. 工具投毒
現成的MCP服務器下載包可能暗藏風險。惡意版本會篡改描述字段以繞過加密措施竊取數據。攻擊面包括:
- 函數名稱
- 參數及默認值
- 錯誤消息
- 后續提示字段
防范建議:
- 驗證下載源可信度
- 檢查權限請求合理性
- 盡可能審查源代碼
- 持續監控軟件供應鏈安全
4. 公開提示注入
攻擊者通過在GitHub等公開平臺創建含惡意指令的Issue,誘導檢查該倉庫的AI代理執行數據泄露操作。雖然GitHub服務器未被入侵,但成為了攻擊渠道。盡管人工確認每個工具調用是最佳實踐,但多數用戶已采用"始終允許"策略。
5. 令牌竊取
當OAuth令牌以明文形式存儲在MCP配置文件中時,攻擊者可通過后門或社工手段竊取。與常規賬戶劫持不同,通過MCP使用被盜令牌的API訪問看起來完全合法,增加了檢測難度。以Gmail賬戶為例,攻擊者可獲取完整郵件記錄、發送偽造郵件或設置監控規則。
6. 組合鏈攻擊
使用未經審查的第三方MCP服務器時,其可能向次級遠程服務器發起請求。次級服務器返回看似合法但包含隱藏惡意指令的輸出,經組合后傳遞給AI代理執行。該方法可竊取環境變量中的敏感數據,且無需與惡意服務器建立直接連接。
7. 用戶疲勞
即使要求人工審批所有AI代理操作,惡意MCP服務器仍可通過海量無害請求(如讀取權限申請)使用戶產生審批疲勞,最終忽視隱藏其中的危險指令。該攻擊原理與MFA疲勞攻擊類似,都是通過持續請求迫使用戶降低警惕。
8. 管理員繞過
當MCP服務器未配置身份驗證時,低權限用戶可能通過AI代理獲取超出其訪問級別的信息。若該服務器同時對外開放,將導致更嚴重的權限提升風險。
9. 命令注入
若MCP服務器未經驗證直接轉發用戶輸入,攻擊者可注入惡意命令(類似SQL注入)。防護措施包括:
- 嚴格驗證所有用戶輸入
- 使用參數化命令
- 禁止直接將輸入傳遞給shell命令
10. 工具影子攻擊
當AI代理可訪問多個MCP服務器時,惡意服務器可能誘導其不當使用其他服務器。例如醫療場景中,表面提供癥狀查詢的惡意服務器可暗中指令AI代理通過正常計費系統泄露患者數據。
































