sandbox.json 配置
控制沙箱文件访问、临时目录、网络和配置合并,理解通配符语义。
This page has not been translated into English yet. The original Chinese version is shown below.
沙箱限制终端进程能触及的资源。配置放在 ~/.cursor/sandbox.json 或工作区 .cursor/sandbox.json;两者可选,项目配置优先,同时受团队策略和内建保护约束。
常用字段
| 字段 | 默认值与作用 |
|---|---|
| type | workspace_readwrite;也支持 workspace_readonly、insecure_none |
| additionalReadwritePaths | [];只在 workspace_readwrite 下增加读写路径 |
| additionalReadonlyPaths | [];增加只读路径 |
| readBoundary | system;workspace 启用工作区读取边界 |
| additionalReadPaths | [];workspace 模式的读取 allowlist |
| disableTmpWrite | false;true 移除默认临时目录写权限 |
| enableSharedBuildCache | false;共享 sandbox 内外构建缓存 |
insecure_none 会关闭沙箱。readBoundary 与 additionalReadPaths 的行为见工作区读取边界。
网络配置
{
"networkPolicy": {
"default": "deny",
"allow": ["registry.npmjs.org", "*.githubusercontent.com"],
"deny": ["internal.example.com"]
}
}networkPolicy.default 默认 deny,allow 和 deny 默认空数组,deny 优先。支持精确域、通配符与 CIDR;这里的 *.example.com 包含根域 example.com,和 CLI WebFetch 的子域规则不同。URL 路径不参与匹配。
默认阻止私有/本地 IP、云元数据地址和 IPv6 私有地址。实际允许范围还受界面 Network Access 模式影响:sandbox.json Only 只用自定义规则,sandbox.json + Defaults 加入 Cursor 内置软件包/工具域(默认模式),Allow All 允许沙箱网络访问而不受 sandbox.json 网络配置限制。
合并规则
- additionalReadwritePaths 和 additionalReadonlyPaths 取并集。
- readBoundary 由项目替换用户值,团队 workspace 策略仍可强制。
- additionalReadPaths 由项目替换用户值,再加入团队列表;管理员可禁止用户扩展。
- 网络 allow 合并,但团队 allowlist 存在时替换该并集;deny 始终合并。
- networkPolicy.default 的 deny 优先;限制型布尔值以 true 优先。
始终保护的路径
.cursor 的 JSON 配置、.claude 的 JSON 配置、.vscode、.code-workspace、.git/hooks、.git/config、.git/info/attributes 和 .cursorignore 等始终受写保护。相对地,.cursor 下 rules、commands、worktrees、skills、agents 子目录可写。
沙箱只作用于实际进入沙箱的命令;被 allowlist 或其他批准路径允许在外部运行的命令,应按对应执行模式判断。