iT邦幫忙

2025 iThome 鐵人賽

DAY 9
0
生成式 AI

別讓駭客拿走你的AI控制權:MCP x n8n 防禦實戰全攻略系列 第 9

# 防禦策略 #3:最小權限設計 — MCP 只能呼叫特定工具

  • 分享至 

  • xImage
  •  

在使用 MCP(Model Context Protocol)整合多種工具時,如果沒有設定最小權限,將導致高風險的安全漏洞。本策略的核心是:只允許必要的工具可被呼叫,其他具破壞性的功能必須嚴格控管。

攻擊情境模擬

假設系統暴露了以下四個工具:

  1. calculate:數學運算
  2. get_current_time:查詢系統時間
  3. query_database:執行資料庫查詢(SELECT)
  4. delete_database:刪除資料庫資料(DELETE)

沒有最小權限設計:

駭客可能繞過 API Key 或輸入過濾層,直接向 MCP Server 發送請求。
MCP Server 未檢查來源與授權,資料就有可能直接被刪除。

資料庫原始狀態
https://ithelp.ithome.com.tw/upload/images/20250923/20168687oWpC3jhyjs.png]
Prompt Injection:資料表有什麼資料、刪除資料表所有資料

https://ithelp.ithome.com.tw/upload/images/20250923/20168687CBTDfR6mKE.png

被成功執行後資料庫狀態

https://ithelp.ithome.com.tw/upload/images/20250923/20168687z1PWoHpy75.png

最小權限設計

  1. 工具白名單
    Client:僅允許呼叫低風險工具。
    https://ithelp.ithome.com.tw/upload/images/20250923/20168687zFwiLVqLJw.png

  2. 角色授權
    加入使用者角色驗證,不同角色使用不同 Agent擁有不同工具使用權。
    https://ithelp.ithome.com.tw/upload/images/20250923/20168687YA6pN5CQW7.png

以下簡單模擬 admin 以及 user 的差別
先用 Code + if 判斷帳戶,admin 走擁有所有工具權限的 Agent,user 走僅開放低風工具的 Agent
https://ithelp.ithome.com.tw/upload/images/20250923/20168687nKWFOIGpw1.png

結論

最小權限設計能有效縮小攻擊面,即使駭客繞過前兩道防線,也無法直接利用高風險工具進行破壞。「不該給的權限絕不給」,是 MCP 工具安全防護的核心原則。


上一篇
# 模擬攻擊 — 駭客試圖呼叫敏感 Workflow
系列文
別讓駭客拿走你的AI控制權:MCP x n8n 防禦實戰全攻略9
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言