Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
openclaw-hardening-check — Offline, read-only hardening check for a self-hosted OpenClaw install — gateway exposure, auth, CVE-2026-25253. Never prints secrets, makes no network calls. | Kitploit
工具/GitHubGitHub/cain66666/openclaw-hardening-check
漏洞分析配置审计网络安全云安全秘密检测错误配置
GitHubcain66666/openclaw-hardening-check

openclaw-hardening-check

Offline, read-only hardening check for a self-hosted OpenClaw install — gateway exposure, auth, CVE-2026-25253. Never prints secrets, makes no network calls.

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
查看仓库
52个月前尚未审核
分享

本脚本仅执行读取操作。它不修复任何问题,也不保证您的安全。绿色输出仅表示下列检查已通过——仅此而已。

OpenClaw 加固检查

openclaw-hardening-check.mjs 是一个小型、无依赖、离线的 OpenClaw 安装审查工具。它会读取本地配置、包元数据、插件和技能清单、文件模式,以及在 Linux 上通过 /proc 读取正在运行的 Gateway 的条目。它不修改文件、不调用 OpenClaw 命令、不连接注册中心,也不发起任何网络请求。

检查内容

  • Gateway 绑定: 报告 gateway.bind 是仅回环地址、非回环地址还是运行时依赖。在检测到 Docker、Podman、Kubernetes 或 Fly 容器内,未设置或为 auto 的绑定将被视为 0.0.0.0,与 OpenClaw 的容器默认值一致。正在运行的 Linux Gateway 会单独检查,因此命令行或服务覆盖无法隐藏在一个安全的配置值后面。
  • Gateway 身份验证: 模拟 OpenClaw 对明文 gateway.auth.token 和 .password 的配置优先规则。在测量凭证之前,它会识别 ${VAR}、$VAR、secretref-env:VAR、__env__:VAR 和结构化的 SecretRef。认证环境证据来自匹配的 Gateway 进程、gateway.systemd.env 或状态 .env,而非审查进程。密码值永远不会被打印;报告中仅包含存在性、来源类别和长度。已发布的示例占位符和短于 24 个字符的令牌会被标记。
  • CVE-2026-25253: 将版本低于 2026.1.29 视为受影响。该漏洞允许查询字符串中的 gatewayUrl 触发 WebSocket 连接,从而泄露 Gateway 令牌。参见 NVD 条目 和 OpenClaw 公告。
  • 安装固定: 在提供安装来源时,区分确切版本或提交与移动目标(如 latest、beta 或 main)。npm 和 pnpm 不会在已安装的包中保留原始请求的分发标签,因此在缺少该来源时,脚本会报告“无法检查”而非猜测。
  • 密钥文件权限: 检查配置、配置包含文件、.env、gateway.systemd.env、发现的 auth-profiles.json 文件以及解析后的文件 SecretRef,查看是否存在组或全局暴露,或意外的所有者。
  • 技能与插件: 分别盘点捆绑项(包括 dist-runtime/extensions)与在状态、配置目录、托管、工作区、个人、配置或 npm 项目位置中找到的项。非捆绑项被标记为需要手动审查,但永远不会被标记为恶意。
  • 监听套接字: 在 Linux 上,将 /proc/net/tcp* 套接字 inode 映射回 Gateway 入口文件或二进制进程,并标记它们拥有的每个非回环 TCP 监听器。如果预期端口上的监听器所有者无法验证,则输出“无法检查”,而非“Gateway 未运行”。即使 Gateway 已停止,该检查也能从磁盘正常工作。
  • 控制 UI 加固: 标记危险的 device-auth、insecure-auth 和 Host-header-origin 覆盖。同时,当非回环共享密钥认证未配置速率限制时,会发出警告。

路径和默认值遵循官方 配置文档、配置参考、Gateway 暴露运行手册、技能文档 和 插件管理文档。

运行方式

将脚本复制到运行 OpenClaw 的机器上,然后以相同的操作系统用户身份运行:

root@kitploit:~
node openclaw-hardening-check.mjs

OpenClaw 的默认配置为 ~/.openclaw/openclaw.json。该脚本也支持 OPENCLAW_CONFIG_PATH、OPENCLAW_STATE_DIR 和 OPENCLAW_GATEWAY_PORT 环境变量。

对于非默认布局和可重现的固定检查,提供了可选覆盖参数:

root@kitploit:~
node openclaw-hardening-check.mjs \
  --config /srv/openclaw/openclaw.json \
  --state-dir /srv/openclaw \
  --package-root /opt/openclaw/lib/node_modules/openclaw \
  --install-spec 2026.6.10

--install-spec 必须是由安装程序或部署定义最初使用的目标。传递当前安装的版本而不验证其来源,并不能证明部署是固定的。

示例输出

检查器从不输出秘密本身,因此可发布的形式仅记录其来源和长度:

root@kitploit:~
OpenClaw hardening check
只读且离线。秘密值永远不会被打印。
配置: ~/.openclaw/openclaw.json

[通过] 配置: 已加载 ~/.openclaw/openclaw.json,且未打印其内容。
[通过] Gateway 绑定: 回环地址;配置为仅本地访问。
[通过] Gateway 身份验证: 通过 Gateway 进程环境引导程序存在,长度为 48;未打印值。
[通过] 监听套接字: OpenClaw TCP 监听器仅限于回环地址: 127.0.0.1:18789, [::1]:18789。
[通过] CVE-2026-25253: 已安装的包版本 2026.6.10 处于或高于 2026.1.29。
[通过] 安装固定: 本次检查记录了确切目标 2026.6.10。
[警告] 第三方插件: 1 个: example-plugin。请自行审查;未尝试判定恶意软件。

总结: 未发现安全问题。有 1 项标记供您审查;退出码 0。

秘密值: [已编辑 — 永远不会出现在输出中]。

退出码

总结分别统计安全问题(失败)、需手动审查项(警告)和不完整检查(无法检查)。单独的 警告 和 无法检查 结果不会导致进程失败;只有 失败 会返回退出码 1。

代码

有意为之的限制

  • 这是一个本地配置和进程状态检查,而非远程暴露扫描器。它不进行任何网络连接,即使是本地回环连接。
  • 请在与 Gateway 相同的主机/容器上下文以及相同的操作系统用户身份下运行。审查者自身的令牌/密码环境会被故意忽略。
  • 如果 Gateway 已停止,并且在配置或已知的环境文件中未找到凭证,则身份验证会被报告为“无法检查”:另一个服务环境来源可能仅在 Gateway 启动时提供该凭证。
  • 套接字所有权检查目前需要 Linux /proc。其他平台会得到明确的“无法检查”结果。
  • 反向代理、容器端口发布、OpenClaw 之外 Tailscale 配置、防火墙规则或云负载均衡器可能暴露一个看似回环的部署。请单独审查这些层面。
  • 包文件证明了安装的版本,但通常无法证明包管理器最初是否解析了 @latest。请使用 --install-spec 提供受信任的部署来源。
  • 第三方清单一览是供人工审查的提示,而非信誉或恶意软件扫描。

测试

测试套件仅使用 node:test 和临时目录:

root@kitploit:~
node --test test/openclaw-hardening-check.test.mjs

作者

Ilya Prudnikov — cain-ai.com

许可证

MIT

下载工具
含义
0未发现 失败 安全问题;可能仍存在 警告 或 无法检查 结果。
1至少有一个 失败 安全问题需要注意。
2命令行无效,或配置无法找到、读取、包含或安全解析。