☰
AI Agent 供应链安全:HOL Guard 如何拦截恶意 npm 与 PyPI 包安装
2026/10/23 1:43:05 网站建设 项目流程

【免费下载链接】hol-guard

Open-source antivirus for AI agents: block risky tools, secret access, prompt injection, malicious packages, MCP servers, plugins, and skills at runtime.

项目地址:https://gitcode.com/gh_mirrors/ho/hol-guard
点击查看免费下载

当 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 npm

scan会对当前工作区现有依赖给出"警告 / 复审 / 拦截"判定;explain可以针对单个包查询其 advisory 证据与生态覆盖度。目前npm 与 PyPI 生态为 Protected(完整保护)覆盖,Cargo / Go / Maven 等为 Beta。

想"试装不真装"?用 dry-run 预览某条安装会怎么被处理:

hol-guard protect npm install <package> --dry-run

Guard 的 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.

项目地址:https://gitcode.com/gh_mirrors/ho/hol-guard
点击查看免费下载
上一篇:Farfalle 开源项目教程:构建本地AI搜索引擎的完整指南
下一篇:MBUtil入门教程:从零开始学习MBTiles文件格式转换

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询