沙箱与权限模型对比: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」和「自部署弱模型」之间权衡。