AI 程式設計教學中文版
單維度橫評

沙箱與許可權模型對比:10 款 AI 程式設計工具安全機制(2026)

Codex 三檔沙箱 / Claude permissions tool-level / Copilot content exclusions——10 款 AI 程式設計工具的安全機制對比。重點不是「絕對安全」,而是「你能控制什麼」。

讓 AI agent 改程式碼、跑命令、訪問網路——能力越大,風險越大。

「沙箱與許可權模型」是 2025-2026 年 AI 程式設計工具的核心差異化維度。這一篇橫評 10 款工具的安全機制:哪家做得嚴、哪家做得松、哪家給你最細粒度的控制。

本章目標:你會按你的安全敏感度選工具,避開「預設全開 / 一點 gate 都沒有」的隱患場景。

1. 沙箱與許可權的差異

兩者經常被混在一起,先區分:

  • 沙箱(Sandbox):程序級別的資源訪問約束。控制 agent 能讀哪些檔案、能寫哪些檔案、能訪問什麼網路。
  • 許可權(Permissions):工具級別的動作約束。控制 agent 能用哪些 tool、每個 tool 在什麼時候需要 approval。
flowchart TB
  Agent["AI Agent"] --> Sandbox{沙箱<br/>「能讀寫到哪裡」}
  Sandbox --> Files["檔案系統訪問"]
  Sandbox --> Network["網路訪問"]
  Sandbox --> Process["子程序"]

  Agent --> Permissions{許可權<br/>「能呼叫什麼 tool、何時審批」}
  Permissions --> Tool1["read_file: auto-allow"]
  Permissions --> Tool2["write_file: ask"]
  Permissions --> Tool3["shell exec: deny"]

沙箱是「能做什麼」的邊界許可權是「怎麼做」的審批。兩者互補不重疊。

2. 10 款工具的安全機制對比

工具沙箱機制許可權模型企業級控制
Claude Code無獨立沙箱(依賴 OS 許可權)permissions 欄位(tool-level allow/ask/deny)Team / Enterprise SSO + Audit
Codex三檔(read-only / workspace-write / danger-full-access)四檔 approval(untrusted / on-failure / on-request / never)Business / Enterprise + Codex GitHub App
Cursor編輯器內 Privacy Mode + Local Modetool 級控制(演進中)Team / Enterprise SSO + Audit + Privacy Mode + Local Mode
GitHub CopilotCloud Agent 隔離 sandboxtool 級 approval + content exclusionsBusiness / Enterprise + file exclusions + SSO + Audit Log
Gemini CLIshell 命令需 approval預設 sandbox 模式(無寫許可權)Code Assist Standard / Enterprise
WindsurfCascade task 內安全命令 approvalTeams / Enterprise + SSO + Audit
AntigravityAgent sandbox + Browser 隔離多層 approvalWorkspace 議價
OpenCode自家 sandbox(自部署可定製)tools allow/deny自託管完全自控
Hermes Agent工具邊界設定provider 級約束自託管
OpenClawChannel 三層隔離多 agent 信任邊界自託管

3. 三種典型沙箱模型

模型 A · Codex 三檔(最嚴格)

read-only         → 只能讀,不能改、不能跑命令、不能聯網
workspace-write   → 工作目錄內可改可跑命令,但預設禁網路
danger-full-access → 完全自由,僅本地隔離環境使用

優點:邊界清晰,三檔夠用 缺點:偶爾需要切檔(如要聯網讀 npm 儲存庫時從 workspace-write 切到允許網路)

模型 B · Claude Code permissions(tool-level)

permissions:
  Read: allow
  Write: ask
  Bash: ask
  Edit: allow
  WebFetch: allow

每個工具單獨設定 allow / ask / deny。可以更細粒度控制(如允許讀但需要 ask 才能寫)。

優點:顆粒度細,靈活 缺點:要配的項多,新手容易漏

模型 C · GitHub Copilot content exclusions(企業級)

不是 sandbox,是**「特定檔案型別不被 AI 讀取」**——例如把 secrets.json.env*.key 加入 exclusion 後,Copilot 不會讀取它們。

優點:企業合規友好 缺點:僅 Business / Enterprise 檔可用

4. 五個安全級別推薦

