沙箱與許可權模型對比: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 Mode | tool 級控制(演進中) | Team / Enterprise SSO + Audit + Privacy Mode + Local Mode |
| GitHub Copilot | Cloud Agent 隔離 sandbox | tool 級 approval + content exclusions | Business / Enterprise + file exclusions + SSO + Audit Log |
| Gemini CLI | shell 命令需 approval | 預設 sandbox 模式(無寫許可權) | Code Assist Standard / Enterprise |
| Windsurf | Cascade task 內安全 | 命令 approval | Teams / Enterprise + SSO + Audit |
| Antigravity | Agent sandbox + Browser 隔離 | 多層 approval | Workspace 議價 |
| OpenCode | 自家 sandbox(自部署可定製) | tools allow/deny | 自託管完全自控 |
| Hermes Agent | 工具邊界設定 | provider 級約束 | 自託管 |
| OpenClaw | Channel 三層隔離 | 多 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」和「自部署弱模型」之間權衡。