iT邦幫忙

2025 iThome 鐵人賽

DAY 7
0
生成式 AI

被AI之箭射中了 - 是覺醒還是死去系列 第 7

Day07 - MCP:如何安全使用MCP工具?開發者必知的3個防護要點

  • 分享至 

  • xImage
  •  

前言

是說... 週日不就是要放假嗎?

在上一篇介紹了一種與 MCP 相關的資安攻擊方法,問題認識完了要學習一下最基本的應對!

確認 MCP 所有內容的透明性

在上一篇介紹了 透過在 MCP 工具描述加入惡意內容的攻擊手法,那身為開發者怎麼避免這件事? 以簡單大方向來說就是 不使用資訊不明的 MCP 工具,具體的方法有以下幾種:

使用工具之前去檢視 registry

如果工具description 內容沒有惡意內容,應該能公開相關程式碼讓使用者放心,這邊我實際去爬了 figma mcp 工具的 相關程式碼(如下圖)

該 figma mcp 工具非官方提供的,而是由 Graham Lipsman 個人開發,該工具有列在 Anthropic registry

https://ithelp.ithome.com.tw/upload/images/20250921/2014127202DupGzUmt.png

這邊查詢的是 download_fimga_image_tool 這個方法,從圖中可以清楚看見該工具的 description 內容並沒有被額外加工。

只使用具有認證的工具

首先要定義「有認證」一詞,這邊舉幾個參考標準:

  • Anthropic 官方的 registry 提供或推薦的工具
  • 程式碼公開在 GitHub - 可以檢查源碼確認
  • 開發者信譽(在開源社群有良好記錄的開發者、有真實身份)

僅提供 MCP 必要的權限

這邊以 Github MCP 為例,以我自身使用經驗來說,通常會用來:

  • 協助專案的程式碼審查
  • 檢視 issues 和 PR 狀態
  • 理解專案配置和部署方式

基於上述需求,你在提供 GitHub Token 時,僅需勾選開放包含以下權限給 MCP 即可

✅ public_repo          # 對公開的 repo 進行讀取
✅ repo                 # 對所有 repo 進行讀取

而不該給予像是以下權限

❌ delete_repo           # 刪除倉庫
❌ admin:org             # 組織管理
❌ admin:repo_hook       # Webhook 管理
❌ workflow              # 修改 Actions

小結

今天簡單的介紹了使用前的檢查方法,但是假設今天的情境是 正常的 MCP 服務在某天被成功駭入並植入惡意內容,但這時該工具已經通過我們上述的檢查情境了,為了避免這樣的情境發生,我們需要一個更完整的檢查系統,我想在下一篇實作一個簡單的檢查工具。


上一篇
Day06 - MCP:你使用的工具方法是安全的嗎?
下一篇
Day08 - MCP:踩坑 MCP Proxy Server 的安全機制實作
系列文
被AI之箭射中了 - 是覺醒還是死去9
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言