正文内容
工信部NVDB预警刚发完,GitHub Advisory Database又爆出数十个漏洞。有人问我:“这龙虾还能养吗?”我说能,但得穿上防弹衣再出门。
老张昨晚又发消息来了,这次不是吐槽,是截图。
截图里是GitHub Advisory Database的页面,密密麻麻列着OpenClaw的漏洞,光高危就5个,CVSS评分最高8.8。他问:“我这刚部署好的小龙虾,是不是该扔了?”
我说你慌啥,这些漏洞就像你家门锁有隐患,但你要做的是换把好锁,不是把房子点了。
今天就给你把这身“龙虾盔甲”从头到脚穿明白。

为啥非得穿盔甲?先看几个血淋淋的案例
案例一:某用户部署的OpenClaw暴露在公网,没改默认端口,没设IP白名单。攻击者扫到后,利用CVE-2026-25253漏洞直接远程执行代码,把服务器当肉鸡挖矿去了。
案例二:有人从网盘下了个“功能增强包”,结果是个恶意Skill。装上后API Key被偷,一天被刷掉800多美元。
案例三:更惨的一位,给OpenClaw开了管理员权限,让它“清理无用文件”。结果它把 /etc 目录当“无用文件”给清了,系统直接崩溃。
这些不是吓唬你,是真事。
防护策略一:最小权限原则——别让它想干啥就干啥
OpenClaw默认追求功能最大化,啥权限都想要。但安全的原则正好相反:只给完成任务必需的最小权限。
具体怎么做?
如果你在Linux上部署,千万不要用root用户跑OpenClaw。专门创建一个普通用户,比如叫 clawuser,然后限定它只能访问特定目录。
在配置文件里启用 allowlist(目录白名单),只允许它读写你指定的文件夹。比如:
"filesystem": {
"allowlist": ["/home/clawuser/workspace", "/tmp/claw-temp"],
"denylist": ["/etc", "/root", "/home/*/.ssh"]
}
国家应急中心(CNCERT)的官方提示里特别强调:对运行环境进行严格隔离,使用容器等技术限制OpenClaw权限过高问题。
想了解怎么配置allowlist,可以翻翻 OpenClaw安全 专题里的详细教程。
防护策略二:端口修改+IP白名单——把门藏起来
OpenClaw默认用18789端口做管理界面,这个端口就像你家大门,门牌号全网都知道。
第一层防护:改端口号
把18789改成别的随机端口,比如34567。这样攻击者扫默认端口就扫不到你了。
第二层防护:IP白名单
更关键的是设白名单。阿里云的安全组配置里,可以把18789端口的入方向来源设为只允许你的IP访问,而不是 0.0.0.0/0。
华为云的官方文档也明确要求:配置IP地址白名单,以免暴露端口到公网。
如果你确实需要公网访问,别直接暴露18789。用SSH隧道转发,或者配个Nginx加HTTPS和密码认证。OVHcloud的教程里专门讲了怎么用SSH隧道安全访问:
# 在本地电脑执行,把远程端口映射到本地 ssh -L 18789:127.0.0.1:18789 user@你的服务器IP
然后在本地浏览器打开 http://127.0.0.1:18789,这样外部根本扫不到你的服务。
防护策略三:容器化隔离——套个透明罩子
Docker部署不只是为了省事,更是为了安全。
用Docker跑OpenClaw,相当于给它套了个透明罩子——它在里面怎么折腾,都不会直接影响宿主机。
关键配置:
services:
openclaw:
image: ghcr.io/openclaw/openclaw:latest
container_name: openclaw-gateway
restart: always
ports:
- "127.0.0.1:18789:18789" # 只监听本地
volumes:
- ~/openclaw/data:/home/node/.openclaw
environment:
- NODE_ENV=production
注意上面 ports 那行写的是 127.0.0.1:18789:18789,这意味着端口只暴露在本地,外部网络根本访问不到。
高级玩法还可以加 --cap-drop=ALL 和 --read-only 参数,彻底限制容器权限。
关于容器部署的详细步骤,可以参考 OpenClaw防护策略 里的实战教程。
防护策略四:系统防火墙规则——第二道铁门
云安全组是第一道防线,系统防火墙是第二道。就算云平台配置失误,系统防火墙还能顶住。
ufw(简单版):
# 启用防火墙 ufw enable # 只允许官方白名单IP访问18789 ufw allow from 121.40.82.220 to any port 18789 proto tcp ufw allow from 47.97.73.42 to any port 18789 proto tcp # 允许SSH(但只限你的IP) ufw allow from 你的IP to any port 22 proto tcp # 默认拒绝其他所有 ufw default deny incoming
iptables(硬核版):
# 清除现有规则 iptables -F # 默认策略:拒绝所有入站 iptables -P INPUT DROP # 允许已建立的连接 iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT # 允许官方IP访问18789 iptables -A INPUT -p tcp -s 121.40.82.220 --dport 18789 -j ACCEPT iptables -A INPUT -p tcp -s 47.97.73.42 --dport 18789 -j ACCEPT # 允许你的SSH iptables -A INPUT -p tcp -s 你的IP --dport 22 -j ACCEPT # 保存规则 iptables-save > /etc/iptables/rules.v4
阿里云开发者社区的工程师强调,双层防护能避免单一层级配置失误导致风险。
防护策略五:Skill来源管控——别乱装插件
ClawHub上有几千个技能插件,但奇安信的报告中指出,约4.5%的Skill存在恶意行为或严重漏洞。
国家应急中心也专门提了:严格管理插件来源,禁用自动更新功能,仅从可信渠道安装经过签名验证的扩展程序。
三条铁律:
- 安装前先查评分:只装安全评分≥90、下载量大、更新频繁的Skill
- 用skill-vetting扫描:装之前先用官方的安全扫描工具检查
- 拒绝网盘/群聊分享的插件:非官方渠道的Skill,再诱人也别装
防护策略六:密钥脱敏与审计——别把密码写脸上
GitHub Advisory Database披露的多个漏洞都涉及同一个问题:认证信息明文暴露。
别这么做:
- 在代码里硬编码API Key
- 在环境变量明文存密钥
- 在URL里带Token
正确姿势:
- API Key单独存成
secrets.json,权限设为600 - 使用密钥管理服务(如阿里云KMS)
- 启用操作日志审计,定期检查谁调用了你的Key
国家应急中心的提示特别强调:加强凭证管理,避免在环境变量中明文存储密钥;建立完整的操作日志审计机制。
DefectDojo的工程师还建议:为OpenClaw单独申请API Key,并在Provider后台设置硬性消费限额(比如每月50美元)。这样就算Key被盗,损失也有限。
写在最后:安全是养出来的,不是买来的
老张后来按这六条把自己的小龙虾全副武装了一遍,昨晚又发消息来了:“改完了,现在感觉不是虾了,是坦克。”
我说这就对了。
OpenClaw确实是个好东西,GitHub星标28万不是白给的。但它就像刚拿驾照的新手司机,你不能直接把它扔高速上。得给它系上安全带,装上防撞梁,再配个行车记录仪。
奇安信那篇指南的标题说得特别好:“在效率与安全之间寻找平衡”。
别被漏洞吓退,也别不当回事。花半小时把这六条做完,你的小龙虾就能放心干活了。
想安全地养你的小龙虾?
- 📚 OpenClaw安全 专题持续更新最新漏洞和修复方案
- 🔧 想知道怎么配置skill-vetting扫描恶意插件?OpenClaw防护策略 里有详细步骤
- 🏠 收藏 AI一族官网,每周都有新发现