乐于分享
好东西不私藏

OpenClaw安全加固(四):引入沙箱隔离

OpenClaw安全加固(四):引入沙箱隔离
上一篇《OpenClaw安全加固(三):启用敏感信息过滤》讲了如何防止你的OpenClaw泄露敏感信息,通过系统提示词设定了脱敏规则。从运维工程师的角度来看,这种方式并不可控:提示词可能会被绕过,大模型也有可能理解不准确。
最好的办法就是让聊天机器人彻底失去读取敏感信息文件的能力,引入沙箱隔离就是一种很好的实现方式。
1、安装Docker Desktop
OpenClaw的sandbox默认使用docker实现(也支持远程主机),macOS跟Windows一样,没有Linux内核,本质上都是在虚拟机里跑Linux容器。性能是差了点,但安全性其实是更强了。
我先问AI,我的系统最高支持Docker Desktop哪个版本:
直接通过飞书让OpenClaw帮我下载,装完之后再帮我配置好国内镜像加速:
2、配置沙箱隔离
之前讲过群聊里的飞书机器人,给他配置的工具权限profile为messaging,但有个问题:仍然有读文件的权限,可以读运行用户下所有能见的文件,很可能泄露敏感信息。
我既不想让它读取敏感文件、对系统操作破坏,又希望能够开放一点权限让它多做点事情,这就可以OpenClaw sandbox进行隔离。
为不同的机器人绑定不同的agent,每个agent有自己的workspace。support客服机器人所有的会话都固定在一个容器里。这样客服机器既有足够的权限,又不会泄露主机上的敏感信息。
{  "agents": {    "defaults": {      "workspace": "~/.openclaw/workspace",      "sandbox": { "mode": "non-main" } // 非远程操作不隔离    },    "list": [      {        "id": "main",        "default": true,        "workspace": "~/.openclaw/workspace"      },      {        "id": "support",        "workspace": "~/.openclaw/workspace-support",        "sandbox": {          "mode": "all",          "scope": "agent",          "workspaceAccess": "rw"  // 读写自己的 workspace        },        "tools": {          "allow": ["read", "write", "edit", "apply_patch", "exec"],          "deny": ["gateway", "cron", "browser", "nodes"]        }      }    ]  }}
3、什么时候使用沙箱隔离
    • 限制飞书、telegram等机器人的权限
    • 测试新的工作流,考察skill是否有风险