OpenClaw主机安全健康检查Skill healthcheck

OpenClaw主机安全健康检查技能是一个用于评估、加固和监控运行OpenClaw软件的主机安全状态的自动化工具。它通过系统上下文分析、安全审计、风险容忍度配置和修复计划制定,帮助用户实现主机安全加固、暴露面审查、防火墙配置、SSH安全、自动更新策略以及定期安全检查调度。关键词包括:主机安全加固、安全审计、防火墙配置、SSH安全、风险容忍度、OpenClaw安全、定期检查、安全态势评估、漏洞修复、自动化安全运维。

安全审计 3 次安装 76 次浏览 更新于 2/24/2026

名称: 健康检查 描述: 为OpenClaw部署提供主机安全加固和风险容忍度配置。当用户请求安全审计、防火墙/SSH/更新加固、风险态势、暴露审查、OpenClaw定期检查的cron调度,或运行OpenClaw的机器(笔记本电脑、工作站、树莓派、VPS)的版本状态检查时使用。

OpenClaw主机加固

概述

评估并加固运行OpenClaw的主机,然后将其与用户定义的风险容忍度对齐,同时不中断访问。将OpenClaw安全工具作为首要信号,但将操作系统加固视为独立、明确的一组步骤。

核心规则

  • 建议使用最先进的模型(例如Opus 4.5、GPT 5.2+)运行此技能。代理应自检当前模型,如果低于该级别则建议切换;不要阻止执行。
  • 任何状态更改操作前都需要明确批准。
  • 在未确认用户连接方式的情况下,不要修改远程访问设置。
  • 优先使用可逆、分阶段的更改,并制定回滚计划。
  • 切勿声称OpenClaw会更改主机防火墙、SSH或操作系统更新策略;它不会。
  • 如果角色/身份未知,仅提供建议。
  • 格式:每组用户选择都必须编号,以便用户可以用单个数字回复。
  • 建议进行系统级备份;尝试验证状态。

工作流程(按顺序执行)

0) 模型自检(非阻塞)

开始前,检查当前模型。如果低于最先进水平(例如Opus 4.5、GPT 5.2+),建议切换。不要阻止执行。

1) 建立上下文(只读)

在询问前,尝试从环境中推断1-5项。如果需要确认,优先使用简单、非技术性问题。

确定(按顺序):

  1. 操作系统和版本(Linux/macOS/Windows),容器与主机。
  2. 权限级别(root/管理员 vs 用户)。
  3. 访问路径(本地控制台、SSH、RDP、tailnet)。
  4. 网络暴露(公网IP、反向代理、隧道)。
  5. OpenClaw网关状态和绑定地址。
  6. 备份系统及状态(例如Time Machine、系统映像、快照)。
  7. 部署上下文(本地Mac应用、无头网关主机、远程网关、容器/CI)。
  8. 磁盘加密状态(FileVault/LUKS/BitLocker)。
  9. 操作系统自动安全更新状态。 注意:这些不是阻塞项,但强烈建议,特别是如果OpenClaw可以访问敏感数据。
  10. 具有完全访问权限的个人助理的使用模式(本地工作站 vs 无头/远程 vs 其他)。

首先请求一次运行只读检查的权限。如果获得授权,默认运行它们,仅针对无法推断或验证的项目提问。不要询问运行时或命令输出中已可见的信息。将权限请求保持为单个句子,并将后续所需信息列为无序列表(非编号),除非您正在呈现可选择的选项。

如果必须提问,请使用非技术性提示:

  • “您使用的是Mac、Windows PC还是Linux?”
  • “您是直接登录机器,还是从另一台计算机连接?”
  • “这台机器可以从公共互联网访问,还是仅限您的家庭/内部网络?”
  • “您是否启用了备份(例如Time Machine),并且它们是最新的吗?”
  • “磁盘加密是否开启(FileVault/BitLocker/LUKS)?”
  • “自动安全更新是否启用?”
  • “您如何使用这台机器?” 示例:
    • 与助理共享的个人机器
    • 为助理专用的本地机器
    • 远程访问的专用远程机器/服务器(始终在线)
    • 其他?

只有在系统上下文已知后才询问风险概况。

如果用户授予只读权限,默认运行适用于操作系统的检查。如果没有,则提供(编号的)检查选项。示例:

  1. 操作系统:uname -asw_verscat /etc/os-release
  2. 监听端口:
    • Linux:ss -ltnup(如果-u不支持,则用ss -ltnp)。
    • macOS:lsof -nP -iTCP -sTCP:LISTEN
  3. 防火墙状态:
    • Linux:ufw statusfirewall-cmd --statenft list ruleset(选择已安装的)。
    • macOS:/usr/libexec/ApplicationFirewall/socketfilterfw --getglobalstatepfctl -s info
  4. 备份(macOS):tmutil status(如果使用Time Machine)。

2) 运行OpenClaw安全审计(只读)

作为默认只读检查的一部分,运行openclaw security audit --deep。仅在用户请求时提供替代方案:

  1. openclaw security audit(更快,非探测)
  2. openclaw security audit --json(结构化输出)

提供应用OpenClaw安全默认设置的选项(编号):

  1. openclaw security audit --fix

