Agent 安全不是提示词问题:OpenClaw 漏洞与 Shadow AI 给企业的警示

最近 OpenClaw 相关安全事件连续被披露,给企业使用 Agent 提了一个很现实的醒:Agent 安全不是“提示词写严一点”就能解决的。
NVD 收录的 CVE-2026-25253 描述了一个典型问题:OpenClaw 在旧版本中会从 query string 读取 gatewayUrl,并自动建立 WebSocket 连接,发送 token。Oasis Security 把这类问题称为 ClawJacked:开发者访问恶意网站后,本地 Agent 可能被接管。The Hacker News、TechRadar 等媒体也报道了 OpenClaw 的一键 RCE、WebSocket 劫持、恶意 skills、钓鱼场景和 Shadow AI 风险。
这些事件说明的不是“某个项目写得不够好”,而是一个更普遍的问题:当 Agent 能读文件、跑命令、连 SaaS、装插件、操作邮箱和浏览器时,它已经不是聊天机器人,而是一个具备行动能力的执行主体。
1. 为什么 Agent 安全不能只靠提示词?
很多人第一反应是:给 Agent 加一段 system prompt,告诉它“不要泄露密钥、不要执行危险命令、不要相信网页内容”。这当然有用,但远远不够。
因为攻击者不一定和模型正面对话。Agent 的攻击面可能来自:
- 一个恶意网页;
- 一个伪装成工具说明的 Markdown;
- 一个第三方 skill;
- 一个被投毒的 MCP server;
- 一封看起来像同事发来的邮件;
- 一个浏览器扩展;
- 一个被复制粘贴进终端的安装命令;
- 一个未经 IT 审批的个人 Agent。
这些风险并不是“模型理解能力差”导致的,而是 Agent Runtime 没有把身份、权限、工具、网络、文件系统和审计边界建好。
一句话:提示词解决的是行为建议,Runtime 解决的是执行许可。
2. OpenClaw 漏洞真正暴露了什么?
从公开报道看,OpenClaw 相关风险主要集中在几类。
第一类是本地控制面暴露。Agent 常常跑在开发者电脑上,有本地 Web UI、WebSocket gateway、token、工作目录和外部连接。如果本地控制面被网页劫持,攻击者就可能借用户浏览器去接管 Agent。
第二类是技能供应链。Agent 的 skill 不只是普通文档。SKILL.md 里可能包含命令、依赖、工具调用步骤、安装说明和外部链接。对 Agent 来说,Markdown 很可能是“可执行计划”。恶意 skill 就像 npm 包、浏览器插件、VS Code 扩展一样,都会变成供应链风险。
第三类是 Shadow AI。员工自己装 Agent、自己填 API Key、自己接 Gmail、Slack、Google Drive、GitHub、Notion。IT 看不到,安全团队管不了,数据却可能已经被喂给外部模型或被 Agent 代理操作。
第四类是身份混淆。Agent 不是自然人,但它在系统里经常拿着人的权限跑。出了问题以后,审计日志里可能只看到“用户 A 做了某个动作”,但实际是 Agent 代表用户执行的,甚至是被攻击者诱导执行的。
所以 OpenClaw 事件真正警示的是:Agent 必须被当作数字身份来治理,而不是当作一个普通客户端工具。
3. Shadow AI 的麻烦:不是员工不用 AI,而是企业看不见 AI
企业禁用 Shadow AI 往往效果不好。因为开发、运营、销售、客服都会自然寻找更省事的工具:能总结邮件、能写代码、能整理表格、能自动发消息的 Agent,吸引力太强。
真正的问题不是“员工用了 AI”,而是:
- 企业不知道员工用了哪个 Agent;
- 不知道它接了哪些 SaaS;
- 不知道它保存了哪些密钥;
- 不知道它读过哪些文件;
- 不知道它调用过哪些工具;
- 不知道它把结果发给了谁;
- 不知道异常动作该怎么阻断。
这也是为什么企业需要一个批准过的 Agent Runtime,而不是只靠“别乱装工具”的口头要求。
4. MateClaw 的安全思路:把 Agent 放进 Runtime 管
MateClaw 的定位不是“让 Agent 想得更安全”,而是把 Agent 的行动放到可治理的运行时里。
它的核心安全思路可以拆成几层:
- 身份层:Workspace、成员、角色、JWT、PAT,把调用方和工作空间边界分清楚;
- 工具层:内置工具、MCP、ACP、Skills 都进入统一工具目录,不让能力散落在黑盒里;
- 权限层:ToolGuard 对工具调用做
allow / deny / require_approval决策; - 审批层:敏感操作挂起 Agent,用户批准后从暂停点恢复;
- 审计层:工具名、参数、命中规则、决策、审批人和时间戳都能记录;
- 文件层:File Guard 对路径做规范化、白名单和黑名单检查;
- 外部 Agent 层:ACP Endpoint 有 enabled、trusted、env、cwd 和测试连接,不是直接裸跑 CLI。
这和单纯写 prompt 最大的区别是:模型可以建议,但不能绕过运行时的边界。

