Hermes 安全证明卫士
为 Hermes 生成可验证的运行时安全证明并检测基线漂移。
证据显示默认采用签名验证、固定公钥、校验和、作用域限制、失败关闭、显式确认和仅用户管理计划块修改,且无破坏性修复;但远程 Feed 端点未实现 allowlist,存在显式但危险的无签名旁路,外部数据流和密钥/端点信任边界仍需操作者判断,未提供独立来源归属,因此扣分。
代码与文档在 Hermes-only、Node、失败关闭和路径约束方面基本一致,并描述了异常反馈;但本次仅静态阅读,未提供实际测试文件或可复现运行证据,且版本常量与文档发布版本存在不一致,因此不超过静态上限并扣分。
目标平台、主要命令和非适用范围写得清楚;但仅支持 Hermes,中文支持未说明,默认远程服务依赖海外网络,未证明中国大陆网络可达,触发语义和环境边界仍不完整,因此扣分。
包含 frontmatter、安装说明、运行时要求、命令、侧作用、限制说明和较详细 changelog,版本信息较完整;但维护责任、更新路径、参数稳定性和 FAQ 不够明确,且所给材料未直接提供许可证文件,因此扣分。
attestation 生成、验证、基线漂移和 advisory gate 的目标及输出路径明确,代码显示可直接产生 JSON/状态结果;但未执行、未见实际输出或端到端证据,实际覆盖范围和相对手工替代方案的收益仍无法确认,因此按静态上限扣分。
源代码包含可审计的哈希、签名、schema、路径和比较逻辑,具备一定追溯性;但测试仅由 README/changelog 声称,未提供测试文件或第三方执行记录,缺乏独立复核和多类型证据,因此扣分。
- 不要默认启用 --allow-unsigned 或在计划任务中保留该旁路。
- 远程 advisory Feed 未实现 URL allowlist;部署前应独立确认 Feed、签名和校验和端点的可信性及中国大陆网络可达性。
- 安装前应核对发布签名、公钥指纹和归档校验和,并确认文档版本与代码版本一致。
这个 Skill 能做什么,适合哪些场景?
Hermes Attestation Guardian 是面向 Hermes CLI、Gateway 和配置文件管理部署的运行时安全技能。它生成确定性的安全状态证明,校验规范摘要、文件完整性和可选的分离签名,并支持经过认证的基线漂移比较。它还验证签名安全公告源,并在公告匹配时对技能执行带确认机制的校验门禁。该技能不适用于 OpenClaw 运行时钩子。
运行 Node.js 脚本生成位于 $HERMES_HOME/security/attestations 的 JSON 安全证明及可选 SHA-256 文件;读取策略文件、主机信息、Hermes 运行时状态、公告源验证状态、受监控文件和信任锚点;验证证明的模式、规范摘要、文件哈希、可选分离签名和经认证的基线;刷新并检查签名公告缓存;根据受影响技能和版本范围执行公告感知的验证门禁;预览或应用用户级定时任务配置。
- Hermes 运维人员需要定期生成运行时安全状态并保存可审计的 JSON 证明。
- 安全团队需要将当前 Hermes 状态与已认证基线比较,并在高危或严重漂移时让命令失败。
- 平台管理员从社区来源安装技能,需要在信任前验证签名发布清单、归档文件和技能元数据。
- 应急响应人员需要检查公告源签名状态,并在公告匹配时要求操作员明确确认。
- 需要定时执行证明或公告检查、同时限制修改范围在该技能托管的用户级计划任务区块内的 Hermes 管理员。
这个 Skill 有哪些优点和局限?
- 面向 Hermes 的确定性证明、规范摘要和基线漂移验证。
- 支持签名公告源、文件哈希、信任锚点和可选分离签名。
- 验证失败时默认采用 fail-closed 行为,并支持高危级别门禁。
- 定时任务只重写明确标记的当前用户托管区块。
- 范围严格限定为 Hermes 基础设施,不是 OpenClaw 运行时钩子包。
- 需要 Node.js 及 curl、OpenSSL、jq 等命令行工具。
- 公告源 URL allowlisting 在 v0.0.2 中尚未实现,配置的源和校验和端点必须由运维人员明确信任。
- 版本匹配不支持 OR 和连字符范围,--allow-unsigned 仅适合应急且会削弱验证保障。
- 没有实现删除、恢复或隔离等破坏性修复动作。
如何安装这个 Skill?
使用 Vercel Skills CLI 安装:
npx skills add prompt-security/clawsec --skill hermes-attestation-guardian -a hermes-agent -y
独立安装时,先按照 SKILL.md 中的脚本验证签名发布清单、归档文件、SKILL.md 和 skill.json;只有验证成功后才安装或解压归档。源码没有说明其他安装目录或手动复制步骤。
如何使用这个 Skill?
生成证明:
node scripts/generate_attestation.mjs
验证当前证明:
node scripts/verify_attestation.mjs --input ~/.hermes/security/attestations/current.json
使用已认证基线检查漂移:
node scripts/verify_attestation.mjs --input ~/.hermes/security/attestations/current.json --baseline ~/.hermes/security/attestations/baseline.json --baseline-expected-sha256 <trusted-baseline-sha256> --fail-on-severity high
脚本必须从包含 scripts/ 目录的技能目录运行。定时任务默认只预览配置,使用 --apply 才会修改托管计划任务区块。
这个 Skill 与同类方案有什么区别?
相较于 README 所述的完整 ClawSec 套件,本技能只处理 Hermes 的证明、公告验证和漂移检测,不提供其他平台技能的能力。相较于 OpenClaw、NanoClaw 或 Picoclaw 技能,它不能直接作为这些平台的运行时安全组件使用。