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

📅 发布时间:2026/7/11 7:45:37 👁️ 浏览次数:
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做了两件看起来很“贴心”的事信任 URL 上的gatewayUrl参数来自 query string页面加载时自动连接到这个地址并且把本地保存的网关 token 放进 WebSocket 的 connect payload 里发出去。于是风险就变成了用户只要点了一个被构造过的链接或访问了会跳转的页面token 就可能被送到攻击者控制的服务器。而 token 一旦泄露攻击者拿到的不是“看你聊天记录”这么简单——公告里直接说攻击者能连进受害者本地 gateway修改配置包括 sandbox、工具策略o(▽)再调用高权限动作最终达成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{constunewURL(raw);// 1) 强制 wssif(u.protocol!wss:)returnnull;// 2) 域名白名单示例constallowedHostsnewSet([gateway.example.com,corp-gw.example.com]);if(!allowedHosts.has(u.hostname))returnnull;// 3) 可选固定端口/路径returnu.toString();}catch{returnnull;}}// 地址变更时必须用户确认asyncfunctiononGatewayUrlFromQuery(raw:string){constsafesanitizeGatewayUrl(raw);if(!safe)return;constokwindow.confirm(Connect to new gateway?\n${safe});if(!ok)return;// 再执行保存/连接// saveSettings({ gatewayUrl: safe }); connectGateway(safe);}这段代码核心原则把“隐式自动行为”改成“显式用户决策”。很多 1-click 事故就是从“帮用户省一步”开始的。结语OpenClaw 这类“能替你干活”的 agent本质上握着你的消息渠道、文件、API key、甚至本机命令执行能力。权限越大安全边界就越不能模糊。这次的教训其实很统一不要信任来自 URL 的配置不要在页面加载时自动带 token 连接陌生端点不要把“本地监听”当成安全护身符真正的安全不是“默认没事”而是“默认不做危险动作”嗯。。。换句话说宁愿不做也不要犯错喜欢就奖励一个“”和“在看”呗~