
agent-bom v0.97.4
开放安全扫描器及自托管控制平面,用于AI、MCP和云。单一证据模型——在您的环境中运行扫描,集中发现结果,在您的VPC中进行治理。
支持的后端因能力而异。能力矩阵。
将分散的基础设施证据转化为按优先级排序、相互关联且可验证的行动
面向 AI、MCP 和云基础设施的开放安全扫描器与自托管控制平面。
从本地仓库、镜像、SBOM 或 MCP 配置开始,或在自托管控制平面中连接只读基础设施源。将原始数据、凭据、发现结果和策略决策保留在您自己的环境中。
从证据源到已验证的行动
安全团队很少缺少扫描器。他们缺少的是一个可信的统一视图,能够回答:扫描了什么、发现了什么、哪些发现结果真正与关键系统相关联、谁负责修复,以及修复是否有效。
agent-bom 通过两条诚实的入口路径闭合这一循环:
| 起点 | 首个操作 | 由什么生成清单 |
|---|---|---|
| 仓库、镜像、SBOM、工作站或 MCP 配置 | 运行本地或 CI 扫描——无需连接 | 扫描器读取目标,并同时输出清单、发现结果、来源和图形证据 |
| AWS、Azure、GCP、Snowflake、Kubernetes 或其他托管源 | 在自托管控制平面中添加只读连接,然后运行或计划扫描 | 连接定义范围和凭据;扫描收集源并创建清单快照 |
两条路径在收集后汇合:将证据规范化为相同的 Finding + UnifiedGraph 契约,关联可达风险,分配负责人和 SLA,然后重新扫描以验证结果。清单始终是具名目标或已连接源的输出——绝不是无法解释的预加载数据。
产品承诺: 今天从一个有用的产物开始;随着您在自有环境中添加 CI、已连接源、历史记录、任务分配、合规导出和运行时强制执行,保持相同的证据模型。
快速开始 · 证据工作流 · 集成能力矩阵 · 实测匹配器证明 · 控制平面架构
产品证明:独立证据,一条可验证路径
以下视图来自已提交的 参考证据实验室——建模的本地基础设施。无凭据运行使用真实仓库、CycloneDX、Kubernetes IaC 和 MCP 解析器,以及针对 [email protected] / CVE-2023-4863 的内置公告扫描器,然后关联精确的 OCI 摘要、Kubernetes UID、MCP 工具、工作负载身份和实时本地网关回执。这不是客户证据,也不是实时云声明。
调查会自动加载最新完成的关联,并首先展示从源到路径的旅程。自定义快照选择仍作为显式高级工作流提供,并显示新鲜度策略。
结果路径之所以被确认,仅因为每个有向跳转都是可遍历且有来源支撑的:暴露的服务 → 工作负载 → 摘要固定的容器 → [email protected] / CVE-2023-4863 → MCP 能力 → 工作负载身份 → 建模的敏感对象存储。同一实验室在修复交接前记录了一次观察到的网关调用和一次单独的严格选择加入阻断。
按角色划分的价值
| 角色 | 从这里开始 | 主要成果 |
|---|---|---|
| 开发者 / AI 工程师 | agent-bom scan . | 查看依赖、密钥、IaC、代理、MCP,以及 Click、Flask 或 FastAPI 入口点是否能在发布前触达易受攻击的包 |
| AppSec / 产品安全 | agent-bom agents --gha . --offline | 清点远程操作和可复用工作流及其引用、来源和 CI 加固发现结果 |
| 云安全 | 添加只读连接,然后运行扫描 | 构建具有明确覆盖范围和来源的范围化云、身份和态势清单 |
| 平台 / DevOps | pip install 'agent-bom[ui]' && AGENT_BOM_NO_AUTH_ROLE=analyst agent-bom serve --persist ~/.agent-bom/control-plane.db | 计划扫描、集中证据、分配负责人和 SLA,并验证修复 |
| GRC / 审计 | agent-bom report compliance-narrative scan.json | 导出映射证据,同时保留不可用、部分和未评估状态 |
| CISO / 工程负责人 | 在自托管图中打开 Architecture | 比较观察到的 Current 状态与建模的 Proposed 和 Difference 视图;提案仍标记为未观察或未部署 |
安全工程和 GRC 保持为独立工作流:发现结果和可达性不会作为审计认证呈现。参见产品边界。GitHub Actions 收集和凭据要求记录在权限中;场景真实性边界由图契约定义。
快速开始
选择能证明价值的最小路径。仓库、镜像、SBOM、工作站或 MCP 配置扫描无需账户或控制平面。
路径 A — 立即扫描,无需连接
离线示例无需下载公告数据库即可完成,并展示清单、发现结果、可达路径和修复输出形态。
pip install agent-bom
agent-bom scan --demo --offline
该示例有意包含一个已知恶意包,因此退出状态 1 是预期结果,且打印的报告是完整的。接下来扫描一个仓库:
agent-bom scan .
仓库扫描会显示清单、发现结果和可达影响。agent-bom scan . 和 agent-bom scan -p . 是同一命令;PATH 是 --project 的别名。
路径 B — 连接源,然后扫描
当源是账户或平台而非本地目标时,使用此路径。启动客户控制的控制平面,打开 Connections,添加提供商的只读授权,然后运行首次扫描。浏览器流程默认在验证后执行一次显式首次扫描;计划扫描是操作员的显式选择加入。
pip install 'agent-bom[ui]'
AGENT_BOM_NO_AUTH_ROLE=analyst agent-bom serve --persist ~/.agent-bom/control-plane.db
显式 SQLite 路径可在重启后同时保留扫描作业、发现结果、合规历史和图清单。仅在有意使用临时进程时省略 --persist。显式本地 analyst 角色允许此回环操作员运行扫描;服务器的默认匿名角色仍为只读。
对于无头引导,agent-bom connect <provider> 会打印确切的授权、凭据边界、验证步骤和下一次扫描命令。云连接指南记录了 AWS、Azure、GCP 和 Snowflake,包括组织范围和调度器行为。
需要断开连接的扫描?首先填充最小的包公告数据库:
agent-bom db update --osv-ecosystem PyPI
agent-bom scan . --offline
如果该数据库缺失或不可读,扫描会在设置 -o 时写入部分产物并以 1 退出;因此 CI 不会将不可用的公告覆盖误认为干净扫描。
在全新数据库上,该命令仅覆盖所选生态系统;其他生态系统的包仍为显式离线覆盖缺口。对于多语言仓库,重复 --osv-ecosystem,或使用 agent-bom db update --source osv 获取 OSV 的全生态系统归档。完整归档可能超过 1 GB,可能需要数分钟,并在服务器提供时显示实时进度和确切总数。当您还需要发行版、利用概率和已知被利用漏洞源时,运行更广泛的 agent-bom db update。
非零退出是判定,不是崩溃。 当没有任何内容匹配门禁时,scan 退出 0;当有内容匹配时退出 1——您设置的 --fail-on-* 阈值、已知恶意包,或未完成的扫描。无论哪种情况,报告都会完整打印,最后一行会指明匹配的门禁。完整的退出码契约。
使用 agent-bom scan . -f sarif -o findings.sarif 保存产物,或按照首次运行指南了解格式和 CI 用法。
日常开发者循环
无需安装即可试用扫描器,然后在添加包之前检查它:
uvx agent-bom scan .
uvx agent-bom check [email protected] --ecosystem pypi
check 返回允许/不安全/不完整的安装前判定;scan 覆盖仓库以及发现的 AI/MCP 配置。要让依赖和密钥门禁对团队自动生效,请固定随附的消费者钩子:
repos:
- repo: https://github.com/msaad00/agent-bom
rev: v0.103.2
hooks:
- id: agent-bom-secrets
- id: agent-bom-scan

