OpenClaw本地AIAgent零交互接管攻击链分析与思考|ClawJacked【CVE-2026-25253】

admin 2026-03-05 20:56:48 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文分析了OpenClaw框架CVE-2026-25253漏洞。攻击者利用浏览器对localhostWebSocket的豁免机制,结合Gateway缺乏速率限制与自动配对特性,诱导用户访问恶意网站后可无感暴力破解并接管AIAgent。文章详述了攻击链原理与APT利用价值,建议用户升级至v2026.2.25以上版本,采取强制Token认证及最小权限策略。该漏洞凸显了AI智能体本地信任模型的安全风险。 综合评分: 85 文章分类: 漏洞分析,AI安全,漏洞预警,红队,内网渗透


cover_image

OpenClaw本地AI Agent零交互接管攻击链分析与思考|ClawJacked【CVE-2026-25253】

原创

kedaya kedaya

诸葛安全

2026年3月3日 22:31 陕西

最近在部署和使用OpenClaw时,互联网上披露了OpenClaw框架的ClawJacked漏洞链。

CVE编号:CVE-2026-25253

漏洞简单描述就是,只需受害者打开恶意网站,就能在浏览器后台静默暴力破解密码、自动注册为可信设备,从而完整接管本地运行的OpenClaw Gateway,最终让AI Agent变成攻击者的肉鸡。

震惊吗?我也很震惊,恰好,最近我也在部署和使用OpenClaw。看到这个漏洞后,详细分析了一下思路。文章末尾附有原文链接。

先做一下科普:

OpenClaw(曾用名Clawdbot/Moltbot)作为最近超火的开源本地AI Agent框架,GitHub星标现在已经超250k了。它是一个真正能干活的AI助手,进行终端、浏览器、文件操作,自主执行复杂任务等。

ClawJacked漏洞的出现,对于APT组织/红队人员来说,真的是拿钥匙进自家门,就这么简单。

本文将从OpenClaw架构、ClawJacked漏洞成因、完整攻击链、技术实现细节、APT价值,到防御建议,进行拆解分析,所学有限,如有错误请指正。

正文开始

一、OpenClaw架构

通过对OpenClaw架构的分析,发现Gateway才是OpenClaw真正的核心,先从最基础说起,OpenClaw是什么?

想象一下,你家有一台智能管家机器人(AI Agent),它能听你指挥,还能控制家里所有设备(Nodes)。但机器人不能直接跟每个设备聊天,必须通过一个“中控台”(Gateway)来调度。这里可以参考OpenClaw官方文档(文章末尾)。

其核心组件分三层结构:

1、Gateway(中控台:本地WebSocket服务器)

  • 默认绑定127.0.0.1:18789(端口可改,通常不对外暴露)。
  • 功能:负责认证、配置存储(AI模型、API Key、已连渠道)、指令下发、日志记录。
  • 通信协议:WebSocket(WS),一种全双工、持久化的浏览器/服务器通信协议,比HTTP更适合实时指令(如果HTTP是发短信,那么WS就像是打电话)。
  • 保护方式:密码或长随机Token。

2、Nodes(节点:做执行操作)

  • 可以理解为人的手/脚,每个Node都有自己的专属能力:运行Shell命令、读写文件、查询消息历史、控制浏览器等。

3、AI Agent(智能体)

  • 这个就类似于人脑,高权限身份,拥有长期记忆、自主规划、工具调用能力。它不只是聊天机器人,而是能真正干活的Agent。

这里需要引入一个思考问题:为什么Gateway对localhost有“隐式信任”?

我们日常用CLI工具调试时,需要本地快速连接。如果每次都弹窗确认,会非常烦人。所以OpenClaw设计时,对127.0.0.1(本地回环地址)采取了“信任一切”的简化逻辑。就是因为这个设计,才导致ClawJacked漏洞出现。

二、ClawJacked漏洞成因

