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. 下一步去哪

本页目录