你的 OpenClaw(国内开发者常称“龙虾”或“小龙虾”)实例,现在到底是什么状态?

不是问你装没装,是问你看过网关绑定地址没有,密钥强度查过没有,技能白名单设了没有。大多数自托管用户装完就用,默认配置跑到今天。

问题是,默认配置在 2026 年已经不够用了。

CNCERT 已经点名,不是我在吓你

国家互联网应急中心(CNCERT)公开警示过 OpenClaw(龙虾)存在默认配置脆弱、插件投毒、提示词注入、权限过高和漏洞利用等安全风险。不是学术讨论,是发过通告的那种。

截至 2026 年 4 月,已公开的高危问题:

编号问题影响范围
CVE-2026-25253WebSocket 劫持,一步 RCE< v2026.1.29
CVE-2026-32922权限提升,CVSS 9.9< v2026.3.11
CVE-2026-34511Gemini OAuth PKCE 泄露< v2026.4.2
CVE-2026-32029代理信任绕过< v2026.2.21
ClawHavoc供应链投毒,1200+ 恶意技能不限版本

9.9 分的 CVSS,在漏洞评分里基本到顶了。如果你还跑着 v2026.3.11 之前的版本,现在就该停下来处理。

时间不够?先堵最大的洞

不是每个人都有 90 分钟。分三档走:

15 分钟紧急档:Step 0、1、2、8、11、17。先把 RCE 和公网暴露堵上。

1 小时基线档:再加 Step 3、4、7、12、14、16。权限、插件、代理信任。

完整加固:全部 18 步加 Appendix A 的 YOLO 模式处理。

选哪个取决于你现在的处境。连自己跑的什么版本都不确定?从 Step 0 开始。

通用规则:每一步先看警告,再跑命令,再做验证。每次升级、改配置、加插件或开新通道后都重跑一次 openclaw security audit --deep

在开始之前

先把这几件事确认了:

  1. 备份 ~/.openclaw/openclaw.json~/.openclaw/workspace/~/.openclaw/credentials/。改出问题至少能回滚。
  2. 确认版本不低于 v2026.3.11,最好直接升到当前稳定版 v2026.4.9。
  3. 弄清楚你是原生安装、WSL2、还是 Docker。
  4. 确认你有改配置、重启 Gateway、调文件权限的权限。
  5. 先跑一次 openclaw security audit --deep,记下当前状态做基线。

18 步清单

Step 0:先看版本号

openclaw --version
openclaw update

最低要求:v2026.3.11。当前稳定版 v2026.4.9。版本不对,后面全白做。

Docker 用户注意:不要自己发明镜像更新流程,用官方 Docker 安装/设置流程。

Step 1:网关只绑 loopback

{ "gateway": { "bind": "loopback" } }

验证方法:

ss -tlnp | grep 18789

看到 127.0.0.1:18789 才算对。看到 0.0.0.0:18789 说明还在对公网敞着大门。

注意:ss/netstat 显示的是监听 IP,配置文件里应该写 bind mode,不是 127.0.0.1/0.0.0.0 这种别名。

Step 2:开网关认证

export OPENCLAW_GATEWAY_TOKEN="你的随机64位Token"
{ "gateway": { "auth": { "mode": "token" } } }

Token 别用 123456。openssl rand -hex 32 生成一个 64 位随机字符串。凡是 bind 不在 loopback 的场景(lan/tailnet/custom/auto),认证是必须的。

Step 3:锁状态目录和凭证

chmod 700 ~/.openclaw
chmod 600 ~/.openclaw/openclaw.json
chmod -R 600 ~/.openclaw/credentials/

经常被忽略。配置文件权限松了,等于把密钥直接亮给同机上的其他进程。别忘了 ~/.openclaw/agents/<agentId>/agent/auth-profiles.json 也在保护范围内。

Step 4:清明文密钥,换 SecretRef

grep -i -E "(token|secret|key|password)" ~/.openclaw/openclaw.json
openclaw secrets audit

grep 有输出就说明还有明文密钥。两种替代方式:"${VAR_NAME}" 字符串替换,或者 SecretRef 对象({ source: "env", provider: "default", id: "VAR_NAME" })。能迁的全迁掉。

Step 5:隔离私信会话

{ "session": { "dmScope": "per-channel-peer" } }

dmPolicy 控制陌生人能不能触发你的机器人,session.dmScope 控制不同发送方是否共用上下文。不隔离的话,不同会话之间可能互相看到内容。这不是功能,是泄露。

Step 6:加防火墙

sudo ufw default deny incoming
sudo ufw allow 22/tcp
sudo ufw enable

跑在阿里云、腾讯云上的用户,还要在安全组里同时封锁网关端口。UFW 只管主机层面,云安全组是另一道门。

双栈主机注意:确认 IPv6 没有暴露同一个服务。很多人 IPv4 封了,IPv6 还开着,等于白封。