其实核心就是:localhost的三次信任危机,漏洞完全存在于核心系统本身!

  • 第一次信任危机:浏览器对localhost WebSocket的跨源豁免(SOP/CORS例外)。

  • 简单理解一下:正常网站A不能随便访问你电脑上的网站B(同源策略SOP保护)。但浏览器对ws://127.0.0.1特别优待,因为这对于浏览器来说,这是“自己家的事”。WebSocket连接不像HTTP请求会触发严格CORS检查。

开门,自己人!

  • 为什么致命:恶意网页的JS可以直接new WebSocket(‘ws://127.0.0.1:18789’),无任何弹窗、无任何提示。整个过程隐藏在浏览器后台,无感!

这么一说,你是不是得来一句“我*(工作的时候称植物)!我悟了!”,事情变得严重起来了对吧。继续分析:

  • 第二次信任危机:localhost完全豁免速率限制与失败计数(Rate Limiter Bypass)

  • 我们继续简单理解一下:正常登录网站,输错密码5次就被锁住。但OpenClaw的Gateway对本地连接说:“自己人,放心啦!”,是的,没错,没有任何限制!

  • Gateway内置全局速率限制器(通常用token bucket或leaky bucket算法),但代码中对loopback地址(127.0.0.1)显式跳过:无尝试次数上限、无失败日志、无节流、无黑名单。

  • 因为远程有速率限制,本地却无限制,相当于银行ATM对内部员工不设密码尝试上限。

  • 第三次信任危机:localhost新设备配对自动信任(Auto-Pairing无确认)

  • 继续理解一下:打个比喻:正常新手机配对智能家居,要弹窗点确认。但本地连接直接默认通过。

  • Gateway后端配对的逻辑是区分来源的:远程需用户手动确认;localhost来源的register_device请求被静默自动批准,直接授予full_admin权限。

三重信任叠加效果:

浏览器JS → WS连接 → 暴力破解(无限制) → 自动配对 → 完整Admin控制

整个过程零交互、零文件落地、零EDR告警。简单做了个图,理解一下:

当时二月初的时候我记得就爆出过一个漏洞,月底又爆出来,我当时还纳闷了,为啥是一个编号,查了一下,原来是两个攻击链。

26年2月初的时候,CVE-2026-25253是gatewayUrl查询参数导致的Token泄露(已于v2026.1.29修复),他与2月底披露的ClawJacked漏洞,共用同一个CVE编号,但不是同一个漏洞,只是OpenClaw Gateway组件的两轮独立攻击链:

  • 第一轮(已于 v2026.1.29 修复):恶意链接通过 gatewayUrl 参数自动窃取 Token。
  • 第二轮(ClawJacked,需升级至 v2026.2.25+ 修复):浏览器对 localhost WebSocket 的三重信任绕过(SOP 豁免 + Rate Limit Bypass + Auto-Pairing)。

现在,原理和思路知道了,下面我们来简单梳理一下攻击链路。

三、攻击链

  • 鱼叉式钓鱼/水坑攻击诱导访问恶意网站
  • 用户点开技术博客、GitHub链接或内部邮件,页面加载恶意JS。
  • ClawJacked接管Gateway
  • PoC原理还原(基于WS JSON协议-这里借助了AI):
// 浏览器JS实现async function clawJackedExploit(port = 18789) {  const ws = new WebSocket(`ws://127.0.0.1:${port}`);
  ws.onopen = () => {    console.log('【ClawJacked】WS连接建立(浏览器localhost豁免)');    bruteForce(ws);  // 启动暴力破解  };
  ws.onmessage = (event) => {    const msg = JSON.parse(event.data);    if (msg.type === 'auth_success') {      console.log('【ClawJacked】认证成功 → localhost自动配对');      registerDevice(ws);    }  };}function bruteForce(ws) {  const dict = ['password', '123456', 'admin', 'openclaw2026', /* 自定义大字典 */];  let i = 0;  const timer = setInterval(() => {    if (i >= dict.length) return clearInterval(timer);    ws.send(JSON.stringify({       type: 'auth',       password: dict[i++]     }));  // 每3-5ms一次,无速率限制  }, 4);}function registerDevice(ws) {  ws.send(JSON.stringify({    type: 'register_device',    deviceName: 'Attacker-Controlled-Device',    capabilities: ['full_admin', 'node_control']  }));  // 此时已获Admin权限,可Dump配置}// 触发:clawJackedExploit();
  • 协议细节:所有通信是JSON over WebSocket。真实消息类型包括auth、auth_success、register_device等。

  • 枚举Nodes与配置:接管后发送dump_config、list_nodes指令,获取AI模型、已连设备IP、平台等完整拓扑。

  • 使用Agent进行内网探测:下发指令让Agent执行shell:nmap -sP 192.168.1.0/24扫描内网;或利用既有Nodes(浏览器/终端)作为跳板,无需新C2落地。

  • 利用Agent已有权限窃取敏感数据,Agent以高权限身份运行,可自主执行:search_slack(“API Key”) 搜索历史凭证,读写文件、导出邮件、操作云服务,整个行为伪装成“正常AI任务”,EDR此时就是摆设。

到这里,利用链路是不是就清晰多了,接下来简单预测一下利用价值。

四、APT的利用价值:

  • 低门槛:只需一次钓鱼,无0day、无额外社工。
  • 高隐蔽:利用合法Agent执行,绕过所有传统检测。
  • 高收益:能接入OpenClaw往往都是极具业务性的设备,VPN、内网、云凭证,…
  • 天然的持久化:无需维持浏览器会话,Agent可长期执行任务。重点是,很少有人注意Agent的内部细节吧。就是注意了,技术门槛很高。至少我作为OpenClaw的使用者,我是没咋关注过。(叠甲:严禁抬杠!)
  • 目前生态:漏洞是2月底披露的,这才几天,能及时升级OpenClaw的人又能有多少呢?

五、防御

  • 升级解决问题,官方已经修复这个漏洞:更新至v2026.2.25及以上就行。仓库:

https://github.com/openclaw/openclaw

  • 要是企业还不放心可以用EDR进行扫描检查:ps aux | grep openclaw或netstat -an | grep 18789。

  • 强化访问控制(修复核心,毕竟谁也不能保证,过几天会不会有新漏洞爆出):

  • 强制使用长随机Token,禁用密码认证;

  • 即使localhost也启用速率限制+手动确认配对;

  • Gateway绑定特定接口而非全localhost。

  • Agent最小权限:Just-In-Time(JIT)授权、定期审计工具链、意图日志分析。

  • 监控告警:关注localhost异常WS连接、Agent异常Shell执行、数据外发。

  • 隔离部署:推荐在Docker/VM中以非特权用户运行(但是问题来了,都隔离部署了,使用OpenClaw的意义在哪,但也不排除整个业务都在一起,所有还是要考虑到的)。

  • 企业:纳入红队演练,毕竟红队大手子强的可怕。

最后思考

ClawJacked漏洞更像是便利性与安全设计冲突的必然结果。当仅仅访问一个网站就能让AI Agent失陷,说明一个事实:传统的安全边界已经从网络层彻底前移到“本地信任模型”。尤其是AI智能体时代的到来。传统EDR的对抗已经不能胜任对AI智能体的防护了,况且,像OpenClaw这样的自主决策能力,完全可以自主对抗EDR。

  • Oasis官方技术报告:https://www.oasis.security/blog/openclaw-vulnerability
  • OpenClaw仓库:https://github.com/openclaw/openclaw/
  • CVE-2026-25253:https://nvd.nist.gov/vuln/detail/CVE-2026-25253
  • OpenClaw官方文档:https://docs    .openclaw.ai/cli/gateway

本文仅仅是个人研究学习见解,仅供技术交流与安全研究。严禁用于任何非法目的。请严格遵守法律法规。

最后来个灵魂拷问:你的OpenClaw升级了吗?


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:诸葛安全 kedaya kedaya《OpenClaw本地AI Agent零交互接管攻击链分析与思考|ClawJacked【CVE-2026-25253】》

评论:0   参与:  0