agent-bom scan

🛡️ AI供应链安全扫描 · 零凭据架构

开源AI供应链安全扫描器,支持CVE检测、容器镜像扫描、SBOM生成与Sigstore溯源验证,专为Agentic/MCP基础设施设计

收藏
7.7k
安装
2.6k
版本
0.89.2
CLS 安全性认证2026-08-09
点击查看完整报告 >

使用说明

agent-bom-scan 综合评估

核心用法

agent-bom-scan 是一款面向 AI 智能体基础设施的开源安全扫描工具,专注于软件供应链安全。核心功能涵盖八大模块:

  • `check`:单包 CVE 检测,集成 OSV、NVD、EPSS、KEV、GitHub Advisories 五大漏洞数据库
  • `scan`:完整发现 + 漏洞扫描流水线,自动识别本地 Agent/MCP 配置
  • `blast_radius`:CVE 影响链映射,分析跨 Agent、Server、凭据的传播风险
  • `remediate`:基于风险的优先修复建议
  • `verify`:Sigstore/SLSA 溯源验证,确保包完整性
  • `diff`:扫描报告对比,识别新增/修复/持续存在的漏洞
  • `where`:MCP 客户端配置发现路径展示
  • `inventory`:Agent、Server、依赖包资产清单

支持原生容器镜像扫描(无需外部工具)、CycloneDX/SPDX SBOM 生成、SARIF/JSON/Markdown/HTML 多格式输出。

显著优点

1. 零凭据安全架构

  • 核心功能无需 API Key,可选环境变量仅提升查询速率
  • sanitize_env_vars() 强制脱敏:所有环境变量值在配置处理前替换为 ***REDACTED***
  • 本地优先扫描:仅公开包名和 CVE ID 外发,凭据/配置文件/扫描结果绝不离开本机

2. Agentic 生态深度集成

  • 自动发现 Claude Desktop、Cursor、Windsurf、Cline、VS Code Copilot、Goose、Continue、Zed、Amazon Q、JetBrains AI 等 15+ 主流 AI 客户端的 MCP 配置
  • 支持项目级 .mcp.json.vscode/mcp.json 等配置扫描

3. 供应链全链路覆盖

  • 包漏洞(CVE)→ 容器镜像 → 溯源验证 → SBOM 生成 → 影响半径分析
  • Sigstore 签名验证,SLSA 合规
  • 7,100+ 单元测试,OpenSSF Scorecard 集成

4. 企业级输出格式

  • SARIF 支持代码扫描平台集成
  • CycloneDX/SPDX 标准 SBOM 格式
  • CI/CD 闸门模式:--fail-on-severity high

潜在局限

1. 漏洞数据依赖公共源

  • 严重依赖 OSV/NVD/EPSS 的公开数据时效性
  • 私有仓库/内部包无覆盖能力

2. 容器扫描深度有限

  • 原生镜像扫描聚焦 OS 包层,对应用层依赖解析不如专门工具(如 Snyk Container、Trivy)深入

3. 修复建议自动化不足

  • remediate 输出为优先级计划,不自动执行补丁或 PR 创建

4. 网络端点硬性依赖

  • 必须连通 api.osv.dev、services.nvd.nist.gov 等,离线环境不可用

适合人群

| 场景 | 推荐理由 |
|------|---------|
| AI 应用开发者 | 快速审计 MCP/Agent 依赖安全,防止供应链投毒 |
| DevSecOps 工程师 | 轻量集成 CI/CD,SARIF 输出对接 GitHub Advanced Security |
| 开源维护者 | 为发布包提供可验证的 SBOM 和 Sigstore 签名 |
| 安全审计团队 | 批量扫描开发团队 AI 工具链配置,评估爆炸半径 |
| 合规人员 | 生成标准 SBOM,满足 SLSA/SSDF 要求 |