按你的安全敏感度選工具檔位:

級別 1 · 完全無敏感資料(學習專案 / demo / 公開開源)

任何工具任何檔位都行。

級別 2 · 個人專案帶 API key(普通副業 / SaaS)

推薦 Codex workspace-write 模式 + on-request approval。命令前都 ask 一下,API key 檔案加 .gitignore 不被讀。

級別 3 · 公司專案帶客戶資料

推薦 GitHub Copilot Business + content exclusions。把客戶資料相關檔案路徑加到 exclusion,AI 不讀。

級別 4 · 金融 / 醫療 / 政府類合規專案

推薦 GitHub Copilot Enterprise + content exclusions + audit log + SSO。或者自部署 OpenCode + 本地 LLM(資料完全不出公司)。

級別 5 · 國家安全級

不上 AI 程式設計工具。或上完全自部署 + 完全離線 LLM + 嚴格審計。

5. 三個常被忽略的安全坑

坑 1 · 預設許可權太寬

很多工具預設 auto-allow 多個 tool(如 Read、Edit、Bash),新手用了幾個月才發現 AI 一直在自己讀 / 改任意檔案。第一次設定時建議預設 ask,常用 tool 再單獨 allow

坑 2 · MCP server 繞過工具許可權

工具內部的 permissions 約束 tool 級動作,但 MCP server 本身的能力沒有被工具許可權框住——一個允許檔案讀的 MCP server 可以讀你工具拒絕的檔案。裝 MCP server 前先看原始碼

坑 3 · 訓練資料隱私 vs 推理資料隱私

很多工具預設「不會用你的程式碼訓練模型」,但推理時(即你跟 AI 對話時)你的程式碼會被髮送到 AI 廠商伺服器。這是兩件事。

  • 訓練資料隱私:大部分付費檔預設不訓練
  • 推理資料隱私:只有 Enterprise 檔 + Privacy Mode + Local Mode(如 Cursor)才提供真正的「不出公司網路」

6. 三類使用者的推薦

A 類 · 個人開發者 / 副業玩家

特徵:專案無客戶資料 / 合規要求,但有 API key 等中等敏感資料。

推薦 Codex workspace-write + on-request approval。或 Claude Code permissions 配 Write: ask + Bash: ask

B 類 · 中小公司團隊

特徵:客戶資料 / 內部程式碼不允許出公司網路。

推薦 GitHub Copilot Business + content exclusions。配 SSO + Audit Log。

C 類 · 大企業 / 合規重度

特徵:金融 / 醫療 / 政府類,AI 工具必須過嚴格審計。

推薦自部署方案:OpenCode + 私有 LLM(如 Azure OpenAI 私有部署)或 Cursor Enterprise Local Mode。

7. 常見問題

Q1 · 沙箱開太嚴會拖慢工作流嗎?

會,但通常可接受。workspace-write + on-request 模式下,每個非常規命令會停下來等你 approve,比 never 多 30%-50% 時間。為了安全值得

Q2 · Claude Code 沒有沙箱,是安全劣勢嗎?

是。Claude Code 依賴 OS 許可權(使用者執行 Claude Code 的程序許可權就是 agent 的許可權),沒有像 Codex 那樣的工具級 sandbox 三檔。重要專案建議在隔離 Docker / VM 內跑 Claude Code

Q3 · GitHub Copilot content exclusions 真的能保證機密檔案不被讀嗎?

99% 能保證。content exclusions 是組織級設定,AI 不會讀這些路徑下的檔案。但設定錯誤會留漏洞——例如忘記 exclude 某個新增的敏感檔案路徑。

Q4 · MCP server 怎麼單獨控制許可權?

工具內部可以為每個 MCP server 單獨配 allow/ask/deny。Claude Code 在 ~/.claude/settings.json 裡、Cursor 在 ~/.cursor/mcp.json 裡都可以做。每裝一個新 MCP server 前都要單獨審許可權

Q5 · 自部署能完全保證資料安全嗎?

「資料不出網」可以保證,但自部署 LLM 的能力比商業旗艦模型弱。如果你能接受弱模型,自部署是最高安全;如果不能接受,得在「商業模型 + 嚴格 sandbox」和「自部署弱模型」之間權衡。

8. 下一步去哪

本頁目錄