news 2026/4/23 15:59:19

OpenClaw漏洞允许通过恶意链接一键远程执行代码

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
OpenClaw漏洞允许通过恶意链接一键远程执行代码

很多人用 OpenClaw(曾用名 Moltbot/Clawdbot)是冲着它那句隐含承诺:“本地优先,数据在自己机器上,更安全。”

但这次事件需要你再注重注重安全了:哪怕你的网关只监听在回环地址(也就是“只在本机用”),只要用户点开一个链接,攻击链就可能从浏览器里“借道”,把你的控制权送出去。

这不是玄学,是官方安全公告里写得很直白的一条高危漏洞:“1-Click RCE via Authentication Token Exfiltration From gatewayUrl”,影响版本<= v2026.1.28,修复版本是v2026.1.29

官方公告:https://github.com/openclaw/openclaw/security/advisories/GHSA-g8p2-7wf7-98mq


这次到底炸在哪?

把“配置入口”做成了“自动连接开关”

控制台(Control UI)做了两件看起来很“贴心”的事:

  1. 信任 URL 上的gatewayUrl参数(来自 query string),
  2. 页面加载时自动连接到这个地址,并且把本地保存的网关 token 放进 WebSocket 的 connect payload 里发出去。

于是风险就变成了:

用户只要点了一个被构造过的链接(或访问了会跳转的页面),token 就可能被送到攻击者控制的服务器。

而 token 一旦泄露,攻击者拿到的不是“看你聊天记录”这么简单——公告里直接说,攻击者能连进受害者本地 gateway,修改配置(包括 sandbox、工具策略)o( ̄▽ ̄)d,再调用高权限动作,最终达成1-Click RCE


“我只跑在 localhost,为啥也能挨揍?

很多人对“本地服务”的安全直觉是:外网访问不了,那就安全。

但这条链路的关键点是:外网不需要直接访问你的 localhost,只要能让“你的浏览器”去访问即可。

安全公告里点得很清楚:即使 gateway 只绑定在 loopback,上述攻击依然能成立,因为受害者的浏览器会发起对外连接,充当桥梁

这也是为什么现在越来越多的安全问题不再是“端口开没开”,而是“前端/控制台能不能被诱导执行某些网络动作”。


修复方案

根因是“缺少gatewayUrl校验 + 页面自动连接”的组合。

修复策略也很直接:当 UI 检测到新的 gateway 地址时,要求用户确认,不再“悄悄自动连”。

顺带一提,OpenClaw 自己的 Security Policy 也写了警告:Web 界面是给本地用的,别绑到公网,它并没有按公网暴露去做硬化。


你现在该做什么?

如果你是用户(自托管/本地跑):

  • 立刻升级到v2026.1.29 或更高(<= v2026.1.28 都在影响范围内)。
  • 轮换/重置 gateway token(公告定义本质是 token 外泄风险)。
  • 不要把 Control UI 暴露到公网(哪怕你觉得“我加了 token 就行”)。
  • 对“看似无害的链接”保持警惕:这种漏洞最吃“点一下”。

如果你是做类似产品的开发者:

  • 任何能从 URL/剪贴板/深链写入配置的入口,都按“外部输入”处理
  • 敏感 token 永远别跟着“自动连接”一起发(尤其是首次连接/地址变更时)
  • 浏览器端做 allowlist/confirm;服务端也要做 origin/鉴权/最小权限

给工程师的“怎么写才不踩坑”示例(防御性)

下面是一个“最低配但管用”的思路:只允许wss://+ 固定域名白名单,其余一律弹窗确认或拒绝。

// 只示意防御思路:严格校验 + 显式确认functionsanitizeGatewayUrl(raw:string):string|null{try{constu=newURL(raw);// 1) 强制 wssif(u.protocol!=="wss:")returnnull;// 2) 域名白名单(示例)constallowedHosts=newSet(["gateway.example.com","corp-gw.example.com"]);if(!allowedHosts.has(u.hostname))returnnull;// 3) 可选:固定端口/路径returnu.toString();}catch{returnnull;}}// 地址变更时:必须用户确认asyncfunctiononGatewayUrlFromQuery(raw:string){constsafe=sanitizeGatewayUrl(raw);if(!safe)return;constok=window.confirm(`Connect to new gateway?\n${safe}`);if(!ok)return;// 再执行保存/连接// saveSettings({ gatewayUrl: safe }); connectGateway(safe);}

这段代码核心原则:把“隐式自动行为”改成“显式用户决策”。
很多 1-click 事故,就是从“帮用户省一步”开始的。


结语

OpenClaw 这类“能替你干活”的 agent,本质上握着你的消息渠道、文件、API key、甚至本机命令执行能力。权限越大,安全边界就越不能模糊。

这次的教训其实很统一:

  • 不要信任来自 URL 的配置
  • 不要在页面加载时自动带 token 连接陌生端点
  • 不要把“本地监听”当成安全护身符

真正的安全,不是“默认没事”,而是“默认不做危险动作”,嗯。。。换句话说:宁愿不做,也不要犯错!


喜欢就奖励一个“👍”和“在看”呗~

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/23 11:28:47

没实拍宠物做不出内容?Coze 智能体5分钟解锁萌宠播客制作

刷短视频时&#xff0c;你是不是也总刷到超火的萌宠播客类视频&#xff1f;两只小萌宠不断吐槽铲屎官日常&#xff0c;搞笑又接地气的对话搭配萌趣的表情&#xff0c;瞬间抓住眼球&#xff0c;哪怕随手一划&#xff0c;也忍不住停下看完整个视频。 今天我用coze工作流&#xf…

作者头像 李华
网站建设 2026/4/23 11:29:01

51页精品可编辑PPT | 企业数据中台整体介绍及建设方案

在当今竞争激烈的市场环境中&#xff0c;许多公司面临数字化转型的挑战。这些问题包括数据管理不善、客户体验不佳、运营效率低下等。这些问题导致公司难以适应快速变化的市场需求&#xff0c;影响其竞争力。这个方案的核心目标是帮助公司通过数字化转型提升业务效率和客户满意…

作者头像 李华
网站建设 2026/4/23 11:29:57

JBoltAI全能力问答:Java AI框架实用解析

围绕JBoltAI框架的全能力模块&#xff0c;整理了开发者高频关注的核心问题&#xff0c;用通俗语言拆解各能力的实际价值与落地逻辑。问&#xff1a;AIGS能力里的“智能路由网关”“动态资源分配”&#xff0c;实际能解决什么问题&#xff1f;答&#xff1a;这两个能力是为了让A…

作者头像 李华
网站建设 2026/4/23 11:33:19

OCR识别+文件提取:Java开发的实用工具路径

作为常和各类文档打交道的Java开发者&#xff0c;OCR识别和文件内容提取是业务里绕不开的高频需求&#xff0c;但传统处理方式总有些“卡壳”的地方——比如不同格式的文件要对接不同工具&#xff0c;图片里的文字得单独找OCR插件&#xff0c;提取完的内容还得手动整理结构。直…

作者头像 李华
网站建设 2026/4/23 10:51:31

Vue指令大全:从v-if到自定义指令的完整指南

Vue指令大全&#xff1a;从v-if到自定义指令的完整指南 Vue.js 作为一款渐进式 JavaScript 框架&#xff0c;凭借其简洁的语法和强大的功能&#xff0c;在前端开发领域得到了广泛应用。其中&#xff0c;指令作为 Vue 的核心特性之一&#xff0c;为开发者提供了便捷的 DOM 操作…

作者头像 李华