如果你最近也泡在AI Agent相关的工具链里,应该会发现一个名字出现得越来越频繁:OpenClaw。中文社区里很多人直接叫它“龙虾”,这个昵称其实很传神——它不只是一个普通的问答式AI,而是一个真正带着“钳子”的智能体,能伸进你的文件系统、命令行、模型服务、IM工具里替你干活。
但问题恰恰出在这对“钳子”上。我最近因为项目需要,陆续检查了几台部署了OpenClaw的云主机和个人电脑,也把网上流传的配置文件、安装日志、部署教程翻了一遍。整体看下来,OpenClaw确实能帮你省掉大量重复劳动,但大多数部署的安全基线是缺失的。很多人的“龙虾”不是被锁在笼子里,而是处于一个谁都能伸钳子、甚至能主动夹人的状态。
这篇文章不是来劝退谁的,OpenClaw本身也不是什么恶意项目。但我更想提醒的是:当一个工具拥有执行命令、读文件、回消息、长期记忆的能力时,它的威胁模型完全不同于聊天机器人。正在本地部署、准备接入微信或群聊、想用第三方一键脚本省事的朋友,建议先把下面的风险点和对策看完再动手。
1. 拆解“龙虾”的底层身份:为什么它的攻击面天然就大
1.1 OpenClaw不只是一个聊天框
OpenClaw这类智能体的核心逻辑,是把大语言模型从“生成文本”延伸到“解释并执行”。这听起来只是把能力放大了一点点,实际上是把整个安全模型都改变了。
它的常见结构大概包含这几层:
- 模型接入层:支持接入不同的模型服务,包括本地推理接口(比如NVIDIA NIM)或各种云端API;
- 执行层:可以调用系统Shell、PowerShell脚本,读写文件,执行命令;
- 记忆层:保存历史对话、跨会话的长期记忆,以及运行时元数据(runtime metadata),让智能体像人一样“记得”之前的工作;
- 技能层(skill):通过外部的插件或技能代码扩展能力,比如接微信、操作Obsidian、做项目管理;
- 权限审批层:通过类似
exec-approvals.json这样的文件记录哪些命令需要人工确认、哪些命令可以直接放行。
普通聊天AI即使出现幻觉,最多是输出一段错误文字。但如果OpenClaw出现上下文理解偏差,或者被第三方内容带了节奏,它就可能真的去执行一条删除命令、读取一批敏感文件甚至调用外部接口发数据。你会发现,原本在聊天机器人里只是一个“提示词质量问题”,在这里被放大成了一个“系统安全问题”。
我见过太多用户只在教程里关注如何让OpenClaw干更多活,却从没想过:它具备的能力边界是否被严格约束?它的执行权限是否超出了必要范围?当你问出这两个问题时,安全讨论才算真正开始。
1.2 安全边界决定智能体的能力边界
OpenClaw这类工具之所以好用,是因为它被赋予了“自由”。但自由必须跟信任边界一起设计。
举个例子:用户为了省事,直接让OpenClaw运行在root或Windows管理员账号下,那么智能体一旦被诱导执行恶意指令,拿到的就是你整台电脑的最高权限。它不仅能读项目代码,还能读你的浏览器Cookie、SSH私钥、云服务密钥。这就像你把公司大门钥匙交给了实习生,还让实习生同时拥有财务章,实习生当然能帮你干活,但万一他被人骗了,损失就是全公司级别的。
我在一些公开部署案例里还看到一个更隐蔽的问题:配置、密钥、历史审批文件和工作区默认都放在同一个顶层目录,比如Linux下的/root/.openclaw/,Windows下的C:\Users\Administrator\.openclaw\。这个目录里既有workspace(智能体可以在里面自由读写),又有API密钥和审批策略。一旦工作区某个文件被恶意脚本污染,智能体就可能通过读取配置,获取比它应该拥有的更多权限。
所以,判断一个智能体工具安不安全,先别看它能做什么,要看它运行在什么权限下、能读到哪些秘密、能执行哪些命令。这三个问题直接决定了工具失控时的爆炸半径。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 从配置目录看风险:四个容易让“龙虾”失控的设置
2.1 exec-approvals.json与审批规则的“滚雪球效应”
OpenClaw为了在方便与安全之间取平衡,设计了一套命令审批机制。简单说,不是所有命令都会被直接执行。当智能体要做一些高风险动作(比如调用Shell、删除文件、下载执行脚本)时,它会先跟用户确认;而用户确认过的命令,会以某种模式被记录到审批文件里。
问题的关键,就在这个记录里。
我检查过一台OpenClaw实例
