OpenClaw 还在裸奔?18 步加固清单,别等出事再补
你的 OpenClaw(国内开发者常称“龙虾”或“小龙虾”)实例,现在到底是什么状态?
不是问你装没装,是问你看过网关绑定地址没有,密钥强度查过没有,技能白名单设了没有。大多数自托管用户装完就用,默认配置跑到今天。
问题是,默认配置在 2026 年已经不够用了。
CNCERT 已经点名,不是我在吓你
国家互联网应急中心(CNCERT)公开警示过 OpenClaw(龙虾)存在默认配置脆弱、插件投毒、提示词注入、权限过高和漏洞利用等安全风险。不是学术讨论,是发过通告的那种。
截至 2026 年 4 月,已公开的高危问题:
| 编号 | 问题 | 影响范围 |
|---|---|---|
| CVE-2026-25253 | WebSocket 劫持,一步 RCE | < v2026.1.29 |
| CVE-2026-32922 | 权限提升,CVSS 9.9 | < v2026.3.11 |
| CVE-2026-34511 | Gemini 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。
在开始之前
先把这几件事确认了:
- 备份
~/.openclaw/openclaw.json、~/.openclaw/workspace/、~/.openclaw/credentials/。改出问题至少能回滚。 - 确认版本不低于 v2026.3.11,最好直接升到当前稳定版 v2026.4.9。
- 弄清楚你是原生安装、WSL2、还是 Docker。
- 确认你有改配置、重启 Gateway、调文件权限的权限。
- 先跑一次
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 任务最小权限
除非任务确实需要 exec 或 browser,否则不给。
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 不对因误配置、停机、数据丢失或密钥泄露产生的直接或间接损失负责。修改前先备份。
有问题在评论区聊。
更多推荐



所有评论(0)