重點摘要
MCP 讓 AI 能直接操作企業系統,風險也從「AI 說錯話」變成「AI 做錯事」。
主要威脅有三類:外部內容夾帶指令誘導 AI(提示注入)、來路不明的 MCP Server,以及權限給得太大。
提示注入無法完全杜絕,防護重點是限制「被誘導之後能造成多大的影響」。
最關鍵的原則:能讀取敏感資料、會處理外部內容、能對外傳送資料,這三個條件不要讓同一個 AI 工作流程同時具備。
傳統 API 由工程師寫好的程式呼叫,什麼時候呼叫、傳入什麼參數,都是事先決定的。透過 MCP,決定要呼叫哪個工具的是 AI,而 AI 的判斷會受到它讀到的所有內容影響,包括使用者的提問、文件內容、網頁、電子郵件,甚至工具回傳的資料。
這代表攻擊者不一定要入侵系統,只要讓 AI「讀到」一段精心設計的文字,就可能誘導 AI 用使用者的權限執行操作。MCP 的基本概念可參考MCP 企業導入完整指南,生成式 AI 的整體資安風險則可參考生成式 AI 資安與資料治理指南。
風險 | 怎麼發生 | 可能的後果 |
|---|---|---|
間接提示注入 | AI 讀取的郵件、文件、網頁或工單內容裡,夾帶「請把客戶資料寄到某個信箱」之類的指令 | AI 以使用者的權限執行攻擊者想要的操作 |
工具描述投毒 | 第三方 MCP Server 的工具說明中藏有指令,AI 讀取工具清單時就受到影響 | AI 在使用其他工具時被引導做出額外動作 |
過度授權 | MCP Server 以管理員帳號或萬用權杖執行 | 一般使用者透過 AI 就能存取或修改無權限的資料 |
資料外洩組合 | 同一個工作流程同時能讀取機密資料、處理外部內容、對外傳送資料 | 機密資料被提示注入帶出企業外部 |
來源不明的 MCP Server | 安裝未經審查的社群套件,或套件更新後行為改變 | 本機或伺服器上的任意程式被執行、憑證被竊取 |
憑證管理不當 | API 金鑰、存取權杖以明碼寫在設定檔中 | 設定檔外流即等同系統權限外流 |
資料外洩通常需要三個條件同時成立:
能存取敏感資料:例如客戶名單、合約、財務資料。
會處理不受信任的內容:例如外部寄來的郵件、上網搜尋的結果、客戶上傳的文件。
能對外傳送資料:例如寄信、呼叫外部網址、發布內容。
只要拿掉其中一個,提示注入就很難把資料帶出去。實務上的做法例如:處理外部郵件的 AI 助手不給讀取客戶資料庫的工具;能讀取機密資料的工作流程不開放寄信或對外連線;必須三者兼具的流程,在對外傳送前一律要求人工確認。
層次 | 措施 |
|---|---|
治理 | 建立核准的 MCP Server 清單;第三方 Server 上線前審查來源與程式碼,並鎖定版本,更新前重新審查 |
權限 | 以登入使用者的身分執行、沿用既有角色權限;讀取與寫入工具分開授權;權杖設定範圍與有效期限 |
執行 | 刪除、批次修改、對外寄送、金額異動前要求人工確認;限制工具可連線的外部網址;回傳資料只給必要欄位 |
監控 | 記錄每次工具呼叫的使用者、AI 應用、工具、參數與結果;對異常行為設定告警,例如短時間大量查詢或首次出現的對外傳送 |
項目 | 確認重點 |
|---|---|
工具清單 | 每個工具的用途、讀或寫、影響範圍都有記錄 |
身分與權限 | 工具以使用者身分執行,沒有萬用帳號 |
高風險操作 | 已列出需要人工確認的操作,並實際測試過 |
三個條件 | 每個工作流程都檢查過,沒有同時具備三個條件,或已加上確認關卡 |
第三方 Server | 來源可信、程式碼審查過、版本已鎖定 |
憑證 | 金鑰存放在安全的位置,不在設定檔中明碼出現 |
紀錄與告警 | 能查到每次工具呼叫,異常行為會通知負責人 |
網路上有大量社群開發的 MCP Server,安裝很方便,但等於讓一段外部程式取得 AI 可用的權限。採用前可以依下列項目評估:
評估項目 | 要看什麼 |
|---|---|
來源 | 是否由服務商官方提供,或由可信任的組織維護 |
需要的權限 | 要求的權限是否超出它宣稱的功能 |
網路行為 | 是否會連線到與功能無關的外部位址 |
工具說明 | 工具描述是否只說明用途,沒有夾帶額外指示 |
維護狀況 | 是否持續更新、有沒有公開的安全問題回報管道 |
自己開發的 MCP Server 比較容易控管,但仍有幾個常見疏漏:用管理員帳號存取資料、工具直接讀寫資料庫而繞過權限檢查、回傳過多欄位、沒有記錄呼叫紀錄。開發方式可參考MCP Server 開發實作,系統本身的權限與紀錄設計則可參考讓系統能被 AI Agent 操作。
MCP 協定本身安全嗎?
MCP 定義了連線與授權的方式,但無法替每個工具決定該給多少權限、哪些操作需要確認。實際的安全程度,取決於 MCP Server 的設計與企業的使用規範。
提示注入可以完全防止嗎?
目前沒有方法能完全杜絕。比較可行的做法是假設 AI 有可能被誘導,再用最小權限、人工確認、限制對外傳送等方式,把被誘導後的影響降到最低。
可以使用社群開發的 MCP Server 嗎?
可以,但要經過審查:確認來源、檢視程式碼與要求的權限、鎖定版本。處理機密資料的情境,建議優先使用官方提供或自行開發的 MCP Server。
需要保留哪些紀錄?
至少包含使用者、AI 應用、呼叫的工具、傳入參數、執行結果與時間。這些紀錄是事後追查的依據,也能用來發現異常行為。
MCP 讓 AI 從回答問題進一步到執行操作,資安規劃也要跟著從「內容是否正確」延伸到「行為是否受控」。與其試圖完全阻擋提示注入,不如從權限、確認機制與紀錄著手,讓 AI 就算被誘導,也做不了危險的事。導入前想先盤點風險與適合的架構,可參考AI 顧問評估。