信任边界
Gateway 拥有通道连接、配置、凭据以及控制平面 API。默认情况下,它绑定到回环地址,并且如果没有可用的认证路径,则拒绝非回环绑定(架构、网络模型)。
mermaid actions={true} placement="top-right"
flowchart LR
subgraph GW["Gateway (trusted control plane)"]
direction TB
CH["Channel connections"]
POL["Policy: modes, scopes, exec approvals"]
SEC["Credentials: SecretRefs, supported sentinel paths"]
ST["Versioned state; memory artifacts and index"]
end
subgraph EX["Configured isolated execution (sandboxing off by default)"]
direction TB
SB["Sandbox: Docker, Podman, SSH, OpenShell"]
ND["Hosted node sessions: sealed, hash-verified worker"]
CW["Cloud workers: scoped RPC authority, proxied inference"]
end
OP["Operators, channels, peer agents"] -->|"configured admission and authorization"| GW
GW -->|"tool requests or worker turns"| EX
EX -->|"results and scoped worker RPCs"| GW
tools.exec.host 会解析到 Gateway 主机、沙箱 或配对的节点。当沙箱运行时处于活动状态时,每次调用逃逸到主机的请求都会被拒绝。如果显式指定 host=sandbox 但未配置运行时,则会失败,而不是静默地在主机上运行。后端包括 Docker 和 Podman、SSH 以及 OpenShell。默认的 Docker 和 Podman 配置没有网络、根文件系统只读、所有 capabilities 被丢弃,并使用非 root 用户。OpenShell 作为插件安装,并通过与 Docker 相同的后端契约进行注册。如果你已经运行 OpenShell,OpenClaw 会使用它的沙箱。它不需要被再包装在一个沙箱中。
沙箱绑定挂载会经过两次校验:一次针对规范化路径,另一次在通过最深现有祖先解析之后,因此基于符号链接的绕过尝试会失败关闭。凭据和系统路径的拒绝列表无法禁用——dangerouslyAllowExternalBindSources 覆盖项仅放宽允许根目录检查。
这种隔离也适用于跨机器场景。托管会话的配对节点会收到一个密封的工作节点工件。OpenClaw 会在三个时点校验该工件的内容哈希:下载时、清单时以及每次复用时。节点不会安装包,也不会运行生命周期脚本。它还可以将每个托管会话放入其自己的容器中,这由节点本地配置强制实施,而 Gateway 的启动请求无法表达该配置。
使用云工作节点时,会话的编码工作运行在一台一次性云机器上。该机器通过一个封闭的、由调度器强制执行的 RPC 方法允许列表连接回 Gateway。它会获得每次调度时铸造的凭据,这些凭据以哈希形式静态存储,TTL 为十分钟,并且不持有任何常驻的模型、GitHub 或云凭据。推理通过 Gateway 代理。持久化转录仅存在于 Gateway 上。工作节点看到有界的每轮上下文窗口,并且不会持久化本地转录副本。
远程工具后端还会改变沙箱代码能够访问的范围。Hermes 可以将终端、文件和 Python execute_code 工作转移到已配置的后端,同时由其父进程处理工具 RPC(执行来源)。OpenClaw 的云工作节点设计还为工作节点轮次提供了 Gateway 拥有的生命周期、作用域化的 RPC 权限、代理推理以及 Gateway 拥有的持久化转录。在任一设计中,可访问的凭据和服务取决于已启用的工具、挂载、网络策略和后端配置。
沙箱默认关闭。开箱即用状态下,OpenClaw 是面向单个受信任操作员的个人助理,exec 在 Gateway 主机上运行且无需提示。企业级姿态需要显式配置,并可通过两条命令验证:openclaw sandbox explain 会打印有效执行姿态,openclaw security audit 会使用稳定的检查 ID 标记漂移,你可以基于这些 ID 设置告警。
本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 cl/openclaw