Skill: hzzhuohui/openclaw-vulnerability-checker (version 1.0.1)

--- 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. 如果修复版本存在但当前版本低于修复版本 → 漏洞未修复 **版本比较逻辑：** - OpenClaw 使用语义化版本 `YYYY.M.D` 或 `vX.Y.Z` - 支持范围比较：`< 2026.3.10` 表示所有小于 `2026.3.10` 的版本都受影响 - 支持特定版本：`= 2026.3.8` 表示仅该版本受影响 ### Step 4: 评估风险 对每个未修复漏洞进行风险评估： **风险等级判定：** - **高危（Critical）**: CVSS 9.0-10.0 或远程代码执行（RCE） - **高（High）**: CVSS 7.0-8.9 或权限提升、敏感信息泄露 - **中（Medium）**: CVSS 4.0-6.9 或拒绝服务、XSS - **低（Low）**: CVSS 0.1-3.9 或信息泄露等低影响 ### 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 + 无认证 | 🔴 严重 | 公网无保护访问，极高风险 | | 启用公网隧道 + 无认证 | 🔴 严重 | 通过隧道绕过防火墙，极高风险 | **修复建议：** - **立即修复**（严重风险）： 1. 修改绑定地址：`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. 停用隧道服务 - **建议优化**（中高风险）： 1. 添加防火墙规则限制访问 IP 2. 启用 TLS/HTTPS（使用反向代理） 3. 使用强密码或 API Token --- ### 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 **获取方式：** ```bash # 使用 curl + GitHub Token curl -H "Authorization: token YOUR_GITHUB_TOKEN" \ https://api.github.com/repos/openclaw/openclaw/security/advisories ``` **响应格式示例：** ```json { "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 ## 脚本使用 ### 获取版本信息 ```bash # 获取版本号 openclaw --version ``` ### 检查升级 ```bash # 检查是否有更新可用 openclaw update run ``` ### 版本对比功能 使用内置脚本获取版本更新对比： ```bash # 查看当前版本与最新版本的对比（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. 生成人类可读的报告 **报告格式示例：** ```markdown # 版本对比报告 **当前版本**: 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 配置 ```bash # 查看绑定地址 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 ``` ### 检查端口监听 ```bash # macOS/Linux 查看端口监听 lsof -i :3001 lsof -i :3000 # 或使用 netstat netstat -an | grep 3001 netstat -an | grep 3000 ``` ### 检查隧道服务进程 ```bash # 检查常见隧道进程 ps aux | grep -E "tailscale|ngrok|frp|cloudflared" # 检查 Tunnels 配置目录 ls -la ~/.config/ngrok/ ls -la ~/.local/share/tailscale/ ``` ### 检查防火墙规则 ```bash # macOS pfctl -sr | grep 3001 # Linux (iptables) iptables -L -n | grep 3001 # Linux (ufw) ufw status ``` ### 修复配置命令 ```bash # 修改 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）而非公网隧道 - 如需隧道，确保端到端认证 - 定期轮换访问凭证 --- ## 版本历史 ### v1.0.1 (2026-03-24) - ✨ 新增：公网访问安全扫描功能 - 🔍 检测项：Gateway 绑定、端口监听、隧道服务、防火墙规则、Control UI 认证 - 📊 新增配置安全风险等级评估 - 📝 更新报告模板，整合漏洞扫描和配置审计结果 ### v1.0.0 (2026-03-11) - 🎉 初始版本 - ✅ 已知漏洞检测 - 📈 版本对比功能 - 📋 结构化安全报告生成


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)