Skip to content
FunCoding

Search

Search docs, Skills and MCP

沙箱设置与默认值

配置工具隔离、凭据注入、文件路径、网络和单次绕过。

This page has not been translated into English yet. The original Chinese version is shown below.

会话中输入 /sandbox 或 /sandbox config 打开 General、认证、Filesystem、Network 四个标签(认证页在旧专题称 Auth,在应用路径下的配置专题称 Credentials),使用 Tab 切换。该界面按 Esc 会保存更改并关闭,不是放弃编辑。管理设置锁定的项显示 (managed)。

General:哪些进程受隔离

Enable sandbox 默认关闭。Allow sandbox bypass、Sandbox MCP servers、Sandbox LSP servers 默认开启。后两项针对 CLI 启动的本地进程;远程 MCP 不会因此在本地被隔离。

允许 bypass 表示命令无法在沙箱内完成时,可以请求一次沙箱外执行。关闭后失败会被报告,不能靠反复批准绕过。如果管理员强制 sandbox.allowBypass=false,个人设置不能重新打开。

Auth:凭据与钥匙串

设置键默认值含义
sandbox.auth.gittrue向沙箱提供 Git 认证
sandbox.auth.ghtrue为 gh 注入 GH_TOKEN
sandbox.userPolicy.seatbelt.keychainAccessfalsemacOS 中允许访问系统钥匙串

GitHub HTTPS Git 可通过注入令牌认证,非 GitHub 主机则使用已有凭据。gh 通过环境变量工作,不需要访问被沙箱阻挡的凭据目录或钥匙串。

旧键 sandbox.gitAuth、sandbox.ghAuth 没有自动迁移,当前参考说明仍保留旧键时会被忽略。手工维护配置应使用上表的新嵌套键。

Filesystem:项目和额外路径

Include working directory 与 Allow dev tool access 默认开启。前者自动给予工作目录及 Git 元数据所需授权,后者为开发工具、配置和缓存提供访问,细节见策略解析。

应用路径下的配置专题给出 Filesystem → User-configured paths,按 A 添加绝对路径,再选 Read/Write、Read-Only 或 Denied;Enter 编辑,X 删除。旧 CLI 专题仍写直接在 Filesystem 添加、D 删除,操作以当前界面为准。目录规则包含子树,不支持通配符。新专题还说明,若规则路径本身是符号链接且可解析,会为 Read/Write 或 Read-Only 一并加入当前目标,不会授权允许目录里所有其他链接的目标。

Windows 拒绝路径的说明尚未统一:概念页写 CLI 不支持,而应用配置专题的 CLI 部分写需支持此限制的系统版本。共同点是无法执行所请求拒绝策略时命令失败,不应静默降低保护。

Network:联网与主机规则

Allow outbound connections 默认开启。Allow local network 默认值有冲突:旧 CLI 专题写开启,应用配置专题的 CLI 部分写关闭;后者同时明确桌面应用自己的 Local network 默认开启。不能合并成一个跨客户端默认值,应检查实际设置与有效策略。Linux 子进程和内置代理的行为也不同,见平台限制。

当前配置参考还提供主机规则:

键默认值匹配规则
sandbox.userPolicy.network.allowedHosts[]非空时只允许匹配主机
sandbox.userPolicy.network.blockedHosts[]拒绝规则优先,拒绝域名也覆盖子域

条目可为精确主机名、单个 IPv4/IPv6、*.example.com 严格子域匹配或 *,不支持 CIDR,也不写 URL scheme、路径或端口。拒绝域名包含其子域,Deny 优先;新建界面规则默认 Deny。没有允许条目时,其他主机通常仍可访问,但联网总开关和拒绝规则继续有效。

应用配置专题还说明:用户和企业 allowlist 取交集,不相交时全部拒绝。存在 Allow 规则且同时允许 outbound 与 local 时,会为有效策略加入 localhost、127.0.0.1、::1,不改保存规则,显式 Deny 和企业规则仍可阻挡。用 /sandbox policy 检查最终结果。

HTTP 代理

配置键是 sandbox.userPolicy.network.proxy,包含必需的 url 和可选的 username、password。应用配置专题给出 Network → Proxy and blocking → Remote proxy;有系统凭据库时保存到凭据库,否则使用本地文件后备,settings 只持有引用。也可将完整 Password 值设为 ${VAR} 或 $VAR,未设置该变量时不发送密码。关闭 outbound 后,代理配置仍保留但不生效。

代理执行存在三份不一致说明:概览和配置参考写 macOS 协作式、Linux 强制、Windows 不支持;旧 CLI 教程写 macOS/Linux 协作式、Windows 强制;应用路径下配置专题的 CLI 部分写 macOS/Linux 强制、受支持 Windows 依赖程序遵循代理。不能用其中一句推断所有版本的安全保证,见平台差异。Linux 上游代理仍要求 IPv4 可达,URL 不得嵌入凭据。

确认设置生效

/settings 中搜索 sandbox 可查看保存值;/sandbox status 检查本会话是否实际启用;/sandbox policy 检查合并后边界。修改偏好后,三个层面的结果应一起核对,特别是企业托管和平台不支持的环境。