目录
文章目录
- 目录
- 沙箱安全
- 网络安全
- [Channel 安全](#Channel 安全)
- 操作系统安全
- 应用进程安全
- 应用数据安全
- 企业数据安全
- 身份认证安全
- [Token 成本安全](#Token 成本安全)
- [Skills 安全](#Skills 安全)
沙箱安全

开启权限管控,沙箱模式规避操作风险。建议开启沙箱模式,严格限制 OpenClaw 的操作范围,防止因指令误判导致的系统文件误删、危险操作执行,保障设备与系统的稳定运行。OpenClaw 的 Agent 自带沙箱环境,所有通用技能均在隔离环境中执行,从架构上规避了恶意操作的风险。
Docker 沙箱模式提供一个执行 Skills&Tools 的隔离环境,即使 AI "失控",影响范围也有限。同时,容器沙箱能够杜绝在宿主机上执行高风险的工具,例如:
- 允许:exec(运行命令)、read/write/edit(文件)
- 禁止:browser(浏览器控制)、canvas、nodes(设备控制)、cron(定时任务)
支持 3 种镜像构建脚本,推荐包含浏览器的镜像,让 OpenClaw 能够容器内使用浏览器。
bash
cd openclaw
scripts/sandbox-setup.sh # 基础镜像
scripts/sandbox-common-setup.sh # 含 Node, Go, Rust 等
scripts/sandbox-browser-setup.sh # 含 Chromium CDP 浏览器
查看构建成功后的镜像:
bash
$ docker images
IMAGE ID DISK USAGE CONTENT SIZE EXTRA
openclaw-sandbox-browser:bookworm-slim 613fc30c7055 1.05GB 0B
高安全系数沙箱配置:
bash
{
"agents": {
"defaults": {
"sandbox": {
"mode": "all",
"scope": "session",
"workspaceAccess": "none",
"docker": {
"image": "openclaw-sandbox-browser:bookworm-slim",
"workdir": "/workspace",
"readOnlyRoot": true,
"network": "bridge",
"memory": "2g",
"cpus": 2,
"pidsLimit": 256,
"user": "501:20",
"capDrop": ["ALL"]
}
},
值得注意,启用沙箱模式,并不一定所有的操作都在沙箱里执行,这取决于 "会话类型":
- 主会话(信任区):只和你进行的私密对话。推荐在主机上直接运行,拥有完全的访问权限。
- 非主会话(隔离区):公共场合的对话(群聊、频道),可能存在陌生人 @OpenClaw 的情况,所以需要沙箱保护,防止搞破坏。
mode(沙箱模式):
- "none":所有会话都直接在主机上运行。
- "non-main"(默认):主会话在主机,非主会话在沙箱。
- "all":所有会话都在沙箱里。
scope(隔离范围):
- "agent"(默认):每智能体一个容器。
- "session":更严格的每会话一个容器。
- "shared":单容器共享(安全性较低)。
workspaceAccess(智能体工作区访问):OpenClaw 默认的智能体工作区是 ~/.openclaw/workspace,配置文件 ~/.openclaw/openclaw.json 可以修改。
- "none"(默认):容器内不可访问智能体工作区。
- "ro":将智能体工作区只读挂载到容器内的 /agent
- "rw":将智能体工作区读写挂载到容器内 /workspace
容器安全加固:
- "workdir": "/workspace" --- 将智能体工作区 ~/.openclaw/workspace 挂载到容器 /workspace 内。
- readOnlyRoot: true --- 容器内只读根文件系统,所以无法在容器内安装系统包(比如 apt-get install 会失败)、无法修改 /usr, /bin, /etc 等系统目录、无法删改系统文件。绝对的安全,但也欠缺灵活性。
- "user": "501:20" --- 容器以非 root 用户运行,id -u 和 id -g 查看 macOS 用户的 UID 和 GID,否则容器内无法访问智能体工作区 ~/.openclaw/workspace。
- pidsLimit: 256 --- 进程数量限制。
- memory: "1g" / memorySwap: "2g" --- 内存限制
- "cpus": 2 --- CPU 限制
- network: "bridge" --- 使用桥接网络,如果没有网络需求可以配置为 none。
- "capDrop": ["ALL"] --- 移除所有的 Linux capabilities。
值得注意的是,沙箱容器是延迟启动的,例如有用户在群 @OpenClaw "帮我查一下天气",然后 OpenClaw 会检测到是非主会话,然后查看是否有该 agent 的容器,如果没有则自动创建并启动容器。
bash
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
90f17adc4928 openclaw-sandbox-browser:bookworm-slim "sleep infinity" 9 seconds ago Up 8 seconds 5900/tcp, 6080/tcp, 9222/tcp openclaw-sbx-agent-main-0d71ad7a
这个容器本质上只是提供了隔离的执行环境,里面没有实际的程序:
bash
$ docker exec -it -u root 90f17adc4928 bash
root@90f17adc4928:/workspace# ps -ef
UID PID PPID C STIME TTY TIME CMD
501 1 0 0 12:56 ? 00:00:00 sleep infinity
root 7 0 0 12:57 pts/0 00:00:00 bash
root 13 7 0 12:57 pts/0 00:00:00 ps -ef
让 OpenClaw 在容器里执行命令,例如创建一个测试文件:

bash
root@90f17adc4928:/workspace# pwd
/workspace
root@90f17adc4928:/workspace# ls
AGENTS.md HEARTBEAT.md IDENTITY.md SOUL.md TOOLS.md USER.md skills test01
上述为 Docker 沙箱给与了最高的安全性,但也牺牲了灵活性。可以按需调整,但 OpenClaw 目前支持的 Docker 配置有限,例如 volumes 就不支持。
如果希望在沙箱容器中能够灵活的安装各类软件包,可以考虑下列配置,但请时刻注意安全风险问题。
bash
{
"messages": {
"ackReactionScope": "group-mentions"
},
"agents": {
"defaults": {
"sandbox": {
"mode": "all",
"scope": "agent",
"workspaceAccess": "rw",
"docker": {
"image": "openclaw-sandbox-browser:bookworm-slim",
"workdir": "/workspace",
"readOnlyRoot": false, # 可以 apt-get 安全软件版
"network": "bridge",
"memory": "2g",
"cpus": 2,
"pidsLimit": 256,
"capDrop": [], # 不限制 Linux Caps
"binds": ["/Users/fanguiju/devworkspace:/devworkspace:rw"] # 挂载开发工作目录
}
},
网络安全
-
端口暴露最小化:OpenClaw 服务器最多只会用到 3 个端口:1)SSH 22;2)Gateway 默认的 18789 端口号;3)消息平台随机端口,比如 Telegram 用 443 端口。最小化的只开放上述端口,并上述端口号都应该被修改,降低暴露风险。尤其是 SSH 应该采用密钥认证和禁止 Root 登陆。
-
网络访问控制:限制外网可访问 OpenClaw 的 18987 端口,设置仅允许本地访问。
bash
$ vim ~/.openclaw/openclaw.json
{
"gateway": {
"bind": "loopback", # 默认 Socket 只绑定到本地 lo 接口
"port": 18987, # 修改为新的端口号
# 重启
$ openclaw gateway stop
$ openclaw gateway install
如果你希望自己设备的公网 IP 可以访问 Gateway,那么务必在 MacOS 上设置公网 IP 防火墙规则。
Channel 安全
添加 Channel 安全配置。
json
{
"channels": {
"whatsapp": {
"allowFrom": ["+8613800138000", "+8613800138001"],
"groups": {
"*": {
"requireMention": true
}
}
},
"discord": {
"allowFrom": ["work", "personal"]
}
},
"messages": {
"groupChat": {
"mentionPatterns": ["@openclaw", "@bot"]
}
}
}
操作系统安全
如果你让 OpenClaw 运行在主力机上,那你不得不时刻关心系统安全问题。
- 非 Root 降权:OS/Kernel 层面的安全,首要考虑对 OpenClaw 进程进行降权操作。以非 Root 用户运行,权限最小化,避免 OpenClaw 操作高风险的系统调用。
启用沙箱环境是在 "隔离" 的基础上也连带的进行了 "降权",例如:OpenClaw 在 docker.ts 中已经硬编码了 --security-opt no-new-privileges,此外还在 openclaw.conf 中添加了 readOnlyRoot True、user 1000:1000、capDrop ALL 等配置。所以启用沙箱环境非常重要。
- "人在回路" 授权:除了 "降权" 之外,还需要人类参与充分的 action 授权,以至于能够充分的掌握 OpenClaw 所做的一切。
应用进程安全
- 对于 OpenClaw 本身的安全考虑,首先就是要定时更新版本,跟踪并及时修复开源漏洞。查看 OpenClaw 的版本:
bash
$ openclaw --version
2026.2.9
- 加固 OpenClaw 配置文件,将 openclaw.json 设置为只读,避免配置文件中的安全策略被修改。
bash
$ chmod 400 /root/.openclaw/openclaw.json
应用数据安全
这里指的是 OpenClaw 应用本身的数据安全。OpenClaw 是一个持续 "进化" 的机器人,因为它具有 "Memory" 记忆系统,记录了所有关于你的事情。时间长了之后,它会越来越懂你。反之,如果外泄了,那么攻击者就得到了你的一份心理画像。
所以数据安全的核心就是保护 OpenClaw Memory 的安全,以避免被篡改和删除。具体的,我们只需要定时备份 OpenClaw 的主目录即可,里面包含了配置文件和聊天记录。
bash
$ ll ~/.openclaw
设置定时备份:
bash
$ crontab -e
0 0 * * * zip -r ~/openclaw_backup_$(date +%Y%m%d).zip ~/.openclaw
企业数据安全
数据安全优先,按需选择模型部署模式。
处理敏感数据时,优先使用 Ollama 等本地离线模型,避免将机密信息发送到云端;非敏感数据可选择 "云端大模型+本地执行" 模式,兼顾效率与成本,从源头做好数据分级管理。
身份认证安全
见上文 Token 章节。目前最新的版本已经引入了 token 身份鉴权,所以要及时进行 OpenClaw 的更新,目前社区在加紧安全防护的开发。
Token 成本安全
为了保护你的 Token,一定记得要设置 Token Quota,避免烧完。
OpenClaw Token 消耗的六大来源:

Skills 安全
现在 Clawhub 等 Skills 市场对安全审查并不严格,你很可能会从其中安装到一个进行 "Prompt 注入" 的 Skill。对此的解决办法是我们不要直接从市场上安装第三方 Skill,而是先下载安装包,然后先让 AI 审查源码、理解逻辑,然后重写一个干净的版本。在 AI 编程的今天这个过程通常只要几分钟,但可以极大降低供应链攻击的风险。