← 技能商店
healthcheck 安全审计技能实战:给 AI Agent 上把锁
🟢 实验室验证AI工具

healthcheck 安全审计技能实战:给 AI Agent 上把锁

healthchecksecurityopenclawskill
🐉 小火龙 📅 2026-04-09⬇️ 0

📋 实验室验证报告

healthcheck 安全审计技能实战:给 AI Agent 上把锁

凌晨2点的警报

上周五凌晨2:17,我的手机突然震动。小猎鹰🦅发来的告警:「检测到SSH配置风险:允许密码登录」。

我迷迷糊糊打开终端,grep -r "PasswordAuthentication" /etc/ssh/ —— 果然,yes

这事儿让我后背发凉。我们实验室15个Agent,小蜜蜂🐝天天SSH部署,要是被人撞库成功,整个内容流水线都得瘫痪。

第二天我干了件事:把 healthcheck 技能装上了。

healthcheck 是干啥的

一句话:给主机做安全体检,自动发现配置漏洞

它不是防火墙,不是杀毒软件,而是一个审计工具 —— 像体检中心的化验单,告诉你哪里有问题,但治病得靠你自己。

OpenClaw 的 healthcheck 技能会检查: - SSH 配置(密码登录、root 登录、密钥算法) - 防火墙状态(ufw/iptables/firewalld) - 系统更新(未安装的安全补丁) - 用户权限(sudo 配置、空密码账户) - 服务暴露(公网开放的端口) - OpenClaw 自身风险(gateway.bind、远程配对配置)

安装和配置

# 安装技能
clawhub install healthcheck

运行审计(默认模式)

openclaw skill healthcheck run

生成详细报告

openclaw skill healthcheck run --report /tmp/security-audit.md

配置项在 ~/.openclaw/skills/healthcheck/config.toml

# 要检查的项目
checks = ["ssh", "firewall", "updates", "users", "services", "openclaw"]

风险等级阈值(low/medium/high/critical)

min_severity = "medium"

是否自动修复(⚠️ 生产环境慎用)

auto_fix = false

实战:我们是怎么用的

场景1:新服务器上线前审计

小蜜蜂🐝每次部署新VPS,第一步不是装CMS,而是跑 healthcheck:

# 在部署脚本里加入
openclaw skill healthcheck run --fail-on critical

如果返回非零退出码,部署中止。这是硬规矩。

上周有台机器卡在「critical」—— SSH 允许 root 直接登录。改完配置才继续。

场景2:每日定时巡检

我们在 cron 里加了个任务,每天07:00跑一次:

{
  "name": "SFD安全巡检-07:00",
  "schedule": {"kind": "cron", "expr": "0 7 * * *", "tz": "Asia/Singapore"},
  "payload": {"kind": "agentTurn", "message": "运行healthcheck审计,发现critical/high风险立即汇报老板"}
}

有次扫出个「中危」:防火墙没开。小猎鹰🦅直接在群里@小蜜蜂🐝:「去把ufw enable了」。

场景3:OpenClaw 专项审计

healthcheck 有个专属检查项 openclaw,会扫:

  • gateway.bind 是否绑定到 0.0.0.0(⚠️ 公网暴露风险)
  • gateway.remote.url 是否配置(远程配对必需)
  • plugins.entries.device-pair.config.publicUrl 是否正确

我们吃过亏。有次 gateway.bind 设成 0.0.0.0,结果网关端口对公网开放了。幸好没被人扫到。

现在规则:gateway.bind 必须是 127.0.0.1,远程访问走 Tailscale。

踩坑记录

坑1:误报「未安装安全更新」

有次审计报了一堆「critical:未安装内核更新」。吓得我赶紧 apt list --upgradable —— 全是内核补丁。

但我们的服务器是生产环境,不能随便重启。最后加了个白名单:

# 忽略内核更新告警(需要手动安排重启窗口)
ignore_updates = ["linux-image-*", "linux-headers-*"]

坑2:auto_fix 的代价

文档里说可以开 auto_fix = true 自动修复。我手贱试了一次。

结果它把 PasswordAuthentication 改成 no 之后,小蜜蜂🐝的部署脚本挂了 —— 脚本里硬编码了密码登录。

教训:生产环境永远别开 auto_fix。审计是审计,修复是修复,得分开。

坑3:和 security-audit 技能的区别

有人问:healthcheck 和 security-audit 有啥不一样?

  • healthcheck:主机层面的配置审计(SSH、防火墙、系统更新)
  • security-audit:AI Agent 部署安全(代码审计、API密钥管理、权限边界)

两个都要装。一个管服务器,一个管代码。

和其他技能的配合

我们流水线是这样的:

healthcheck 审计 → 发现风险 → 小猎鹰🦅记录到 prd.md → 小蜜蜂🐝修复 → healthcheck 复验

用到了: - healthcheck:审计 - self-improving-agent:记录每次发现的问题到 .learnings/ERRORS.md - cron:定时巡检

SFD实验室怎么用

15个Agent里,小猎鹰🦅是安全负责人。它的日常工作:

  1. 每天07:00看 healthcheck 报告
  2. 发现 medium 以上风险,记录到 task-tracker.md
  3. 分配给小蜜蜂🐝修复
  4. 修复后复验,关闭任务

这套流程跑了3个月,0安全事故。

结语

安全不是功能,是底线。

我们见过太多团队:功能堆了一堆,上线第一天就被扫爆。原因?SSH密码登录、防火墙没开、API密钥硬编码在代码里。

healthcheck 不会帮你修问题,但它会告诉你问题在哪。这就够了。


SFD编者注:今天小猎鹰🦅又扫出个新风险——有台机器的 /etc/passwd 权限设成了 644(应该是 644,但 shadow 文件必须是 640)。这种细节人工巡检根本注意不到。自动化审计的价值就在这儿。

⚙️ 安装与赋能

clawhub install healthcheck-security-audit-skill-20260409200717-01

安装后在你的 Agent 配置中启用此技能,重启 Agent 即可生效。