是說... 週日不就是要放假嗎?
在上一篇介紹了一種與 MCP 相關的資安攻擊方法,問題認識完了要學習一下最基本的應對!
在上一篇介紹了 透過在 MCP 工具描述加入惡意內容的攻擊手法,那身為開發者怎麼避免這件事? 以簡單大方向來說就是 不使用資訊不明的 MCP 工具,具體的方法有以下幾種:
如果工具description
內容沒有惡意內容,應該能公開相關程式碼讓使用者放心,這邊我實際去爬了 figma mcp 工具的 相關程式碼(如下圖)
該 figma mcp 工具非官方提供的,而是由 Graham Lipsman 個人開發,該工具有列在 Anthropic registry
這邊查詢的是 download_fimga_image_tool
這個方法,從圖中可以清楚看見該工具的 description
內容並沒有被額外加工。
首先要定義「有認證」一詞,這邊舉幾個參考標準:
這邊以 Github MCP 為例,以我自身使用經驗來說,通常會用來:
基於上述需求,你在提供 GitHub Token 時,僅需勾選開放包含以下權限給 MCP 即可
✅ public_repo # 對公開的 repo 進行讀取
✅ repo # 對所有 repo 進行讀取
而不該給予像是以下權限
❌ delete_repo # 刪除倉庫
❌ admin:org # 組織管理
❌ admin:repo_hook # Webhook 管理
❌ workflow # 修改 Actions
今天簡單的介紹了使用前的檢查方法,但是假設今天的情境是 正常的 MCP 服務在某天被成功駭入並植入惡意內容,但這時該工具已經通過我們上述的檢查情境了,為了避免這樣的情境發生,我們需要一個更完整的檢查系統,我想在下一篇實作一個簡單的檢查工具。