HOL Guard
为 AI 代理提供的开源杀毒软件:在运行时拦截危险命令、密钥泄露、提示注入、恶意软件包、MCP 服务器与插件。
证据显示审批流(approvals/receipts)、安装前逐项确认、本地优先、CI 最小权限与动作固定哈希、docker-requirements 哈希安装;但最小权限与敏感数据处理多为 README 断言,未见核心策略引擎代码,扣分;发布者为未验证的 'HOL/Hashgraph Online',仅有 mcp-name 标记,出处归属弱,故 source_attribution 仅 1。
CI 极为完备(96 分片、兼容性矩阵、契约测试、mutation 基线),pytest 标记体系细致;但测试通过与否无法静态证实,异常/失败消息质量只能由 troubleshooting、doctor、diff 等文档侧面推断,self_consistency 受多个入口点别名(hol-guard/plugin-guard 均指向同一 cli.main)影响扣分。
受众与场景描述充分(个人开发者/团队/CI),支持矩阵明确记录每个 harness 的覆盖与失败行为,边界声明('coverage depends on events each agent exposes')诚实;触发精度仅见 command test/explain 等检查工具,规则匹配质量无法静态评估,扣 1;环境适配跨 Python 3.10–3.14 与多平台 CI 证明充分。
信息架构清晰(文档表、规范目录、扩展目录),安装说明完整含 pipx/update/verify,FAQ 覆盖关键问题,Apache-2.0 文本完整且 pyproject 一致;扣分点:无 CHANGELOG 文件(仅 releases 链接),命名存在历史包袱(内部包名 codex_plugin_scanner、plugin-guard/plugin-ecosystem-scanner 等别名),维护方为未验证组织且无明确治理/路线图文件。
输出格式覆盖 text//markdown/sarif 并有结构化 Action 输出,可用性高;作为本地 agent 安全层 + 插件扫描器的组合在开源生态中边际价值明确(自动化审批与回执、AIBOM 导出);成本收益扣分:安装需 pipx、策略配置与云同步引入额外运维面,收益依赖规则库实际质量,无法静态证实。
声明可追溯性较好(文档链接、信任评分规范、contract. 随包发布、CI 生成扩展目录);跨源一致性可部分核对(README/pyproject/SECURITY.md 版本与许可证一致、CI 工作流与文档声明的测试矩阵吻合),但外部证据(PyPI、Scorecard)无法在本次静态审查中独立核实,扣分;事实与推断分离优秀——草案明确标注 draft、覆盖范围明示为条件性。
- 发布者身份未经策展注册表验证,使用前请自行核对 GitHub 组织与 PyPI 包的对应关系。
- Guard 会在系统上安装 hooks 并修改 agent 配置;请先运行 --dry-run 与 diff 审查将写入的变更,并确认存在卸载/恢复路径。
- 可选 Guard Cloud 与 supply-chain sync 会产生外部网络请求;若要求完全离线,请禁用同步功能并审计其数据流向文档。
- 本次为静态审查,未执行任何检测规则;规则库的实际查准/查全(误报率)未经独立验证,建议在受控环境先行试用。
- 仓库无 CHANGELOG 文件,升级前请核对 GitHub releases 与 pyproject 版本的一致性。
这个 Agent 能做什么,适合哪些场景?
HOL Guard 是 hashgraph-online 组织开源的本地优先安全层,在 AI 代理执行操作之前审查 shell 命令、文件访问、软件包安装和 MCP 工具调用。它检测密钥暴露、破坏性操作、提示注入和供应链风险,并按策略允许、阻止或要求审批。核心发行包括两个 PyPI 包:`hol-guard`(运行时防护)和 `plugin-scanner`(发布前的插件安全与质量扫描)。防护通过原生代理钩子、托管 MCP 代理和启动集成接入,支持 Codex、Claude Code、Cursor、Gemini CLI 等多种代理。无需云端账号即可本地运行,CLI 与本地仪表盘管理审批和决策记录;可选的 Guard Cloud 增加共享历史、团队策略和机队管理。项目采用 Apache-2.0 许可证。
安装后运行 hol-guard init,向导会发现受支持的代理并配置防护。运行时它拦截并审查 shell 命令(hol-guard command test 'rm -rf ./build'、command explain 可不执行地检查分类与匹配规则)、软件包安装(hol-guard supply-chain sync/scan/explain,结合供应链情报评估如 [email protected])、插件/技能/代理配置变更(通过清单盘点)、MCP 服务器配置与工具调用(经钩子和托管代理),以及提示和工具结果中的注入内容。被暂停的操作进入审批中心(hol-guard approvals approve/deny),决策以本地凭据记录(hol-guard receipts)。它还支持 inventory 清单、abom --format 导出 AI 物料清单、doctor/diff 诊断。plugin-scanner 提供 scan、lint、verify、submit、doctor 子命令,检测 Codex、Claude Code、DeepSeek Harness、Gemini CLI、Kimi Code、OpenCode 六种插件格式,检查清单、硬编码密钥、MCP 传输与命令、GitHub Actions 权限、锁文件等,输出 text/JSON/Markdown/SARIF 报告,并配套 GitHub Action(ai-plugin-scanner-action)做 CI 安全门禁。
- 在开发机上运行 Codex 或 Claude Code 的工程师,希望在实际执行 shell 命令前拦截 rm -rf 等破坏性操作。
- 使用 Cursor、Gemini CLI 等多种代理的团队,希望用统一策略和审批中心管理所有代理的敏感文件与凭证访问。
- 担心 npm 等生态恶意依赖的开发者,在安装前用
supply-chain scan评估软件包的供应链风险。 - 发布代理插件、技能或 MCP 集成的维护者,用
plugin-scanner scan/verify在 CI 中做安全与质量门禁。 - 需要审计追溯的安全团队,通过
hol-guard receipts和本地凭据回溯每个被允许或阻止的决策。
这个 Agent 有哪些优点和局限?
- 本地优先,无需账号即可运行防护、审批和决策记录,云端功能可选而非强制。
- 覆盖面广:一个工具同时防护 shell 命令、文件访问、软件包安装、插件/技能/MCP 服务器和提示注入。
- 通过原生钩子集成 Codex 等代理,且在托管启动时验证钩子存在,避免防护被静默绕过。
- plugin-scanner 提供 SARIF/JSON 等机器可读报告和配套 GitHub Action,可直接嵌入 CI 门禁。
- 需要 Python 3.10+ 和 pipx,Cisco 增强分析还需 Python 3.11–3.14 或 Docker,安装栈要求较多。
- 防护覆盖取决于各代理暴露的事件,支持矩阵显示不同集成的执行、审批和失败行为存在差异。
- 需要在每个代理上安装集成并经其钩子/代理接入,已有工作流需按代理逐一配置。
- 本地保护运行在开发机上;若要团队策略和机队可见性,需额外部署可选的 Guard Cloud。
如何安装或部署这个 Agent?
需要 Python 3.10 或更新版本和 pipx:
bash
pipx install hol-guard
hol-guard init首次运行向导会发现受支持的代理并引导完成防护设置。验证安装:
bash
hol-guard --version
hol-guard status更新现有安装:hol-guard update。插件扫描器单独安装:pipx install plugin-scanner。可选 Cisco 技能分析:pipx install 'plugin-scanner[cisco]'(Python 3.11–3.14);Cisco MCP 分析需用仓库 Docker 镜像或 uv sync --extra dev --extra cisco --group cisco-mcp --python 3.13。也可使用 ghcr 上的容器镜像。
如何使用这个 Agent?
对特定代理启用防护:hol-guard install codex,先试运行 hol-guard run codex --dry-run,再正式 hol-guard run codex。日常命令:hol-guard status(状态)、hol-guard doctor codex(诊断集成)、hol-guard diff codex(启动前检查变更)、hol-guard approvals(审批)、hol-guard command explain 'git clean -ndx'(不执行地检查命令)、hol-guard supply-chain scan(扫描依赖)、hol-guard abom --format (导出物料清单)、hol-guard connect(可选云同步)。扫描器用法:plugin-scanner scan .、plugin-scanner lint .、plugin-scanner verify .,支持 --format sarif --output plugin-scanner.sarif、--fail-on-severity high、--ecosystem claude 等。CI 中配合 hashgraph-online/ai-plugin-scanner-action 使用。
这个 Agent 与同类方案有什么区别?
README 将两个发行包的分工做了说明:hol-guard 用于保护本机上的代理运行时行为,plugin-scanner 用于发布前/CI 中检查插件包的安全与质量,二者由同一仓库发布、互相补充而非竞争。
常见问题
必须连接云服务才能用吗?
支持哪些 AI 代理?
为什么 Guard 暂停了我的命令?
hol-guard approvals 处理请求,用 hol-guard command explain '<命令>' 查看分类原因,用 hol-guard receipts 复查记录的决策。