【免费下载链接】hol-guard
Open-source antivirus for AI agents: block risky tools, secret access, prompt injection, malicious packages, MCP servers, plugins, and skills at runtime.
当 AI Agent 替你写代码、跑命令时,它也可能替你"中招"。HOL Guard 是一款开源的 AI Agent 安全卫士(open-source antivirus for AI agents),能在运行时拦截恶意 npm 与 PyPI 包安装、危险命令、密钥泄露与提示词注入,是守护 AI Agent 供应链安全的一层本地防护。
一、为什么 AI Agent 会带来新的供应链攻击面 🕳️
传统开发中,npm install或pip install由人手动敲下,装什么包一眼可见。而在 AI Agent 工作流里(Codex、Claude Code、Cursor 等),Agent 会自主决定并执行安装命令,攻击者随之获得了新的入口:
- 抢注包名(Typosquatting):伪造一个和热门库只差一个字母的包名,Agent 拼写稍有偏差就装到恶意包;
- 安装脚本投毒:恶意包的
postinstall/preinstall生命周期脚本在安装瞬间执行,可窃取环境变量里的 API Key; - 依赖混淆:把恶意依赖藏在二级、三级传递依赖中,lockfile 稍有漂移即可混入。
HOL Guard 的定位正是填补这个空白:它在 Agent 动作真正执行之前进行审查,把供应链风险挡在安装落盘之前。项目主文档 README.md 中描述其能力为:
"Open-source antivirus for AI agents: block risky tools, secret access, prompt injection, malicious packages, MCP servers, plugins, and skills at runtime."
二、HOL Guard 拦截恶意包安装的三道关卡 🛡️
关卡 1:安装命令执行前就已被接管
HOL Guard 通过两条通道确保包安装命令逃不掉审查:
- 原生 Agent 钩子:以 Codex 为例,
hol-guard install codex会在 Agent 配置中启用 Guard 拥有的PreToolUse钩子,Agent 的每条 Bash 命令在 shell 启动前就交给 Guard 判断,详见 docs/guard/get-started.md; - Package Firewall(包防火墙)+ 包管理器 shim:对 npm、npx、pnpm、yarn、bun、pip、uv、poetry 等十余种包管理器进行统一拦截,覆盖矩阵见 docs/guard/command-package-extension-coverage.md。
也就是说,npm install <恶意包>这条命令在 Guard 面前根本没有"悄悄执行"的机会。
关卡 2:供应链情报检查——四类信号会立即叫停安装
安装前,Guard 会拿包和它的依赖去比对供应链情报。根据 docs/guard/package-review-settings.md,以下信号在默认balanced级别下会直接暂停或阻止安装:
| 风险信号 | 对应场景 |
|---|---|
| 已知漏洞 / 安全通告 | 包本身或其依赖命中 advisory(实时情报来自 Guard Cloud,离线时用本地缓存) |
| 策略包中的恶意/封禁包 | 命中 malware 或 blocked 名单 |
| 完整性校验失败 | 如 lockfile 哈希与实际不符 |
| Guard 自身被非官方源安装 | 防止攻击者通过"替换 Guard 自己"来关闭防线 |
其余情况(Guard 无法识别的包、lockfile 尚未锁定的依赖、直连 Git/URL 安装、自定义仓库等)不会误伤,但都会被记录并持续跟踪新的威胁情报。
关卡 3:按策略放行、复审或拦截
每个风险信号对应一个可配置的动作。默认balanced级别追求"日常依赖工作不打扰、有证据才拦截",而strict和paranoid可以逐级收紧:
allow:记录后放行;require-reapproval(需再次审批):如postinstall脚本类信号,balanced 级别是警告,strict 级别改为必须人工批准;block:直接拦截,paranoid 级别下所有包安装都要过审。
本地 Dashboard 的 Extensions 页面会实时显示当前设备的保护状态("Guard is actively applying the trusted protection settings"),并管理检测到的扩展连接:
三、快速上手:3 步启用 AI Agent 包安装防护 🚀
前置要求:Python 3.10+ 与 pipx(pipx 本身即可通过系统包管理器安装)。
第 1 步:安装 HOL Guard
pipx install hol-guard如果希望从源码构建,可先克隆仓库:
git clone https://gitcode.com/gh_mirrors/ho/hol-guard第 2 步:运行首次引导
hol-guard init向导会逐项询问并获得你批准后才执行:打开本地 Dashboard、接入你使用的 Agent(如hol-guard install codex)、可选的 Guard Cloud 连接。全程"先展示计划,再逐个副作用确认",不会偷偷改动系统。
第 3 步:体检工作区依赖
hol-guard supply-chain sync hol-guard supply-chain scan hol-guard supply-chain explain minimist@1.2.5 --ecosystem npmscan会对当前工作区现有依赖给出"警告 / 复审 / 拦截"判定;explain可以针对单个包查询其 advisory 证据与生态覆盖度。目前npm 与 PyPI 生态为 Protected(完整保护)覆盖,Cargo / Go / Maven 等为 Beta。
想"试装不真装"?用 dry-run 预览某条安装会怎么被处理:
hol-guard protect npm install <package> --dry-runGuard 的 Test Lab 还支持在不执行任何命令的前提下,本地推演某条命令会被拦截、放行还是触发审批:
四、被拦截后:审批、追溯与审计 🔍
- 审批:交互式终端下会原地询问;非交互场景下 Guard 把请求排入本地审批中心,用
hol-guard approvals查看,hol-guard approvals approve <request-id>批准或deny拒绝,会话不会"卡死"; - 追溯:
hol-guard receipts查看全部本地决策记录,hol-guard diff <harness>对比自上次快照以来的变化; - 审计导出:
hol-guard abom --format json可导出一份 AI 物料清单(AI-BOM),附给审计或交接使用。
五、进阶:按需调紧供应链安全策略 ⚙️
在 Dashboard 设置页或config.toml的[risk_actions]段中,可为每类信号单独定级:
[risk_actions] package_install = "require-reapproval" # 每次包安装都需人工确认可调的信号包括:未识别包、lockfile 漂移、直连包源、自定义仓库、包生命周期脚本、以及"每一次安装"总开关,完整对照表见 docs/guard/package-review-settings.md。
另外,Guard 还会为技能、MCP server、插件查询 HOL Registry 的信任分,低于 80 分的产物会自动进入low_trust_artifact复审——供应链防护不止于 npm 和 PyPI。
小结 🧭
| 问题 | HOL Guard 的答案 |
|---|---|
| Agent 装到恶意 npm/PyPI 包怎么办? | 安装执行前比对供应链情报,命中即拦截或送审 |
| 会不会误伤日常依赖? | 默认 balanced 级别"有证据才拦",其余只记录观察 |
| 想更严格怎么办? | strict / paranoid 级别 + 逐信号自定义动作 |
| 出了事怎么查? | receipts 决策记录 + AI-BOM 审计导出 |
对使用 AI Agent 的开发者而言,供应链安全的重心已经从"人审依赖"转向"Agent 行为运行时防护"。HOL Guard 本地优先、无需注册即可使用,配合可选的 Guard Cloud 团队协作,是目前少有的把包安装拦截、命令审查与提示词注入防御做在同一层防护中的开源方案。更多上手细节可查阅 docs/guard/get-started.md,各 Agent 的接入覆盖度见 docs/guard/harness-support.md。
【免费下载链接】hol-guard
Open-source antivirus for AI agents: block risky tools, secret access, prompt injection, malicious packages, MCP servers, plugins, and skills at runtime.
相关推荐
鸣潮自动清日常实操:ok-ww 把日常、自动战斗和刷声骸交给程序
鸣潮自动清日常实操:ok ww 把日常、自动战斗和刷声骸交给程序 委托加深塔加声骸副本,手工清一遍日常至少小半个钟头,这期间你还不能碰键盘。ok ww 就是干这
RPA计算机视觉Doory如何拦截恶意包:CRDT协议安全加固全解析
Doory如何拦截恶意包:CRDT协议安全加固全解析 Doory 是一个开源的 Canva 替代品(open source canva alternative)
Yarn Berry供应链安全:防范恶意依赖包
Yarn Berry供应链安全:防范恶意依赖包 你是否曾因项目依赖包被植入恶意代码而导致数据泄露?是否在安装依赖时担心引入未知风险?本文将带你了解如何利用Yar
开发工具CLI
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考