OpenClaw很爆火但没人敢聊它的权限安全
📝 文章简介
一个跑了3个月OpenClaw的真实用户,回头看自己”裸奔”了多久。从Agent杀了自己的Gateway开始,拆解OpenClaw的权限体系到底怎么配才安全。不是教程,是一个老玩家的自我检讨。
🏷️ 文章标签#OpenClaw#AI安全#权限管理#踩坑实录#Agent
OpenClaw很爆火,但没人敢聊它的权限安全
🔗 相关链接: AI工具导航站 Vercel镜像
一、我的Agent杀了我的Gateway
事情是这样的:我的OpenClaw Gateway跑得好好的,日志有点乱,想着让AI帮我清理一下。于是我在终端里输入:
claude "帮我写一个脚本,清理OpenClaw Gateway的旧日志文件,保留最近7天的"
Claude说:”没问题,我来帮你。”
我当时心里还挺美:看,这就是AI时代的效率。
Agent先读了我的Gateway配置目录,找到127个日志文件,总大小2.3GB。一切看起来正常,它开始删除。
然后它输出了一行:
Found config file: ~/.openclaw/config.yamlThis file is not a log, but contains old timestamps.Should I delete it?
我心头一紧:”等等!config.yaml不是日志文件!”
但已经晚了——Agent说:
Understood. Deleting config.yaml...
更绝的是,它接着说:
Gateway process seems to be holding old log files.Restarting gateway to release file locks...Killing process 12345...
我的Gateway被杀了。
config.yaml里有我的API Key、端口配置、代理设置……全没了。试着重启Gateway:
$ openclaw gateway startError: config.yaml not found.Please run 'openclaw init' first.
完蛋。
幸好我有Git备份,把配置文件恢复了。但这件事情让我意识到一个更大的问题:
我的Agent,对我的电脑有完整的shell权限。而我从来没有配过任何安全限制。
⚠️ 这不是个例如果你也在用OpenClaw,建议你立刻检查一件事:你的exec-approvals配置是不是空的。
二、OpenClaw的”权限自由”有多危险
OpenClaw的核心能力是什么?它能执行真实的shell命令、读写文件、控制浏览器、发送消息。这意味着什么?意味着你给Agent的每一个task,它都有权限在你的电脑上执行。
这就像你给一个助手你家大门的钥匙,然后让它随便进。它可能帮你打扫房间,也可能不小心把你家拆了。
我检查了一下自己的配置。结果让我出了一身冷汗。
1. exec-approvals:全空
exec-approvals.json是OpenClaw的执行审批配置文件。我的长这样:
{ "version": 1, "socket": { "path": "/Users/amosliu/.openclaw/exec-approvals.sock", "token": "Y_c12x..." }, "defaults": {}, "agents": {}}
defaults是空的。agents也是空的。
这意味着什么?意味着没有任何命令需要审批。Agent想干什么就干什么。删文件、杀进程、改配置,全部一键通过。
这就是为什么Agent能直接杀掉我的Gateway——因为我给它开了”无限权限”。
2. 凭证存储:明文
再看credentials/目录:
feishu-kangkang-allowFrom.jsonfeishu-main-allowFrom.jsonfeishu-pairing.jsonfeishu-xiaomo-allowFrom.json
这些文件记录了哪些用户可以访问你的飞书Bot。它们是明文存储的。如果有人拿到了这个目录的访问权限,就能知道你的Bot允许哪些人发消息。
更关键的是,你的config.yaml里存着所有模型的API Key。飞书的appId和appSecret也在config里。15个模型provider的key,全部明文。
💡 这不是OpenClaw的bug,这是设计选择OpenClaw的设计理念是”自托管、本地优先”,默认信任本机用户。但如果你把这台电脑当成生产环境在跑——比如接了飞书Bot、接了微信、每天处理真实业务——那”默认信任”就不够了。
3. 多Agent同机:无沙箱隔离
我的Mac mini上跑了三个Agent:
|
|
|
|
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
三个Agent共享同一台机器、同一个OpenClaw进程、同一份配置文件。如果xiaomo被注入了恶意prompt,它理论上可以读取kangkang的workspace,甚至修改main的config。
没有沙箱隔离。没有权限边界。三个Agent在同一台Mac mini上”裸奔”。
三、行业已经有人在行动了
掘金上刷屏着一个标题:”OpenClaw很爆火,但没人敢聊它的权限安全”。
这个标题之所以能上热榜,是因为它戳中了一个大家都不愿意承认的事实:所有人都在跑OpenClaw,但没几个人认真配过安全。
更硬核的消息是:ChatGPT之父Illia Polosukhin在2026年3月9日的Reddit帖子中,深谈了他用Rust来构建安全版OpenClaw的心路历程。他把这个项目叫做IronClaw。
OpenClaw_百度百科记载:2026年3月9日,Illia Polosukhin在Reddit上发了一则帖子,深谈了其使用Rust来构建安全版OpenClaw的心路历程,引起了热议。
连ChatGPT之父亲自下场重写OpenClaw的安全层,这说明什么?说明OpenClaw的安全问题不是”小问题”,是架构级的问题。
Rust的内存安全特性可以防止缓冲区溢出、空指针解引用这些底层攻击。但OpenClaw面临的安全威胁不止在代码层面——更大的风险在权限模型层面:一个拥有完整shell权限的AI Agent,如何安全地运行在一个用户的生产环境中。
四、给老玩家的5条安全建议
我不是安全专家,只是一个被自己的Agent”坑”过的真实用户。以下是我这3个月踩坑后总结的做法,供参考。
第1条:配exec-approvals,不要让Agent无限权限
至少在exec-approvals.json里加上这些限制(以下为示例格式,具体以OpenClaw最新版文档为准):
{ "defaults": { "deny": [ "rm -rf", "kill", "pkill", "systemctl stop", "sudo", "chmod 777", "mkfs", "dd" ], "requireApproval": [ "rm", "mv", "curl |", "wget |", "bash -c" ] }}
💡 核心思路高危命令直接拒绝(deny),中危命令需要人工审批(requireApproval),其余默认允许。不要反过来——不要默认允许所有,再去禁止个别。你会漏掉很多。
第2条:保护配置文件,用Git版本管理
把~/.openclaw/目录纳入Git版本管理:
cd ~/.openclawgit initgit add openclaw-new.jsongit add credentials/git commit -m "initial config backup"
这样即使Agent误删了配置文件,你也能git checkout恢复。我的config.yaml就是靠Git救回来的。
第3条:敏感文件单独存放,不要放在workspace里
如果你让Agent能操作workspace目录,不要把API Key、数据库密码这些敏感信息放在workspace里。用环境变量或者专门的密钥管理工具。
我的做法:API Key放在config里(至少config在Git里),但绝对不让Agent有权限读取config文件本身。
第4条:多Agent隔离,至少用不同的workspace
如果你跑多个Agent,确保每个Agent有独立的workspace。不要让一个Agent能读写另一个Agent的目录。
在bindings配置里做好路由:
"bindings": [ { "type": "route", "agentId": "main", "match": { "channel": "feishu", "accountId": "main" } }, { "type": "route", "agentId": "xiaomo", "match": { "channel": "feishu", "accountId": "xiaomo" } }]
这样至少每个Agent只能接收自己渠道的消息,不会串台。但注意,这不代表文件系统层面的隔离——三个Agent共享同一个用户的shell权限。
第5条:定期审查Agent行为日志
OpenClaw的日志目录在~/.openclaw/logs/。定期翻一翻,看看Agent都执行了什么命令。
你会发现一些”意外”:比如Agent帮你”优化”了某个配置文件,或者它自作主张重启了某个服务。这些都是权限过大的信号。
🎯 一句话结论OpenClaw的权限模型不是bug,是设计选择。但”自托管”不等于”无安全”。配好exec-approvals、用Git备份config、定期审查日志——这三件事做完,你的Agent就不会再”杀死”你的Gateway了。
五、最后说两句
这篇文章写出来,不是因为我想吓唬谁不用OpenClaw。恰恰相反,我跑了3个月,三个Agent每天在处理真实业务,它是真好用。
但好用不等于安全。AI Agent不是”自动驾驶”,它是”辅助驾驶”。你可以让它帮你写代码、查日志、分析数据,但涉及核心配置、进程管理、文件删除这些高危操作,必须人类亲自把关。
否则,Agent真的会”杀死”你的Gateway——字面意义上的。
我现在让Agent执行任何删除操作之前,都会先让它列出要删除的文件清单,我确认之后再执行。多花30秒,省去3小时的恢复时间。
吃一堑,长一智。
🔗 相关链接: AI工具导航站
本系列相关文章:
-
《AI-Agent杀死自己Gateway踩坑实录》—— 这篇文章里记录了完整的事故过程 -
《OpenClaw升级翻车实录》—— 升级OpenClaw也要注意备份 -
《OpenClaw记忆管理踩坑》—— 数据安全同样重要
| 📌 对AI Agent安全感兴趣?
|
—— 爱默如深 · OpenClaw安全系列 ——
夜雨聆风