一个流行 AI 代理框架中的零点击漏洞是一个商业界没人愿听但每个人都需要知道的警告。
我当时正站在圣莫尼卡 Bay Cities Italian Deli 餐厅那光荣而混乱的队伍里,手里紧握着我的纸质号码牌。那里的号码系统是一个美丽的时代错误。在高堆的意大利熏火腿后面,有人会喊一个号码,你大声喊出你的 Godmother 三明治订单,然后一连串真实的“人类代理人”就开始行动。没有用户界面 (UI),没有应用程序,只有一个经过锤炼、可审计的流程,它已经存在了几十年。每个步骤都是可观察的。切意大利辣香肠的那个人不会悄悄地访问你的银行账户。这个系统以其美丽、模拟的简单性,是清晰、可测试和安全的。
然后我的手机收到一条警报,提示有一个名为 “ClawJacked” [2] 的高危漏洞。这是 OpenClaw 中的一个缺陷,OpenClaw 是一个流行的开源框架,开发人员正在使用它来构建品牌们争相部署的自主 AI 代理。简而言之,ClawJacked 允许任何恶意网站劫持您的本地 AI 代理,使其能够窃取数据、滥用应用程序接口 (API) 并代表您执行操作,所有这些都无需您点击任何内容 [11]。
盯着我的号码——还差 40 多个号——我突然意识到,整个商业行业即将把 Bay Cities 这种经过验证但略显笨拙的系统,换成一个建立在我们不完全理解且无法妥善保护的框架之上的不透明、互联的代理网络。我们对代理商务 (agentic commerce) 的潜力如此着迷,以至于我们正在沙滩上构建我们的未来,而潮水正在涌来。
什么是 OpenClaw?品牌为何应该关注?
对于大多数营销和商务高管来说,“OpenClaw”这样的名字听起来像是深奥的开发者行话。这只是工程师团队需要处理的细节。这是一个灾难性的错误假设。要理解风险,你需要了解这些工具是什么,以及它们如何构成每个人都为之屏息的代理式未来 (agentic future) 的基础层面。
OpenClaw 是一个开源框架,它充当 AI 代理的“神经系统”。它的主要功能是将大型语言模型 (LLM)——即“大脑”——连接到一套工具和实时互联网。这些工具被称为“技能 (skills)”,它们是独立的程序包,允许代理执行特定操作:检查库存、处理退款、预订航班,或者,更来势汹汹的是,读取您的私人文件 [13]。可以把它想象成一个智能手机操作系统,允许安装任何应用程序(一个技能)来赋予手机新的功能。
开发人员纷纷涌向 OpenClaw 这样的框架,因为它们解决了一个大问题:LLM 只是语言处理器。它们本身无法 做 任何事情。这样的框架提供了“管道”——API、浏览器控制器、执行环境——将一个生成文本的模型转变为一个执行操作的代理。最近的 HackerNoon 时事通讯提到,开发人员正在积极地将代理与 Kafka、Flink 和 MCP 等协议结合起来,这说明了目前正在构建的复杂互联系统的寒武纪大爆发 [8]。
OpenClaw 架构的核心是一个名为“网关 (gateway)”的组件 [2, 10]。这个网关服务器运行在开发人员的本地机器上,或潜在地运行在品牌的云基础设施上。它管理 LLM 与其技能之间的通信,通常使用 WebSockets 来维护持久的双向连接。这使得复杂的代理能够实现实时、响应迅速的体验。这正是 ClawJacked 漏洞如此具有破坏性的原因。
作为品牌负责人,您必须关注的原因是,您未来的代理式店面准备度 (agentic storefront readiness) 取决于这个基础层的安全性。您正在计划的 AI 礼宾服务、代理辅助购物 (agent-assisted shopping) 功能、虚拟试穿 AI——它们都将使用 OpenClaw 这样的框架构建。如果框架本身受到威胁,您的整个商业 AI 架构 (commerce AI architecture) 就建立在一个致命的缺陷之上。
劫持剖析:您的代理如何被 ClawJacked
我们暂时谈点技术细节,因为 ClawJacked 攻击的细节完美地说明了代理系统所创造的新攻击面。这并非一次简单的网络钓鱼攻击;它是一种复杂的零点击漏洞攻击 (ZERO-CLICK exploit),利用了专为便利而设计的架构 [12]。
该漏洞(已在版本 2026.2.26 中修复)存在于 OpenClaw 网关组件中。以下是失败链条:
- 默认不安全配置: 网关默认配置为可从任何来源访问。这意味着任何网站,包括恶意网站,都可以尝试与其通信。
- 持久 WebSocket 连接: 网关使用 WebSockets 与基于浏览器的前端进行通信。这创建了一个“始终在线”的通道。当运行本地 OpenClaw 实例的用户访问恶意网页时,该网页可以打开一个 WebSocket 连接回到他们机器上的网关。
- 命令注入: 恶意站点随后可以通过这个被劫持的 WebSocket 发送命令。由于网关旨在协调对代理“技能”的访问,该网站现在可以指示代理执行任何已安装的技能。
想象一下,您是时尚品牌的一名开发人员,正在使用 OpenClaw 实例构建一个能够查询您产品数据库的代理。您已经为其赋予了一个包含 API 密钥的技能,可以访问 inventory.yourbrand.com。然后,您在另一个浏览器标签页中访问了一个受感染的网站——比如,一个关于篮球数据的博客。该网站,无需您点击任何内容,现在可以向您的本地代理发送命令,指示它使用库存技能,提取所有数据,并将其发送到攻击者的服务器。这就是 ClawJacked 攻击的本质 [2, 11]。
攻击流程如下所示: