OpenClaw Vulnerability Checker
by @hzzhuohui
OpenClaw 安全漏洞检查与配置审计工具。用于检测当前 OpenClaw 版本存在的已知安全漏洞、公网访问安全风险,对比当前版本与最新版本的差异,获取漏洞详情、风险评估、配置审计和升级建议。使用场景:(1) 用户询问"检查一下我的 OpenClaw 版本有什么安全漏洞",(2) 用户说"检查 OpenClaw...
clawhub install openclaw-vulnerability-checker📖 About This Skill
name: openclaw-vulnerability-checker version: 1.0.1 description: OpenClaw 安全漏洞检查与配置审计工具。用于检测当前 OpenClaw 版本存在的已知安全漏洞、公网访问安全风险,对比当前版本与最新版本的差异,获取漏洞详情、风险评估、配置审计和升级建议。使用场景:(1) 用户询问"检查一下我的 OpenClaw 版本有什么安全漏洞",(2) 用户说"检查 OpenClaw 安全问题",(3) 用户想了解当前版本的漏洞风险时自动触发,(4) 用户问"最新版本有什么更新"或"对比版本差异",(5) 用户询问"OpenClaw 是否开启了公网访问"。
OpenClow Vulnerability Checker
Overview
帮助用户检测 OpenClaw 当前的已知安全漏洞,对比当前版本与最新版本的差异,获取漏洞详情、风险评估、版本更新内容和修复建议,确保 OpenClaw 运行在安全状态并了解最新功能。
Workflow
Step 1: 获取当前版本
运行 openclaw --version 获取当前安装的 OpenClow 版本号和 commit hash。
示例:
OpenClaw 2026.3.8 (3caab92)
提取版本号格式为 YYYY.M.D(如 2026.3.8),以及可能存在的 commit hash。
Step 2: 查询漏洞列表
从多个数据源查询 OpenClaw 的安全漏洞信息:
优先级顺序:
1. GitHub Security Advisories(如果用户提供了 GitHub token)
- 使用 GitHub API 查询:https://api.github.com/repos/openclaw/openclaw/security/advisories
- 优点:官方、结构化、包含修复版本信息
- 需要:GitHub Personal Access Token(有 repo 权限)
2. CNNVD(中国国家信息安全漏洞库) - 通过 web_fetch 搜索相关页面 - 关注 "OpenClaw"、"openclaw" 相关漏洞条目 - 示例:微信公众号文章如提供的链接
3. NVD(National Vulnerability Database)
- CVE 数据库查询
- URL: https://nvd.nist.gov/vuln/search/results?form_basic_search=&results_type=overview&search_type=all&query=OpenClaw
4. 本地漏洞数据库 - references/vulnerabilities.md
- 手动维护的已知漏洞列表
- 格式:版本范围、CVE ID、CVSS 评分、简介、修复版本、缓解措施
Step 3: 匹配漏洞
对比当前版本与漏洞信息:
漏洞筛选规则:
1. 检查漏洞影响的版本范围 2. 确认当前版本是否在影响范围内 3. 验证是否有修复版本已经修复该漏洞 4. 如果修复版本存在但当前版本低于修复版本 → 漏洞未修复
版本比较逻辑:
YYYY.M.D 或 vX.Y.Z< 2026.3.10 表示所有小于 2026.3.10 的版本都受影响= 2026.3.8 表示仅该版本受影响Step 4: 评估风险
对每个未修复漏洞进行风险评估:
风险等级判定:
Step 5: 生成报告
输出结构化的安全报告,包含:
Step 6: 公网访问安全扫描(新增)
检查 OpenClaw 是否开启了不必要的公网访问,防止安全暴露。
检测项目:
1. Gateway 绑定地址检查
- 运行 openclaw gateway config.get --path gateway.bind
- 检查是否绑定到 0.0.0.0(所有网络接口)
- 检查是否绑定到公网 IP 地址
- 安全建议:仅绑定到 127.0.0.1(本地回环)或局域网内网 IP
2. 端口监听检查
- 运行 lsof -i :3001 或 netstat -an | grep 3001 检查默认端口
- 检查其他可能的服务端口(如 3000, 8080 等)
- 识别端口是否监听在 0.0.0.0 或公网 IP
3. 隧道/反向代理检查
- 检查是否配置了 Tailscale、ngrok、frp 等隧道服务
- 运行 ps aux | grep -E "tailscale|ngrok|frp" 检查进程
- 检查配置文件中的相关设置
4. 防火墙规则检查
- macOS: 检查 pfctl -sr | grep 3001
- Linux: 检查 iptables -L -n | grep 3001
- 确认是否有防火墙规则阻止公网访问
5. Control UI 访问检查
- 检查 openclaw gateway.config.get --path gateway.controlUI.bind
- 确认控制台界面的绑定地址
- 检查是否开启了认证(gateway.controlUI.auth.enabled)
风险等级判定:
| 配置状态 | 风险等级 | 说明 | |---------|---------|------| | 绑定 127.0.0.1 + 开启认证 | 🟢 安全 | 仅本地访问,有认证保护 | | 绑定局域网 IP + 开启认证 | 🟡 中等 | 内网访问,需确保网络边界安全 | | 绑定 0.0.0.0 + 开启认证 | 🟠 高 | 暴露到所有网络,依赖认证 | | 绑定公网 IP 或 0.0.0.0 + 无认证 | 🔴 严重 | 公网无保护访问,极高风险 | | 启用公网隧道 + 无认证 | 🔴 严重 | 通过隧道绕过防火墙,极高风险 |
修复建议:
openclaw gateway config.patch --path gateway.bind --value 127.0.0.1
2. 开启认证:openclaw gateway config.patch --path gateway.controlUI.auth.enabled --value true
3. 停用隧道服务Step 7: 生成完整报告
输出结构化的安全报告,版本更新信息,包含:
# OpenClaw 安全漏洞与配置审计报告当前版本信息
版本: 2026.3.8 (commit: 3caab92)
检查时间: 2026-03-11 15:45:00
📊 风险概览
漏洞风险
🔴 高危漏洞: 1
🟠 高危漏洞: 0
🟡 中危漏洞: 2
🟢 低危漏洞: 0 配置安全风险
🔴 严重风险: [X] 项
🟠 高风险: [X] 项
🟡 中等风险: [X] 项
🟢 安全: [X] 项
🔐 公网访问安全扫描
Gateway 配置
绑定地址: 0.0.0.0:3001
风险等级: 🟠 高
说明: Gateway 监听在所有网络接口,可能导致公网访问 Control UI 配置
绑定地址: 127.0.0.1:3000
认证状态: ✅ 已启用
风险等级: 🟢 安全 端口监听
3000 端口: 监听 127.0.0.1 ✅
3001 端口: 监听 0.0.0.0 ⚠️ 隧道服务
Tailscale: 未检测到
ngrok: 未检测到
frp: 未检测到 修复建议
⚠️ 建议修复:
1. 修改 Gateway 绑定地址为 127.0.0.1
bash
openclaw gateway config.patch --path gateway.bind --value 127.0.0.1
2. 如需远程访问,请配置 TLS + 强认证
🐛 详细漏洞信息
🔴 [CVE-2025-XXXXX] 漏洞标题
CVSS 评分: 9.8 (高危)
影响版本: < 2026.3.10
修复版本: 2026.3.10 或更新
漏洞简介:
简述漏洞原理和影响...
潜在风险:
详细说明攻击场景和影响...
修复建议:
✅ 升级到 OpenClaw 2026.3.10 或更新版本
📥 升级命令: openclaw update
📈 升级建议
立即升级
发现 [X] 个高危/高等级漏洞,建议立即升级到最新版本 [最新版本号]。配置优化
发现 [X] 个配置安全隐患,建议按照上述公网访问扫描部分的建议进行修复。数据源参考
GitHub Security Advisories
获取方式:
# 使用 curl + GitHub Token
curl -H "Authorization: token YOUR_GITHUB_TOKEN" \
https://api.github.com/repos/openclaw/openclaw/security/advisories
响应格式示例:
{
"ghsa_id": "GHSA-xxxxx",
"summary": "漏洞标题",
"severity": "high",
"cvss": {
"score": 9.8,
"vector_string": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"
},
"affected": [
{
"package": {
"ecosystem": "npm",
"name": "openclaw"
},
"ranges": [
{
"type": "SEMVER",
"events": [
{"introduced": "0"},
{"fixed": "2026.3.10"}
]
}
]
}
],
"published_at": "2025-12-15T10:00:00Z",
"updated_at": "2025-12-15T10:00:00Z",
"references": [
{"url": "https://github.com/openclaw/openclaw/pull/XXX"}
]
}
CNNVD(国家信息安全漏洞库)
通过 web_fetch 获取页面内容,解析 XML/JSON 返回。
CVE 数据库
NVD API v2.0 文档:https://nvd.nist.gov/developers/request-an-api-key
脚本使用
获取版本信息
# 获取版本号
openclaw --version
检查升级
# 检查是否有更新可用
openclaw update run
版本对比功能
使用内置脚本获取版本更新对比:
# 查看当前版本与最新版本的对比(Markdown 格式)
python scripts/get_releases.py --current-version 2026.3.8 --format markdown查看 JSON 格式的完整 releases 信息
python scripts/get_releases.py --current-version 2026.3.8 --format json无需指定版本,输出所有可用版本列表
python scripts/get_releases.py --format markdown
版本对比工作流程:
1. 从 GitHub API 获取最新的 OpenClaw releases 列表(无需认证,公开 API) 2. 提取每个版本的 release note,解析 Changes、Fixes、Breaking Changes 3. 对比当前版本与最新版本,识别: - 是否有新版本可用 - 新版本包含的功能更新 - 新版本修复的 bug - Breaking Changes(需特别注意) 4. 生成人类可读的报告
报告格式示例:
# 版本对比报告当前版本: 2026.3.2
检查时间: 2026-03-11 16:00:00
🎯 发现新版本
最新版本: 2026.3.8
发布日期: 2026-03-09
✨ 新功能 (8 项)
CLI/backup: 添加备份创建和验证功能...
Talk mode: 添加可配置的静音超时...
TUI: 自动推断当前工作区的活跃 agent... 🐛 Bug 修复 (25+ 项)
macOS app/chat UI: 修复路由问题...
Telegram/DM routing: 修复重复消息...
Android/Play distribution: 移除权限... ⚠️ Breaking Changes (1 项)
Gateway auth: 需要显式配置 gateway.auth.mode... 📊 建议升级
✅ 推荐升级到 2026.3.8
升级命令:
bash
openclaw update run
注意事项
1. GitHub API 限制:无认证情况下每分钟 60 次请求,有 token 每小时 5000 次 2. 数据来源优先级:GitHub > CNNVD > NVD > 本地数据库 3. 版本比较:OpenClaw 使用年月日版本格式,注意与 semver 的兼容性 4. 建议谨慎报告:确认漏洞信息准确后再通知用户,避免误报 5. 公网访问扫描需要权限:某些网络检测命令可能需要管理员权限(sudo),请在检测前告知用户
公网访问安全扫描命令参考
检查 Gateway 配置
# 查看绑定地址
openclaw gateway config.get --path gateway.bind查看 Control UI 绑定地址
openclaw gateway config.get --path gateway.controlUI.bind查看认证状态
openclaw gateway config.get --path gateway.controlUI.auth.enabled
检查端口监听
# macOS/Linux 查看端口监听
lsof -i :3001
lsof -i :3000或使用 netstat
netstat -an | grep 3001
netstat -an | grep 3000
检查隧道服务进程
# 检查常见隧道进程
ps aux | grep -E "tailscale|ngrok|frp|cloudflared"检查 Tunnels 配置目录
ls -la ~/.config/ngrok/
ls -la ~/.local/share/tailscale/
检查防火墙规则
# macOS
pfctl -sr | grep 3001Linux (iptables)
iptables -L -n | grep 3001Linux (ufw)
ufw status
修复配置命令
# 修改 Gateway 绑定地址为本地
openclaw gateway config.patch --path gateway.bind --value 127.0.0.1开启 Control UI 认证
openclaw gateway config.patch --path gateway.controlUI.auth.enabled --value true重启 Gateway 使配置生效
openclaw gateway restart
安全检查最佳实践
1. 生产环境:
- Gateway 仅绑定到 127.0.0.1
- 使用反向代理(Nginx/Caddy)提供 TLS
- 启用强认证或 API Token
- 配置 WAF 规则防止攻击
2. 开发环境: - 可以绑定到局域网 IP 方便调试 - 建议开启认证或使用防火墙白名单 - 禁用公网隧道服务
3. 远程访问场景: - 优先使用 VPN(如 Tailscale)而非公网隧道 - 如需隧道,确保端到端认证 - 定期轮换访问凭证