Docs
CONTEXT.md Source

Approval and bounds

Dangerous actions, shells, Always allow.

On this page
  1. 批准(Approval)
  2. Always allow
  3. 危险动作(Dangerous action)
  4. 工作区外(Outside the workspace)
  5. 工作区壳(Workspace shell)
  6. 无约束壳(Unconstrained shell)

批准(Approval)

危险动作在执行前必须由你放行。批准管的是「接下来要做的那一下」,不能撤销已经做完的。

Avoid: ConsentGate, 闸门(openbot 词)

Always allow

名册级的一条已保存规则(种类键 + 范围):同类危险动作以后直接放行。和「允许一次」并存。有的种类是必须批准,不能写成 Always allow。

Avoid: 一律放行, bypass, 每 Bot 一条规则

危险动作(Dangerous action)

执行前必须批准:工作区外读或改、出站网络(模型调用除外)、新增或改 MCP(含 command·args / HTTP url·headers)、新建端点或改已有端点 URL、无约束壳。工作区内读 / 写 / 删、已配 MCP 的调用、工作区壳、往已有端点名单加或改模型名直接干。删除 MCP 不是危险动作。默认端点不能改 URL / 密钥 / 删除。

Avoid: 闸门, ConsentGate

工作区外(Outside the workspace)

路径 realpath 之后不落在工作区根前缀下。工作区内的 symlink 跟目标走:目标在区外就是区外。

Avoid: 只做字符串前缀, 按 inode / 硬链接判定

工作区壳(Workspace shell)

一次通过启动前路径检查的 shell:cwd 在工作区内,命令里看得见的路径也不出区。直接干。不是内核囚笼。

Avoid: 整机 shell, sandbox, seatbelt, 把 App Sandbox 容器当工作区根

无约束壳(Unconstrained shell)

一次被判定越界的 shell spawn。这次进程及其子孙不再走工作区路径检查;下一次 shell 重新判定。

Avoid: 永久解除, 内核 jail 解除