openclaw敏感操作需沙箱化:启用docker沙盒、工作区只读挂载、禁用提权工具链、构建最小化专用镜像、严格限制敏感路径挂载。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如果您在使用OpenClaw执行代码运行、网页抓取、文件解析等敏感操作时,担心AI误指令导致主机文件被篡改、密钥泄露或系统命令越权执行,则需将高风险行为严格限制在隔离环境中。以下是实现敏感操作沙箱化的具体配置路径与权限隔离操作:
一、启用Docker沙盒运行模式
OpenClaw默认以主机直连模式运行所有技能(Skills),任何工具调用均具备完整系统权限。启用Docker沙盒后,非主会话的工具执行(如Python脚本、curl请求、浏览器自动化)将在独立容器内完成,崩溃或错误不会影响宿主机稳定性与数据安全。
1、确认本地已安装Docker Desktop或Docker Engine,并确保服务正在运行。
2、定位并打开openclaw.json配置文件,该文件通常位于~/.openclaw/config.json路径下。
3、在gateway对象中添加或修改以下字段:
4、保存文件后,重启OpenClaw服务使配置生效:openclaw restart。
二、配置只读工作区挂载
即使运行于Docker容器内,若容器以读写(rw)方式挂载主机工作目录,AI仍可通过文件操作修改原始数据。设置为只读(ro)挂载可彻底阻断写入通道,确保主机工作区不可被沙盒内进程触碰。
1、在openclaw.json的sandbox配置块中,找到workspaceAccess参数。
2、将其值明确设为"ro",禁止沙盒内任何写入、删除、重命名操作。
3、验证挂载行为:进入容器执行touch /workspace/test,应返回Read-only file system错误。
4、对所有挂载路径(如/secrets、/config)统一追加:ro后缀,例如"/home/user/.openclaw/secrets:/secrets:ro"。
三、禁用提权工具链
OpenClaw支持通过配置声明“提权工具”(Elevated Tools),如shell、sudo、systemctl等。一旦启用,这些工具将绕过Docker沙盒,直接在宿主机上执行,使全部隔离策略失效。
1、检查openclaw.json中是否存在elevatedTools字段。
2、若存在,立即将其值设为空数组:"elevatedTools": []。
3、若该字段未定义,**切勿手动添加**;默认状态下即为禁用状态。
4、运行openclaw security audit --list-elevated命令,确认输出为
No elevated tools configured<font color="green">无提权工具配置</font>。 <h2>四、构建最小化专用沙盒镜像</h2> <p>官方轻量镜像不含Python、Node.js或浏览器环境,直接运行含依赖的技能将失败。但盲目启用全功能镜像会扩大攻击面。应按需构建仅含必要组件的定制镜像,避免冗余工具引入风险。</p> <p>1、根据技能需求选择基础镜像:需执行Python代码则选用<code>sandbox-common</code></p>;需网页交互则选用
sandbox-browser。
2、执行构建命令:openclaw sandbox build --image sandbox-common。
3、构建完成后,在sandbox配置块中指定镜像名:"image": "openclaw/sandbox-common:v2026.3.31"。
4、**严禁使用latest标签**,必须锁定至已审计的精确版本号,防止自动拉取含未知变更的镜像。
五、限制敏感路径挂载范围
部分用户为方便调试,会将~/.ssh、~/.aws、/etc等含密钥或系统配置的路径挂载进沙盒。此类挂载一旦被恶意Skill读取,将直接导致凭证泄露。
1、审查openclaw.json中mounts数组,逐条核查挂载源路径。
2、立即移除所有指向/root、/home/*/\.ssh、/home/*/\.aws、/etc的挂载项。
3、仅保留业务必需路径,例如/workspace/project-a,且必须附加:ro标识。
4、对剩余挂载项执行权限校验:ls -ld /workspace/project-a,确保属主为运行用户且无全局可写位(w in others)。