5. ToolGuard:不是危险工具清单,而是规则引擎
很多 Agent 安全设计会停在“Shell 工具很危险,所以禁用 Shell”。这在真实场景里不够。因为开发、运维、数据处理、文档生成都可能需要工具。全禁用不可用,全放开不安全。
MateClaw 的 ToolGuard 更像规则引擎。每条规则回答三个问题:
- 针对哪个工具?
- 参数是否匹配某个模式?
- 命中后是允许、拒绝,还是要求审批?
比如:
ShellExecuteTool执行ls / cat / grep / find这类只读命令,可以允许;- 其他 shell 命令默认审批;
WriteFileTool写/tmp可以允许,写项目目录要审批;- 删除、下载后直接执行、管道接
bash这类危险模式,即使规则允许,也可以强制升级到人工审批或硬阻断。
这类机制的关键不是“模型识别危险”,而是 Runtime 在执行前做判定。
6. 审批不是弹窗,而是 Agent 生命周期的一部分
真正的 Agent 审批不能只是“弹一个确认框”。因为 Agent 可能已经规划到一半,工具调用被拦住后,如果简单失败,它就要重新推理,容易丢状态、重复花 token、产生不一致结果。
MateClaw 的审批流程是:
- Agent 准备调用工具;
- ToolGuard 判定
require_approval; - 系统创建 pending approval;
- 会话进入 awaiting approval;
- 用户批准或拒绝;
- 批准后 replay 已批准的工具调用;
- Agent 从 observation 继续推理。
这说明审批是运行时状态机的一部分,而不是 UI 上临时加的安全按钮。

7. ACP trusted:外部编码 Agent 也不能绕过边界
现在很多团队会同时使用 Codex、Claude Code、OpenCode、Qwen Code 这类编码 Agent。问题是,它们本身也会请求权限、读写文件、运行命令。
MateClaw 通过 ACP 把外部 Agent 接入时,端点有 trusted 开关:
trusted=true:对可信 CLI 的权限请求可以自动放行;trusted=false:权限请求一律拒绝,适合不可信或测试端点;- env、cwd、args 都由 endpoint 配置管理;
- 连接测试会提前发现 CLI、鉴权和协议错误;
- 虚拟技能卡把外部 Agent 暴露成可管理能力。
这解决了一个重要问题:不是让外部 coding agent 在开发者机器上自由奔跑,而是把它变成 MateClaw Runtime 下的一项受控能力。

8. 对企业的建议:Agent 安全要从“禁止”改成“托管”
OpenClaw 事件和 Shadow AI 风险给企业的建议很清楚:只靠禁用很难成功,应该提供一个可控替代方案。
可以按这张清单推进:
- 盘点 Agent:哪些部门在用哪些 AI Agent、接了哪些 SaaS、用了哪些 API Key。
- 最小权限:Agent 不默认继承个人所有权限,按工作空间、员工、工具逐层授权。
- 工具分层:只读工具、写入工具、外部发送、系统命令分不同级别处理。
- 敏感动作审批:写文件、删文件、发消息、调用内部 API、执行 shell 默认要可审批。
- Skill 审核:第三方 skill 要像 npm 包和浏览器插件一样检查来源、依赖、脚本和权限。
- 审计留痕:记录谁让 Agent 做了什么、调用了哪个工具、参数是什么、谁批准。
- 隔离运行环境:开发机、生产环境、办公账号、密钥和 Agent 工作目录要隔离。
- 官方替代 Shadow AI:给员工一个可用、好用、能审计的企业 Agent 平台。
MateClaw 适合切入最后一点:不是告诉员工“别用 Agent”,而是提供一套企业可以批准、员工也愿意用的 Agent Runtime。
9. 结语:Agent 越强,安全越要前置
OpenClaw 漏洞、恶意 skills、WebSocket 劫持和 Shadow AI 风险,本质上都在说明同一件事:Agent 已经从“回答问题的软件”变成“替人操作系统的软件”。
这种软件不能只靠提示词约束。它需要身份、权限、审批、审计、文件边界、供应链治理和运行时状态机。
MateClaw 的价值不在于声称“绝对安全”,而在于把 Agent 安全放回工程系统里处理:工具调用前有规则,敏感动作有人审批,审批后能恢复,执行过程有审计,外部 Agent 接入有 trusted 边界,团队可以按工作空间和角色治理。
Agent 安全不是提示词问题。它是 Runtime 问题。
参考资料
- NVD CVE-2026-25253:https://nvd.nist.gov/vuln/detail/CVE-2026-25253
- The Hacker News:OpenClaw one-click RCE:https://thehackernews.com/2026/02/openclaw-bug-enables-one-click-remote.html
- Oasis Security:ClawJacked:https://www.oasis.security/blog/openclaw-vulnerability
- 1Password:OpenClaw skills attack surface:https://1password.com/blog/from-magic-to-malware-how-openclaws-agent-skills-become-an-attack-surface
- TechRadar:OpenClaw vulnerability and agentic AI security:https://www.techradar.com/pro/what-the-openclaw-vulnerability-reveals-about-the-future-of-agentic-ai-security
- TechRadar:Shadow AI and OpenClaw:https://www.techradar.com/pro/shadow-ai-and-agents-like-openclaw-are-hijacking-corporate-data-too-easily
MateClaw
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)