功能

Sandbox

Sandbox 限制 Agent process 及其 child process 可以读取、写入的内容和可访问的 network(Linux 使用 Landlock,macOS 使用 Seatbelt)。默认关闭。权限决定工具调用是否运行;sandbox 限制已批准调用可以执行的操作,请参阅权限

Profiles

ProfileFilesystem 读取Filesystem 写入Child network使用场景
off无限制无限制允许无 sandbox(默认)
workspace所有位置CWD、~/.grok/、temp允许常规开发
devbox所有位置/data 外的顶级目录允许Cloud devbox 环境
read-only所有位置~/.grok/ 和 temp阻止Code review、审计
strictCWD 和 system pathsCWD、~/.grok/、temp阻止不受信任的 repository
限制详情
Child network仅在 Linux 上执行;macOS 对 read-only / strict 无操作
Credentials内置配置不会永久保护 ~/.ssh 等路径;请使用自定义 deny list
~/.grok/在 sandbox profile 下保持可写,以便 session 持久化
In-process networkModel API 和 web tools 不受 child-network 设置阻止

启用 Profile

机制示例
CLIgrok --sandbox workspace
Config[sandbox] profile = "workspace",位于 ~/.grok/config.toml
EnvGROK_SANDBOX=workspace
Managed pinrequirements.toml(可以覆盖 CLI),请参阅 Enterprise

自定义 Profiles

~/.grok/sandbox.toml 或项目 .grok/sandbox.toml 中定义命名 profile:

Text

[profiles.my-profile]
extends = "workspace"
restrict_network = true
deny = ["/secrets", "**/.env", "**/*.pem"]

使用 --sandbox my-profile[sandbox] profile 选择。内置名称不能重新定义后用于选择。Field 详情请参阅 Settings Reference

对于不受信任的目录树,将 strict profile 与范围较窄的 permission allow(或 headless dontAsk)配合使用。