SuperAPI AI 工具集

healthcheck

安全与审计

查看项目

更新于 10-16 06:37

技能介绍

用途

healthcheck 用于评估并加固运行 OpenClaw 的主机,然后把主机配置对齐到用户定义的风险容忍度,同时不破坏用户的访问方式。它把 OpenClaw 安全工具的输出作为一等信号,但把操作系统层面的加固视为独立、明确的步骤。若角色或身份未知,只提供建议。

主要能力与核心规则

  • 建议使用当前最先进的模型(例如 Opus 4.5、GPT 5.2+)运行该技能;智能体会自检当前模型,若低于该水平则建议切换,但不阻止执行。
  • 任何改变状态的操作都必须先获得显式批准。
  • 未确认用户连接方式前,不得修改远程访问设置。
  • 优先采用可逆、分阶段的变更,并准备回滚方案。
  • 绝不声称 OpenClaw 会更改主机防火墙、SSH 或操作系统更新;它不会。
  • 格式要求:每一组用户选项都必须编号,以便用户用单个数字回复。
  • 建议进行系统级备份,并尽量核实备份状态。

使用方式(按顺序执行的工作流)

  1. 模型自检(不阻塞):开始前检查当前模型,若低于最先进水平则建议切换。
  2. 建立上下文(只读):尽量先从环境推断操作系统与版本、容器还是主机、权限级别、访问路径、网络暴露、OpenClaw 网关状态与绑定地址、备份系统与状态、部署上下文、磁盘加密状态、操作系统自动安全更新状态、个人助理使用模式。先一次性请求运行只读检查的许可,获准后默认执行,只对无法推断或验证的项目提问。提问使用非技术性措辞,例如“你使用的是 Mac、Windows PC 还是 Linux?”“你是直接在这台机器上登录,还是从另一台电脑连接?”等。仅在系统上下文已知后才询问风险偏好。
  3. 运行 OpenClaw 安全审计(只读):默认只读检查中包含 openclaw security audit --deep;仅在用户要求时提供替代项:openclaw security audit(更快、不探测)、openclaw security audit --json(结构化输出)。可提供应用 OpenClaw 安全默认值的选项:openclaw security audit --fix,并明确说明 --fix 只收紧 OpenClaw 默认值与文件权限,不改变主机防火墙、SSH 或操作系统更新策略。若启用了浏览器控制,建议在所有重要账户上启用 2FA,优先硬件密钥,短信不足。
  4. 检查 OpenClaw 版本/更新状态(只读):默认只读检查中包含 openclaw update status,报告当前通道以及是否有可用更新。
  5. 确定风险容忍度(在系统上下文之后):请用户选择或确认风险姿态以及必需开放的服务/端口(提供编号选项)。不要局限于固定画像;如用户偏好,可改为记录需求。建议画像作为可选默认值,多数用户选择 Home/Workstation Balanced:
    • Home/Workstation Balanced(最常见):开启防火墙并使用合理默认值,远程访问限制在 LAN 或 tailnet。
    • VPS Hardened:入站防火墙默认拒绝,最小开放端口,仅密钥 SSH,禁止 root 登录,自动安全更新。
    • Developer Convenience:允许更多本地服务,明确暴露警告,仍然审计。
    • Custom:用户自定义约束(服务、暴露、更新频率、访问方式)。
  6. 生成修复计划:包含目标画像、当前姿态摘要、与目标的差距、带精确命令的分步修复、访问保持策略与回滚、风险与潜在锁定场景、最小权限说明、凭据卫生说明。任何更改前始终先展示计划。
  7. 提供执行选项(编号):帮我做(引导式、逐步批准)、仅展示计划、只修复关键问题、导出命令供以后使用。
  8. 带确认执行:每一步展示精确命令、解释影响与回滚、确认访问仍可用,遇到意外输出时停止并请求指导。
  9. 验证与报告:重新检查防火墙状态、监听端口、远程访问是否仍正常、重新运行 OpenClaw 安全审计,交付最终姿态报告并记录任何遗留项目。

必需确认与周期检查

始终需要对以下操作获得显式批准:防火墙规则变更、开放/关闭端口、SSH/RDP 配置变更、安装/移除软件包、启用/禁用服务、用户/组修改、计划任务或启动持久化、更新策略变更、访问敏感文件或凭据。如不确定,先询问。

在 OpenClaw 安装或首次加固后,至少运行一次基线审计和版本检查:openclaw security audit、openclaw security audit --deep、openclaw update status。建议持续监控,使用 OpenClaw cron 工具/CLI 安排周期性审计(Gateway scheduler),未经明确批准不得创建计划任务。输出存放在用户批准的位置,避免日志中出现机密信息。安排无头 cron 运行时,在输出中加入提示,指引用户调用 healthcheck 以便修复问题。

每次审计或加固后,明确提供安排选项并要求直接回复(编号)。若用户同意,询问频率(每日/每周)、首选时间窗口、输出位置,以及是否同时安排 openclaw update status。使用稳定的 cron 任务名,例如 healthcheck:security-audit、healthcheck:update-status。创建前先 openclaw cron list 并按精确名称匹配:若已存在则 openclaw cron edit <id> ...,否则 openclaw cron add --name <name> ...。同时提供周期性版本检查选项:openclaw update status(优先用于源码检出和通道)、npm view openclaw version(已发布 npm 版本)。

命令准确性与日志

只使用受支持的 OpenClaw 命令与标志:

openclaw security audit [--deep] [--fix] [--json]
openclaw status / openclaw status --deep
openclaw health --json
openclaw update status
openclaw cron add|list|runs|run

不得杜撰 CLI 标志,也不得暗示 OpenClaw 会强制执行主机防火墙/SSH 策略。

日志与审计跟踪应记录:网关身份与角色、计划 ID 与时间戳、已批准步骤与精确命令、退出码与修改的文件(尽力而为)。屏蔽机密,绝不记录令牌或完整凭据内容。

记忆写入(有条件)

仅在用户明确选择加入且会话为私有/本地工作区时写入记忆文件。否则提供经过脱敏、可直接粘贴的摘要,由用户决定保存到何处。遵循 OpenClaw 压缩使用的持久记忆提示格式:把持久笔记写入 memory/YYYY-MM-DD.md。每次审计/加固运行后,若已选择加入,向 memory/YYYY-MM-DD.md 追加简短带日期的摘要(检查了什么、关键发现、采取的操作、任何计划 cron 任务、关键决策、执行的所有命令)。仅追加,绝不覆盖已有条目。屏蔽敏感主机细节(用户名、主机名、IP、序列号、服务名、令牌)。若有持久偏好或决策(风险姿态、允许端口、更新策略),也更新 MEMORY.md(长期记忆可选,仅在私有会话使用)。若会话无法写入工作区,请求许可或提供用户可粘贴到记忆文件的精确条目。

适用场景与限制

适用场景:用户要求安全审计、防火墙/SSH/更新加固、对 OpenClaw 主机进行风险容忍度对齐等。限制:不得执行未经批准的状态变更;无法确定角色/身份时只给建议;不虚构 OpenClaw 不支持的 CLI 标志或能力;除资料提供的命令外,其余功能、收费、平台信息暂未提供。