明确说明--fix仅收紧OpenClaw默认设置和文件权限。它不会更改主机防火墙、SSH或操作系统更新策略。

如果启用了浏览器控制,建议在所有重要账户上启用双因素认证(2FA),优先使用硬件密钥,仅SMS不足够。

3) 检查OpenClaw版本/更新状态(只读)

作为默认只读检查的一部分,运行openclaw update status

报告当前频道以及是否有可用更新。

4) 确定风险容忍度(系统上下文之后)

要求用户选择或确认风险态势以及任何必需的服务/开放端口(编号选择如下)。 不要将用户限制在固定配置文件中;如果用户偏好,捕获需求而不是选择配置文件。 提供建议的配置文件作为可选默认值(编号)。注意大多数用户选择家庭/工作站平衡:

  1. 家庭/工作站平衡(最常见):防火墙开启并采用合理默认设置,远程访问限制在局域网或tailnet内。
  2. VPS加固:默认拒绝入站防火墙,最少开放端口,仅密钥SSH,禁止root登录,自动安全更新。
  3. 开发者便利性:允许更多本地服务,明确暴露警告,但仍进行审计。
  4. 自定义:用户定义的约束(服务、暴露、更新频率、访问方法)。

5) 制定修复计划

提供一个包含以下内容的计划:

  • 目标配置文件
  • 当前态势摘要
  • 与目标的差距
  • 分步修复步骤及确切命令
  • 访问保留策略和回滚方案
  • 风险和潜在锁定场景
  • 最小权限说明(例如,避免使用管理员权限,在安全的情况下收紧所有权/权限)
  • 凭据卫生说明(OpenClaw凭据位置,优先使用磁盘加密)

任何更改前始终显示计划。

6) 提供执行选项

提供以下选择之一(编号以便用户可以用单个数字回复):

  1. 为我执行(引导式,逐步批准)
  2. 仅显示计划
  3. 仅修复关键问题
  4. 导出命令供以后使用

7) 执行并确认

对于每个步骤:

  • 显示确切命令
  • 解释影响和回滚方案
  • 确认访问将保持可用
  • 在出现意外输出时停止并请求指导

8) 验证和报告

重新检查:

  • 防火墙状态
  • 监听端口
  • 远程访问仍然有效
  • OpenClaw安全审计(重新运行)

交付最终态势报告并注明任何延期项目。

必需确认(始终)

需要明确批准:

  • 防火墙规则更改
  • 开放/关闭端口
  • SSH/RDP配置更改
  • 安装/删除软件包
  • 启用/禁用服务
  • 用户/组修改
  • 调度任务或启动持久化
  • 更新策略更改
  • 访问敏感文件或凭据

如果不确定,请询问。

定期检查

在OpenClaw安装或首次加固后,至少运行一次基线审计和版本检查:

  • openclaw security audit
  • openclaw security audit --deep
  • openclaw update status

建议进行持续监控。使用OpenClaw cron工具/CLI调度定期审计(网关调度器)。未经明确批准,不要创建计划任务。将输出存储在用户批准的位置,避免在日志中记录秘密。 在调度无头cron运行时,在输出中包含一条注释,指示用户调用healthcheck以便修复问题。

调度必需提示(始终)

任何审计或加固后,明确提供调度选项并要求直接响应。使用简短提示,例如(编号):

  1. “您是否希望我通过openclaw cron add调度定期审计(例如每日/每周)?”

如果用户说是,询问:

  • 频率(每日/每周)、首选时间窗口和输出位置
  • 是否同时调度openclaw update status

使用稳定的cron作业名称,以便更新是确定性的。优先使用确切名称:

  • healthcheck:security-audit
  • healthcheck:update-status

创建前,运行openclaw cron list并匹配确切的name。如果找到,执行openclaw cron edit <id> ...。 如果未找到,执行openclaw cron add --name <name> ...

还提供定期版本检查,以便用户决定何时更新(编号):

  1. openclaw update status(对于源代码检出和频道首选)
  2. 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和时间戳
  • 批准的步骤和确切命令
  • 退出代码和修改的文件(尽力而为)

对秘密进行脱敏。切勿记录令牌或完整凭据内容。

内存写入(有条件)

仅当用户明确选择加入且会话是私有/本地工作区(根据docs/reference/templates/AGENTS.md)时才写入内存文件。否则,提供用户可决定保存到其他位置的脱敏、可粘贴摘要。

遵循OpenClaw压缩使用的持久内存提示格式:

  • 将持久笔记写入memory/YYYY-MM-DD.md

每次审计/加固运行后,如果选择加入,将简短、带日期的摘要追加到memory/YYYY-MM-DD.md(检查内容、关键发现、采取的操作、任何计划的cron作业、关键决策以及所有执行的命令)。仅追加:切勿覆盖现有条目。 对敏感主机详细信息进行脱敏(用户名、主机名、IP、序列号、服务名称、令牌)。 如果有持久偏好或决策(风险态势、允许的端口、更新策略),也更新MEMORY.md(长期内存是可选的,仅在私有会话中使用)。

如果会话无法写入工作区,请求权限或提供用户可粘贴到内存文件中的确切条目。