跳到正文
FunCoding

搜索

搜索文档、Skill 和 MCP

sandbox.json 配置

控制沙箱文件访问、临时目录、网络和配置合并,理解通配符语义。

沙箱限制终端进程能触及的资源。配置放在 ~/.cursor/sandbox.json 或工作区 .cursor/sandbox.json;两者可选,项目配置优先,同时受团队策略和内建保护约束。

常用字段

字段默认值与作用
typeworkspace_readwrite;也支持 workspace_readonly、insecure_none
additionalReadwritePaths[];只在 workspace_readwrite 下增加读写路径
additionalReadonlyPaths[];增加只读路径
readBoundarysystem;workspace 启用工作区读取边界
additionalReadPaths[];workspace 模式的读取 allowlist
disableTmpWritefalse;true 移除默认临时目录写权限
enableSharedBuildCachefalse;共享 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 或其他批准路径允许在外部运行的命令,应按对应执行模式判断。