开启沙箱隔离
技能执行需与主机系统完全隔离,禁止沙箱内操作访问主机核心资源。启动沙箱时应严格限制沙箱权限,确保遵循最小化权限原则。
操作步骤
- 方式一:
- 设置沙箱模式为all,即所有会话都沙箱化。
openclaw config set agents.defaults.sandbox.mode "all"
- (可选)设置沙箱作用域,默认session。
openclaw config set agents.defaults.sandbox.scope "session"
- (可选)设置工作区访问权限。
openclaw config set agents.defaults.sandbox.workspaceAccess "none"
- 重启OpenClaw网关。
openclaw gateway restart
- 设置沙箱模式为all,即所有会话都沙箱化。
- 方式二
- 打开配置文件。
vim ~/.openclaw/openclaw.json
- 按“i”进入编辑模式,请添加如下内容。
{ "agents": { "defaults": { "sandbox": { "mode": "all", "scope": "session", "workspaceAccess": "none" } } } }表1 参数说明 参数
说明
mode
- off:关闭沙箱隔离功能。
- non-main:仅群组/渠道会话进沙箱。
- all:所有会话进沙箱。
scope
- session:每会话独立容器。
- agent:每Agent共用容器。
- shared:所有会话共享容器。
workspaceAccess
- none:完全隔离。
- ro:只读挂载工作区。
- rw:可以修改文件。
以下为推荐的最低安全配置,沙箱配置根据实际应用情况进行配置。
{ "agents": { "defaults": { "sandbox": { "mode": "all", "workspaceAccess": "none", "scope": "session", "docker": { "image": "openclaw-sandbox:bookworm-slim", "readOnlyRoot": true, "network": "none", "binds": [ "/home/username/workspace:/workspace:ro" ] } } } } }表2 workspaceAccess参数说明 可选值
说明
适用场景
none(推荐)
沙箱只能访问~/.openclaw/sandboxes下的临时工作区。
完全隔离,最安全。
ro
以只读方式挂载Agent工作区到/agent。
需要读取代码但不应修改。
rw
以读写方式挂载到/workspace。
需要持久化写入的场景(风险高)。
禁止配置以下高危选项。
危险配置
禁止值
风险
docker.network
host
绕过网络隔离,直接访问宿主机网络。
docker.seccompProfile
unconfined
禁用Seccomp安全策略。
docker.apparmorProfile
unconfined
禁用AppArmor安全策略。
docker.binds
挂载/etc、/proc、/sys、/dev、Docker socket
敏感路径暴露,可能导致容器逃逸。
- 按“Esc”键退出编辑模式,输入:wq!,按“Enter”键保存并退出文件。
- 重启OpenClaw网关。
openclaw gateway restart
- 打开配置文件。
父主题: 运行配置
