
【OpenClaw 从入门到精通】第 20 篇沙箱隔离 — 安全执行环境本系列定位零基础入门从安装配置到高级架构全覆盖。本篇你将学到为什么需要沙箱三种沙箱后端Docker / SSH / OpenShell沙箱工具权限配置一、为什么需要沙箱main 会话你自己完全信任工具直接在宿主机运行 非 main 会话群组/多用户不信任需要隔离 没有沙箱 群组用户 → Agent → rm -rf / → 有沙箱 群组用户 → Agent → 沙箱内执行 → 安全隔离下面是沙箱隔离的流程对比图有沙箱群组用户Agent沙箱容器✅ 安全隔离无沙箱群组用户Agentrm -rf / 系统崩溃二、配置沙箱2.1 启用沙箱{agents:{defaults:{sandbox:{mode:non-main}}}}mode: non-main表示main 会话不沙箱非 main 会话沙箱。2.2 沙箱后端后端说明默认Docker在 Docker 容器内执行✅ 默认SSH在远程 SSH 主机上执行—OpenShellOpenClaw 自带的隔离 Shell—{agents:{defaults:{sandbox:{mode:non-main,backend:docker}}}}下面是沙箱配置的决策流程non-mainnon-mainallnone配置 sandbox.modemode 值main 会话无沙箱非 main 会话启用沙箱所有会话都沙箱所有会话都不沙箱选择 backendDocker默认SSHOpenShell三、工具权限3.1 默认权限策略{sandbox:{mode:non-main,allow:[bash,process,read,write,edit],deny:[browser,canvas,nodes,cron,gateway]}}allow说明bash/process基础命令执行read/write/edit文件操作deny说明browser浏览器网络风险canvas可视化nodes设备节点控制cron定时任务可创建持久任务gatewayGateway 管理3.2 自定义权限根据你的安全需求调整 allow/deny 列表。下面是工具权限的 allow/deny 策略示意图沙箱环境在 allow 列表在 deny 列表都不在工具请求权限检查✅ 允许执行❌ 拒绝执行❌ 默认拒绝本篇小结知识点核心内容沙箱目的隔离非 main 会话的命令执行sandbox.modenon-main推荐Docker 后端默认容器内执行allow / deny控制沙箱内可用工具下篇预告第 21 篇会话隔离与多用户场景如果本篇内容对你有帮助欢迎点赞收藏有任何疑问欢迎在评论区交流。