AI 語言模型 (LLM) 越來越強大,為了讓這些語言模型可以擺脫訓練期間的限制,取得更即時的資訊,Anthropic 在去年推出 MCP (Model Context Protocol) 協定,隨著開發者社群的討論熱度上升,MCP 出現爆炸性成長,不過 MCP 的架構也讓駭客有更多的攻擊機會,可能造成使用者隱私資料外洩,甚至被植入後門。

MCP 是什麼? 快速回顧
MCP 提供了以下優點:
- 標準化介面:MCP 提供一個統一的方式,讓不同的 AI 應用程式或語言模型 (LLM) 能夠與不同的資料來源和工具進行連接,減少為每個資料集或工具撰寫客製化程式碼的需求。
- 靈活的架構:MCP 採用客戶端-伺服器的架構,主機應用程式(如 AI 助手)可透過 MCP 客戶端連接到多個 MCP 伺服器,這些伺服器各自提供特定的功能,並能安全地存取本地或遠端的資料來源。
- 增強 AI 助手功能:透過 MCP,AI 助手能直接連接到所需的資訊,提升回應的準確性和執行任務的能力。例如,使用 Claude 桌面應用程式,透過 MCP 可直接連接到 GitHub,快速建立新的儲存庫並提交拉取請求。
- 能力協商:MCP 允許客戶端和伺服器在通訊開始時確定彼此支援的功能和協定版本,確保系統間的兼容性和最佳性能。
- 上下文資訊交換:MCP 促進大型語言模型與外部系統之間的上下文資訊雙向交換,使模型能夠在處理使用者請求時動態獲取相關資訊,生成更準確、更相關的回應。
MCP 的資安隱憂
個資外流
由於 MCP 是由 AI 自動根據對話的上下文 (context) 決定要呼叫的工具 (tools),在對話期間可能發生因為 AI 的誤判或不同解讀,將個資暴露給錯誤的 MCP 伺服器 (Server),造成個資外洩。
新型態的社交欺騙
AI 會依據 MCP 伺服器的回應產生回應給使用者,惡意的開發人員可能會藉由回應來操縱 AI 行為,誘導使用者輸入他想獲得的資料。
這類的欺騙最有可能發生在一些能夠自動操作系統的工具上,從取得授權資訊、帳號密碼,甚至製造錯誤的交易訊息,都是可能的欺騙方式。
電腦檔案直接遭存取、控制
MCP 提供 stdio 以及 SSE (2025/3/26 版本協定已由 Streamable HTTP 取代) 兩種傳輸方式,其中 stdio 會直接將程式碼下載到使用者的電腦中執行。由於 MCP 可以透過執行 npx 等套件管理工具將程式碼下載到使用者端,若非開發人員,通常不會清楚哪些程式碼被下載到電腦上。
以下範例是常見的 MCP Server 設定,當 MCP 用戶端看到這個設定以後,就會直接去下載對應的程式碼並執行:
{
"mcpServers": {
"ABCService": {
"command": "npx",
"args": [
"-y",
"@openabc/mcp-server-abcservice"
]
}
}
}
雖然設定方式非常簡單,不過對駭客來說,這也是千載難逢的機會。
這樣的架構非常適合有心人士將有害程式碼打包在一起,但由於 MCP 並沒有規範執行環境該如何隔離,有害程式完全可以對電腦做任何操作,哪怕是要開後門都完全不費吹灰之力。更令人擔憂的是,下載到自己電腦的 MCP Server 幾乎都有存取網路的行為,就算防火牆、防毒軟體跳出警示,甚至可預期多數人會選擇略過甚至建立例外。
雖然 Anthropic 在 MCP 的官方 Github 上列出很多 MCP 伺服器,不過我們建議大家優先選擇使用官方整合 (Official Integration) 清單內的 MCP Server,社群貢獻的 MCP Server 建議就多觀察一下或挑選可信賴的社群開發的整合。
至於網路上一堆 MCP Server 目錄,大家為了搶量也幾乎沒做任何防護措施,就不建議一般使用者去使用。