常规风险

  • 误报处理UNKNOWN 严重度需人工复核,不可视为安全
  • 扫描范围外扩:工具会读取用户主目录下 AI 客户端配置,需确认 ~/* 扫描授权
  • NVD 速率限制:无 API Key 时查询受限,关键漏洞可能延迟获取 CVSS v4 评分
  • EPSS 预测局限:利用概率分数为统计模型,非确定性安全评估
  • MCP 配置解析:读取多格式 JSON/YAML 配置,虽经脱敏处理,仍存在解析异常风险

安全解读

核心用法

agent-bom-scan 是一款专为 AI Agent 基础设施打造的开源安全扫描工具,通过 MCP 协议与主流 AI 客户端集成。用户可通过自然语言指令触发多种扫描场景:

包级漏洞检测check 工具支持查询指定包版本在 PyPI/npm 等生态中的 CVE 漏洞,聚合 OSV、NVD、EPSS、KEV 四大权威数据库的评分数据,返回 CVSS v4 标准的风险评估。

容器镜像原生扫描image 命令无需依赖外部扫描器,直接解析镜像层中的软件包清单,识别已知漏洞组件,支持 Docker Hub 和私有镜像仓库。

MCP 生态依赖图谱agents 命令自动发现 Claude Desktop、Cursor、Windsurf、Cline 等 15+ 主流 MCP 客户端的配置文件,构建完整的依赖关系网络,评估"爆炸半径"。

软件物料清单生成sbom 工具输出符合 CycloneDX/SPDX 标准的 SBOM 文件,满足供应链安全合规审计要求。

数字签名验证verify 工具集成 Sigstore 生态,验证包的 SLSA provenance 声明,防范供应链投毒攻击。

显著优点

零信任安全架构:无需任何 API 密钥即可运行基础扫描,可选环境变量仅用于提升速率限制,且采用显式声明策略——sanitize_env_vars() 函数在数据处理前将所有环境变量值替换为 ***REDACTED***,仅传递服务器名称、命令、URL 等结构数据,从源头杜绝凭证泄露风险。

本地优先隐私设计:所有扫描计算在本地完成,仅向公共漏洞数据库发送包名和 CVE ID,扫描结果和配置文件内容永不离开用户设备,零遥测、零追踪、零分析。

多维度威胁情报整合:同时对接 Google OSV、NIST NVD、FIRST EPSS、GitHub Security Advisories 四大权威源,不仅提供 CVSS 基础分,还整合 EPSS 利用概率预测和 KEV 已知利用漏洞标签,实现风险优先级排序。

CI/CD 原生集成:支持 SARIF、JSON、HTML、Markdown、CycloneDX、SPDX 六种输出格式,可直接接入 GitHub Advanced Security、GitLab SAST、Jenkins 等流水线,实现自动化安全门禁。

爆炸半径可视化blast_radius 工具可映射 CVE 在整个 Agent 生态中的影响链,识别跨服务、跨凭证的级联风险,超越传统单点扫描的视野局限。

潜在缺点与局限性

Python 版本门槛:要求 Python 3.11+,部分旧系统可能需要额外升级,对容器化部署环境有一定约束。

网络依赖型查询:虽然扫描计算本地执行,但漏洞数据库查询需联网,离线环境无法获取最新 CVE 数据。

MCP 客户端覆盖盲区:尽管支持 15+ 主流客户端,但新兴或小众 MCP 实现可能不在自动发现范围内,需手动指定配置文件路径。

静态分析的固有局限:对于无 CVE 记录的 0day 漏洞、业务逻辑缺陷或配置错误类风险无法检测,需配合 Semgrep 等工具增强覆盖。

权限边界提示:扫描用户主目录外的路径时会主动询问确认,这可能中断自动化脚本流程,需提前配置允许列表。

适合的目标群体

AI 应用开发团队:使用 LangChain、LlamaIndex 等框架构建 Agent 应用的开发者,需要在 CI 流程中阻断存在已知 CVE 的依赖版本。

MCP 生态运营者:管理多个 AI 客户端配置的安全工程师,需要统一视图掌握跨平台的 MCP 服务器和依赖资产。

DevSecOps 工程师:负责软件供应链安全的团队,需要生成合规 SBOM、验证数字签名、集成到现有安全运营流程。

开源项目维护者:需要向用户证明项目依赖安全性的社区贡献者,可通过 Sigstore 签名建立信任锚点。

企业安全合规部门:需要满足 NIST SSDF、SLSA 等供应链安全框架审计要求的组织。

常规使用风险

性能开销:大型代码库或容器镜像的完整扫描可能产生显著 I/O 负载,建议在非生产时段或隔离资源上执行批量扫描任务。

依赖项版本漂移agent-bom CLI 工具的更新频率需关注,扫描器本身的漏洞可能影响检测结果准确性,建议通过 pipx 隔离安装并启用自动更新。

可选二进制组件:Semgrep 和 kubectl 作为增强功能的可选依赖,若系统路径中存在恶意替换版本可能导致误报或漏报,建议校验二进制签名。

API 速率限制:无 API 密钥模式下,NVD 等公共接口的请求频率受限,大规模扫描任务可能触发限流,需规划批处理策略或申请免费 API 密钥。

配置读取范围透明性:工具会主动读取多种 MCP 客户端配置,虽经脱敏处理,但用户应知晓此行为边界,避免在共享环境中产生隐私顾虑。

agent-bom scan 内容

手动下载zip · 5.2 kB
skill-card.mdtext/markdown
请选择文件