OpenClaw 的安全方案

目录

文章目录

沙箱安全

开启权限管控,沙箱模式规避操作风险。建议开启沙箱模式,严格限制 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"]
        }
      },

值得注意,启用沙箱模式,并不一定所有的操作都在沙箱里执行,这取决于 "会话类型":

  1. 主会话(信任区):只和你进行的私密对话。推荐在主机上直接运行,拥有完全的访问权限。
  2. 非主会话(隔离区):公共场合的对话(群聊、频道),可能存在陌生人 @OpenClaw 的情况,所以需要沙箱保护,防止搞破坏。

mode(沙箱模式)

  • "none":所有会话都直接在主机上运行。
  • "non-main"(默认):主会话在主机,非主会话在沙箱。
  • "all":所有会话都在沙箱里。

scope(隔离范围)

  • "agent"(默认):每智能体一个容器。
  • "session":更严格的每会话一个容器。
  • "shared":单容器共享(安全性较低)。

workspaceAccess(智能体工作区访问):OpenClaw 默认的智能体工作区是 ~/.openclaw/workspace,配置文件 ~/.openclaw/openclaw.json 可以修改。

  • "none"(默认):容器内不可访问智能体工作区。
  • "ro":将智能体工作区只读挂载到容器内的 /agent
  • "rw":将智能体工作区读写挂载到容器内 /workspace

容器安全加固

  1. "workdir": "/workspace" --- 将智能体工作区 ~/.openclaw/workspace 挂载到容器 /workspace 内。
  2. readOnlyRoot: true --- 容器内只读根文件系统,所以无法在容器内安装系统包(比如 apt-get install 会失败)、无法修改 /usr, /bin, /etc 等系统目录、无法删改系统文件。绝对的安全,但也欠缺灵活性。
  3. "user": "501:20" --- 容器以非 root 用户运行,id -u 和 id -g 查看 macOS 用户的 UID 和 GID,否则容器内无法访问智能体工作区 ~/.openclaw/workspace。
  4. pidsLimit: 256 --- 进程数量限制。
  5. memory: "1g" / memorySwap: "2g" --- 内存限制
  6. "cpus": 2 --- CPU 限制
  7. network: "bridge" --- 使用桥接网络,如果没有网络需求可以配置为 none。
  8. "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"] # 挂载开发工作目录
        }
      },

网络安全

  1. 端口暴露最小化:OpenClaw 服务器最多只会用到 3 个端口:1)SSH 22;2)Gateway 默认的 18789 端口号;3)消息平台随机端口,比如 Telegram 用 443 端口。最小化的只开放上述端口,并上述端口号都应该被修改,降低暴露风险。尤其是 SSH 应该采用密钥认证和禁止 Root 登陆。

  2. 网络访问控制:限制外网可访问 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 运行在主力机上,那你不得不时刻关心系统安全问题。

  1. 非 Root 降权:OS/Kernel 层面的安全,首要考虑对 OpenClaw 进程进行降权操作。以非 Root 用户运行,权限最小化,避免 OpenClaw 操作高风险的系统调用。

启用沙箱环境是在 "隔离" 的基础上也连带的进行了 "降权",例如:OpenClaw 在 docker.ts 中已经硬编码了 --security-opt no-new-privileges,此外还在 openclaw.conf 中添加了 readOnlyRoot True、user 1000:1000、capDrop ALL 等配置。所以启用沙箱环境非常重要。

  1. "人在回路" 授权:除了 "降权" 之外,还需要人类参与充分的 action 授权,以至于能够充分的掌握 OpenClaw 所做的一切。

应用进程安全

  1. 对于 OpenClaw 本身的安全考虑,首先就是要定时更新版本,跟踪并及时修复开源漏洞。查看 OpenClaw 的版本:
bash 复制代码
$ openclaw --version
2026.2.9
  1. 加固 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 编程的今天这个过程通常只要几分钟,但可以极大降低供应链攻击的风险。

相关推荐
七夜zippoe2 小时前
AI Agent 框架选型指南:OpenClaw、LangChain、AutoGPT、CrewAI 深度对比
人工智能·langchain·autogpt·crewai·openclaw
老刘说AI2 小时前
浅聊Prompt、向量知识库、RAG
人工智能·prompt
J987T2 小时前
数字图像处理/医学成像原理/医学图像处理题目
图像处理·人工智能
向哆哆2 小时前
交通标识与信号灯数据集(1000张图片已划分、已标注)AI训练适用于目标检测任务
人工智能·目标检测·计算机视觉
Yeats_Liao2 小时前
OpenClaw(二):配置教程
大数据·网络·人工智能·深度学习·机器学习
忧郁的橙子.2 小时前
03-Hugging Face 模型微调训练(基于 BERT 的中文评价情感分析)
人工智能·深度学习·bert
ZPC82102 小时前
PPO 在ROS2 中训练与推理
人工智能·算法·机器人
薛定猫AI2 小时前
【技术干货】从 Alpha Evolve 到 Open Viking:前沿 AI 技术在开发实战中的落地路径
人工智能
智能工业品检测-奇妙智能2 小时前
金属矿山安全智能AI视觉识别
服务器·人工智能·安全·openclaw·奇妙智能