MCP 安全危機:60 天 30 個 CVE 的警示

Model Context Protocol(MCP)在 AI 系統整合中快速普及,但伴隨而來的是嚴峻的安全挑戰。根據安全研究統計,MCP 在短短 60 天內披露了 30 個 CVE 漏洞,更令人震驚的是,在掃描的 500 多個 MCP 伺服器中,38% 完全缺乏任何身份驗證機制,這意味著攻擊者可直接存取敏感的 AI 系統和數據。2025 年 12 月 Anthropic 將 MCP 捐贈給 Linux 基金會旗下的 Agentic AI Foundation(AAIF),由 Anthropic、Block 與 OpenAI 共同推動開放治理,但安全漏洞的快速湧現已成為 AI 整合的最大隱憂。

常見 MCP 安全漏洞類型

MCP 服務器的安全漏洞主要可分為以下幾類:

  • 身份驗證缺失:38% 的 MCP 伺服器未實作任何認證機制,允許匿名訪問
  • 輸入驗證不足:未對用戶輸入進行嚴格過濾,導致 prompt injection 和命令注入
  • 權限過度開放:採用預設配置賦予過多權限,違反最小權限原則
  • 傳輸加密缺失:通訊未使用 TLS 加密,數據容易被截獲

攻擊向量分析與實測

攻擊者主要透過以下向量發動攻擊:

  1. 未認證存取:直接連接無防護的 MCP 伺服器,讀取系統資源
  2. Prompt Injection:透過惡意輸入操控 AI 行為,竊取敏感資訊
  3. 工具濫用:利用過度授權的工具執行未經許可的操作

以下程式碼展示一個不安全與安全的 MCP 伺服器配置對比:

# 不安全的配置(缺乏身份驗證)
from mcp.server import MCPServer

server = MCPServer(
    name="vulnerable-server",
    tools=["read_file", "write_file", "execute_command"],
    # 錯誤:未設定任何認證
)

# 安全配置(包含身份驗證)
from mcp.server.auth import OAuth2Auth

server = MCPServer(
    name="secure-server",
    tools=["read_file", "write_file"],
    auth=OAuth2Auth(
        client_id="your-client-id",
        client_secret="your-secret",
        scopes=["read", "write"]
    ),
    # 僅暴露必要工具,遵循最小權限
)

MCP 安全加固完整指南

針對 MCP 部署的安全加固,建議遵循以下原則:

  • 啟用身份驗證: обязательно採用 OAuth 2.0 或 API Key 機制
  • 輸入驗證:對所有工具輸入進行嚴格類型檢查和內容過濾
  • 最小權限:僅暴露業務必要的工具,禁用預設的系統管理工具
  • 傳輸加密:強制使用 TLS 1.3 加密所有通訊
  • 日誌監控:記錄所有請求並即時監測異常行為

展望:MCP 生態的安全未來

2026 年 MCP 迎來多項重要更新,包括支援圖像、視頻、音頻等多媒體類型,以及 MCP Apps 作為 MCP-UI 的繼任者,允許 AI Agent 在宿主環境中渲染互動界面。隨著 SDK 月下載量突破 9700 萬次,MCP 的安全性將直接影響整個 AI 生態的信任基礎。開發者應立即檢視現有部署,採取上述安全措施,確保 AI 整合的穩健發展。