跳轉到

AI Agent 安全與權限:Browser、File、Shell、GitHub、Gmail 的工具權限怎麼控管

整理自資安研究與 OWASP 文件(見文末),2026-06-20。Agent 一旦能用瀏覽器、檔案、shell、GitHub、Gmail 這類工具,威脅模型就和「純聊天」完全不同。本頁講為什麼危險、危險的結構長怎樣、以及怎麼用權限設計把風險關住

實證標記:〔研究〕= 出自資安研究者/廠商分析;〔OWASP〕= 出自 OWASP 文件;〔實務〕= 業界慣例或本人整理。預設 under-claim。

核心威脅:Prompt Injection 不是 bug,是結構問題

Agent 會把外部內容(網頁、信件、issue、檔案)讀進 context。問題是:模型分不清「這是資料」還是「這是指令」。攻擊者只要把惡意指令藏進那些外部內容,就可能讓 agent 照做——這就是 prompt injection。〔研究〕

〔研究〕業界共識逐漸傾向:prompt injection 比較像是現階段架構的長期缺陷,而非一個能「修掉」的 bug。所以防禦重點不是「擋住所有注入」,而是假設注入會發生,限制它能造成的後果

致命三角(The Lethal Trifecta)

資安研究者 Simon Willison 提出的框架,講清楚「什麼樣的工具組合會出大事」。當一個 agent 同時具備這三項能力,就能被單一注入指令變成資料外洩工具:〔研究〕

能力 意思 對應工具
存取私密資料 能讀到敏感內容 File、GitHub(私有 repo)、Gmail(信件內容)
接觸不可信內容 會讀到外部可被攻擊者控制的文字 Browser、收到的 Email、公開 issue/PR
能對外通訊 能把資料送出去 Browser(送 URL)、Gmail(寄信)、發 PR/留言

〔研究〕運作方式:被污染的內容操縱 agent → agent 拉出敏感資料 → agent 把資料送出門。整個過程不需要任何惡意程式或漏洞鏈,純文字就能完成。真實案例:Writer.com 曾可透過隱形圖片 URL 參數外洩文件內容;GitLab Duo 曾被公開專案裡的惡意指令誘導,把私有 repo 資訊送到偽裝的安全網域。

緩解原則:Agents Rule of Two

Meta 提出的「兩項規則」把三角當預算:無人監督的 agent,最多只能同時滿足三項中的兩項;要三項全有,就必須有人在迴圈裡(human-in-the-loop)。〔研究〕

這條規則非常實用,因為它把抽象的「要小心」變成可執行的設計檢查:你的 agent 同時碰了哪幾項?超過兩項就要加人工關卡或砍掉一項能力。〔實務〕

OWASP LLM06:Excessive Agency(過度代理)

OWASP 把「agent 權限給太多」列為 LLM Top 10 之一,並拆成三個根因——這是設計權限時的對照表:〔OWASP〕

根因 意思 對策方向
Excessive Functionality(功能過多) agent 能碰到超出任務所需的工具 只給完成任務最小集合的工具
Excessive Permissions(權限過大) 工具本身用了超出必要的權限 每個工具最小權限、role-specific
Excessive Autonomy(自主過高) 高衝擊動作不經人就執行 高風險動作 human-in-the-loop

逐工具的權限控管〔實務〕

把上面框架落到你列的這幾類工具:

工具 主要風險角色 控管要點
Browser 不可信內容 + 對外通訊(兩角都占!) 預設最危險的一環;限制可訪網域、禁止自動送出帶資料的請求、警惕隱形圖片/URL 外洩
File 私密資料 限定可讀寫目錄、唯讀為主、敏感路徑黑名單
Shell 高衝擊動作 沙箱化執行、資源限制、可回滾;破壞性指令需確認
GitHub 私密資料 + 對外通訊 私有 repo 唯讀或限定 repo;push/PR/留言設人工確認
Gmail 私密資料 + 不可信內容 + 對外通訊(三角全占!) 寄信一律 human-in-the-loop;讀信內容當不可信輸入

〔實務〕注意 Gmail 單一工具就可能湊齊致命三角(讀得到私密信件、收得到外部惡意信、又能寄信外送)。這類工具預設就要把「對外送出」鎖在人工確認後。

通用防禦清單

把研究與 OWASP 的建議收斂成可執行清單:〔OWASP〕〔研究〕〔實務〕

  1. 把 LLM 當敵意使用者:agentic 函式放在和外部流量同等的 API gateway、rate limiter、IAM 邊界後面。〔OWASP〕
  2. 最小功能 + 最小權限:只給任務必需的工具,每個工具只給必需的範圍。〔OWASP〕
  3. 高衝擊動作 human-in-the-loop:寄信、發文、刪資料、金流、push/PR——一律人工確認。〔OWASP〕
  4. 不可信輸入隔離:工具/網頁/信件回傳的文字,全當「可能被偽造的輸入」,不讓它直接觸發特權動作。〔研究〕
  5. 沙箱執行 + 可回滾:尤其 shell/程式碼執行,隔離環境、資源上限、能還原。〔OWASP〕
  6. 用「兩項規則」自查:碰到三角超過兩項就加關卡。〔研究〕
  7. 記錄與告警:log 所有工具呼叫、對異常樣態(暴增的外送、異常路徑)告警。〔OWASP〕
  8. 憑證不進沙箱/不進 prompt:見 MCP 生態系指南 的信任邊界一節。

延伸閱讀(本站)

來源