Soul Guardian 文件完整性守护
检测并处理代理核心工作区文件的未授权改动。
代码和文档显示其默认无网络、仅操作本地工作区,拒绝符号链接,使用原子写入、隔离区和哈希链审计,并提供签名发布物校验流程;但 restore 模式默认会无额外逐次确认地覆盖 SOUL.md/AGENTS.md,状态目录可能含敏感快照且默认可位于工作区,外部状态隔离未强制,签名公钥来源也未由独立证据确认,因此扣除 8 分。
主脚本、状态迁移、launchd 安装器和集成测试覆盖初始化、漂移、恢复、批准及审计链场景,静态上内部逻辑较一致;但本次未执行,异常权限、缺失文件、并发修改、平台差异和长期 watch 行为的覆盖及诊断反馈仍有限,且静态评估上限为 10,因此扣除 12 分。
目标用户、OpenClaw 工作区场景、命令、默认保护文件、restore/alert/ignore 边界和触发词均较明确;但主要面向 OpenClaw,中文文档与本土化操作说明缺失,安装和调度依赖 npx/GitHub 或 OpenClaw/macOS,环境覆盖证据有限,因此扣除 5 分。
包含版本号 0.0.9、AGPL-3.0-or-later、SBOM、安装说明、操作说明、限制、故障排查、示例和 CHANGELOG,文档结构基本清晰;但维护责任、明确更新渠道和发布者身份仍不充分,且部分安装/状态目录假设需要用户自行核对,因此扣除 5 分。
核心目标是检测工作区文件漂移、生成差异、记录审计并可恢复关键文件;文档给出可直接复制的命令和示例,测试文件覆盖主要工作流;但静态审查未执行,自动恢复的适用性和实际告警链路未被独立验证,且仍需用户配置基线、调度和安全保存状态,因此扣除 9 分。
提供完整源代码、固定版本、签名发布物校验脚本、SBOM 和提交的测试脚本,支持一定程度的审计与复核;但没有本次执行结果或独立第三方复现证据,签名材料和关键发布声明也未在给定材料中交叉验证,因此扣除 6 分。
- restore 模式会自动覆盖受保护文件;启用前应确认基线、策略和恢复范围,并保留外部备份。
- 状态目录包含批准快照、差异和隔离文件,可能暴露提示词、身份或记忆内容;应置于工作区外并限制权限。
- 默认核心功能本地运行,但安装验证、npx 安装和远程发布物获取可能受 GitHub 或其他海外网络可达性影响。
- 本评估仅基于静态源文件,未执行脚本、测试或签名验证。
这个 Skill 能做什么,适合哪些场景?
Soul Guardian 是 ClawSec 中面向 OpenClaw 的文件完整性技能,保护 SOUL.md、AGENTS.md 等代理工作区文件。它使用 SHA-256 基线检测漂移,可为指定文件自动恢复、生成统一差异并输出安全告警。审计日志采用哈希链维护,并支持持续监控、变更批准和审计验证。它适合需要保护代理身份、指令和配置文件的 OpenClaw 工作区,但恢复模式会有意覆盖发生漂移的文件。
使用 python3 读取受保护的工作区文件并与已批准基线进行 SHA-256 比对;检测漂移后按默认策略自动恢复 SOUL.md 和 AGENTS.md,仅告警 USER.md、TOOLS.md、IDENTITY.md、HEARTBEAT.md 和 MEMORY.md,并忽略 memory/*.md;为变更生成统一差异和本地审计/隔离状态;通过 check、watch、approve、status 和 verify-audit 命令执行检查、持续监控、批准变更、查看状态和验证审计日志;可通过 --output-format alert 输出适合转发给用户的告警。
- OpenClaw 管理员希望在心跳流程中发现 SOUL.md 或 AGENTS.md 被意外修改。
- 需要保护代理身份和行为指令文件,并在检测到漂移后自动恢复批准版本的个人用户。
- 希望只对 USER.md、TOOLS.md 或 MEMORY.md 发出提醒、而不自动覆盖内容的工作区维护者。
- 需要审查文件变更来源,并通过差异文件和哈希链审计日志进行调查的安全维护者。
- 准备安装独立发布包、希望在信任 SKILL.md、skill.json 或压缩包前验证签名清单的用户。
这个 Skill 有哪些优点和局限?
- 支持 SHA-256 基线漂移检测和统一差异输出。
- 可对 SOUL.md 和 AGENTS.md 自动恢复并告警。
- 审计日志使用哈希链,恢复写入采用原子操作,并拒绝处理符号链接。
- 默认无网络行为,调度功能为自愿启用。
- 恢复模式会覆盖漂移文件,误判可能覆盖有意修改。
- 无法证明具体是谁修改了文件,actor 仅是尽力而为的元数据。
- 如果攻击者同时控制工作区和状态目录,技能无法提供保护。
- 不是备份替代品;源材料也未提供测试套件或跨平台运行结果。
如何安装这个 Skill?
使用 Vercel Skills CLI 安装:
npx skills add prompt-security/clawsec --skill soul-guardian -a openclaw -y
在独立安装场景中,先按照 SKILL.md 提供的流程验证签名发布清单、压缩包、SKILL.md 和 skill.json,验证成功后再安装或解压。源材料未说明其他平台的具体安装目录或安装命令。
如何使用这个 Skill?
在 OpenClaw 工作区初始化基线:
cd ~/.openclaw/workspace
python3 skills/soul-guardian/scripts/soul_guardian.py init --actor setup --note "initial baseline"
启用监控提示:
python3 skills/soul-guardian/scripts/soul_guardian.py enable-monitoring
可在 HEARTBEAT.md 中加入:
## Soul Guardian Check
- Run python3 skills/soul-guardian/scripts/soul_guardian.py check --actor heartbeat --output-format alert
- If any output is produced, relay it to the user immediately as a security alert
也可运行 watch --interval 30 持续检查,使用 approve --file <path> 批准经过审查的改动,使用 status 查看状态,使用 verify-audit 验证审计日志。
这个 Skill 与同类方案有什么区别?
README 将 soul-guardian 与同仓库的其他安全技能区分开来:它专注于 OpenClaw 文件漂移检测和基线恢复,不提供安全咨询 feed、漏洞扫描、供应链安装验证或运行时流量监控。