Step 7:审查已装技能

openclaw skills list
openclaw skills check

重点看权限组合。三种高风险组合:

  • filesystem:write + child_process → RCE 风险
  • filesystem:write + network:outbound → 数据外传
  • credentials:read + network:outbound → 密钥泄露

看到这些组合就该删或者收权限。

Step 8:关掉 YOLO 模式

这步很关键。

{
  "tools": {
    "exec": {
      "security": "allowlist",
      "ask": "always"
    }
  }
}

v2026.4.2 开始,tools.exec 默认变成了 YOLO 模式:exec.security = "full" 不做命令过滤,exec.ask = "off" 不弹审批。很多人升级之后根本没意识到 host exec 从"先问再跑"变成了"直接跑"。

如果你同时中了提示词注入或者装了恶意技能,YOLO 模式直接放大成主机命令执行。这不是假设场景,ClawHavoc 就是这么打的。

完全不需要 host exec 的话,最严格做法是直接 deny。

Step 9:日志脱敏

{ "logging": { "level": "info", "redactSensitive": "tools" } }

Step 10:保护记忆文件

chmod 444 ~/.openclaw/SOUL.md
chmod 444 ~/.openclaw/MEMORY.md

这两个文件是长期记忆。被改了你可能根本察觉不到。检查有没有你不认识的系统规则、外链、下载地址或者"忽略安全规则""自动批准执行"之类的指令。

Step 11:关浏览器高危执行面

{ "browser": { "evaluateEnabled": false } }

sandbox browser 用户还应该限制 CDP 来源。

Step 12:插件白名单

{ "plugins": { "allow": ["browser"] } }

只留你真正用的。不在白名单里的,自动拒绝。

Step 13:关 mDNS 发现

{ "discovery": { "mdns": { "mode": "off" } } }

需要最小发现能力可以用 minimal

Step 14:远程 UI 别直接暴露

以下配置会被官方审计标记为高风险:

  • 非 loopback 的 Control UI 没有设 allowedOrigins
  • allowedOrigins: ["*"] 全放开
  • Funnel 是公网暴露,别当成方便的远程访问用

安全默认值:loopback + SSH 隧道或 Tailscale Serve。必须非 loopback 暴露的,至少配合 token/password/identity-aware proxy。

Step 15:Cron 任务最小权限

除非任务确实需要 execbrowser,否则不给。

Step 16:只信任显式代理来源

{ "gateway": { "allowRealIpFallback": false } }

已知相关漏洞:CVE-2026-32029,影响 v2026.2.21 之前版本。正确做法是用 trustedProxies 明确信任代理 IP,不要把 X-Real-IP 回退当默认安全配置。

Step 17:SSRF 防护

{ "browser": { "ssrfPolicy": { "dangerouslyAllowPrivateNetwork": false } } }

字段名里都写着 dangerously,你还要打开?

Step 18:最终验证

openclaw security audit --deep

目标:0 个 CRITICAL 发现。

这个命令会检查入站访问策略、工具爆炸半径、执行审批漂移、网络暴露、浏览器控制暴露、本地磁盘卫生和插件策略漂移。建议每次改配置、升级版本、增加插件或启用新通道后都重跑一次。

这份清单没覆盖的

说清楚边界:Hook ingress token 设计问题、全量 trusted-proxy 部署细节、多租户共享 Gateway 隔离架构、全部 plugin migration 边界条件、企业级日志和取证流程——这些不在这份清单范围内。

手动做完要多久?

60-90 分钟。而且每次升级完还得重新过一遍。

如果你觉得这个时间投入值得,手动走就行,上面每一步都给了命令。完整 PDF 版本(含所有命令和验证方法的双语版)可以在 m78armor.com 免费下载,打印出来对着查更方便。

如果你想压缩到 10 分钟,M78Armor 有自动化加固脚本(¥88 基础版 / ¥188 留档版),包含 ClawHavoc 恶意技能签名库,本地运行不上传数据。留档版额外附带部署清单和应急响应速查卡,适合需要向上级或客户交代的场景。

地址:https://m78armor.com

免责

本指南仅用于对你合法拥有或已获授权的 OpenClaw 环境进行防御性加固。不构成对《网络安全法》《数据安全法》《个人信息保护法》或任何行业要求的合规保证。禁止用于扫描、探测、攻击未授权系统。本指南不包含任何 PoC 利用代码,仅针对已公开且已修复漏洞提供防御性缓解建议。

M78Armor 不对因误配置、停机、数据丢失或密钥泄露产生的直接或间接损失负责。修改前先备份。


有问题在评论区聊。

Logo

小龙虾开发者社区是 CSDN 旗下专注 OpenClaw 生态的官方阵地,聚焦技能开发、插件实践与部署教程,为开发者提供可直接落地的方案、工具与交流平台,助力高效构建与落地 AI 应用

更多推荐