agent-bom

AI 与智能体

by msaad00

面向 AI 供应链安全的扫描器,支持 CVE 扫描、blast radius 分析、策略执行与 SBOM 生成。

什么是 agent-bom

面向 AI 供应链安全的扫描器,支持 CVE 扫描、blast radius 分析、策略执行与 SBOM 生成。

README

<p align="center"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/msaad00/agent-bom/main/docs/images/logo-dark.svg"> <img src="https://raw.githubusercontent.com/msaad00/agent-bom/main/docs/images/logo-light.svg" alt="agent-bom" width="360" /> </picture> </p> <p align="center"> <a href="https://github.com/msaad00/agent-bom/actions/workflows/ci.yml"><img src="https://img.shields.io/github/actions/workflow/status/msaad00/agent-bom/ci.yml?branch=main&style=flat&label=Build" alt="Build"></a> <a href="https://pypi.org/project/agent-bom/"><img src="https://img.shields.io/pypi/v/agent-bom?style=flat&label=Latest%20version&cacheSeconds=60" alt="PyPI"></a> <a href="https://hub.docker.com/r/agentbom/agent-bom"><img src="https://img.shields.io/docker/pulls/agentbom/agent-bom?style=flat&label=Docker%20pulls" alt="Docker"></a> <a href="https://github.com/msaad00/agent-bom/blob/main/LICENSE"><img src="https://img.shields.io/badge/License-Apache%202.0-blue?style=flat" alt="License"></a> <a href="https://securityscorecards.dev/viewer/?uri=github.com/msaad00/agent-bom"><img src="https://img.shields.io/ossf-scorecard/github.com/msaad00/agent-bom?style=flat&label=OpenSSF%20scorecard" alt="OpenSSF Scorecard"></a> <a href="https://glama.ai/mcp/servers/msaad00/agent-bom"><img src="https://img.shields.io/badge/MCP-Glama-7c3aed?style=flat" alt="agent-bom on Glama"></a> <a href="https://smithery.ai/servers/agent-bom/agent-bom"><img src="https://img.shields.io/badge/MCP-Smithery-1f6feb?style=flat" alt="agent-bom on Smithery"></a> </p> <!-- mcp-name: io.github.msaad00/agent-bom --> <p align="center"><b>Open security scanner and self-hosted control plane for AI, MCP, and cloud infrastructure.</b></p> <p align="center"> Scan from CLI, CI, Docker, or cloud connect on a control plane you run → centralize evidence → enforce runtime MCP/tool calls. One Finding + UnifiedGraph model across CLI, API, UI, and MCP. </p> <p align="center"> Brand lockup above is the product logo. The CLI prints the wordmark as text (<code>agent-bom</code>); the UI and <a href="https://demo.agent-bom.com">live demo</a> show the logo in app nav. </p> <p align="center"> <a href="https://demo.agent-bom.com"><b>Live demo</b></a> · <a href="https://msaad00.github.io/agent-bom/">Docs</a> · <a href="#quick-start"><b>Quick start</b></a> · <a href="#deploy--self-host"><b>Deploy</b></a> · <a href="docs/FIRST_RUN.md">First run</a> · <a href="https://github.com/marketplace/actions/agent-bom">GitHub Action</a> · <a href="https://hub.docker.com/r/agentbom/agent-bom">Docker</a> · <a href="https://github.com/msaad00/agent-bom/releases">Changelog</a> </p>

Quick start

Three commands to see value locally (no cloud account required):

bash
pip install agent-bom
agent-bom scan --demo --offline
# optional control plane (loopback UI + API)
pip install 'agent-bom[ui]' && agent-bom serve
  • Console report prints inventory, findings, and blast radius inline.
  • Optional file artifacts: -f html -o agent-bom-report.html (also json, sarif, SBOM).
  • Demo exit status 1 is expected — the sample includes blocking findings (same gate as CI).

Full walkthrough: docs/FIRST_RUN.md.

Who it is for

<p align="center"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/msaad00/agent-bom/main/docs/images/persona-value-dark.svg"> <img src="https://raw.githubusercontent.com/msaad00/agent-bom/main/docs/images/persona-value-light.svg" alt="agent-bom personas: Developers, AppSec, Platform / SRE, GRC / audit, and AI / MCP owners with matching outcomes" width="900" /> </picture> </p>
TeamStart hereOutcome
Developersagent-bom scan .Inventory, findings, blast radius before changes ship
AppSecagent-bom scan . -f sarif -o findings.sarifReachability triage, graph paths, CI gates
Platform / SREpip install 'agent-bom[ui]' && agent-bom serve or HelmCustomer-controlled API/UI, fleet evidence, runtime policy
GRC / auditagent-bom scan . -f json -o scan.json && agent-bom report compliance-narrative scan.jsonFramework mappings, signed bundles, review context
AI / MCP ownerspip install 'agent-bom[mcp-server]' && agent-bom mcp server or gateway serveTool inventory and allow/warn/block decisions

Evidence helper, not a GRC system of record, IAM, SIEM, or certification program. Boundaries: PRODUCT_BOUNDARIES.md.

How the tool works

Three product lanes on one Finding + UnifiedGraph model:

  1. Scan — CLI / CI / Docker / cloud connect → inventory, findings, SARIF/SBOM/HTML, graph
  2. Control planepip install 'agent-bom[ui]' && agent-bom serve → tenant UI/API, attack paths, compliance, audit (self-host with Docker or Helm + Postgres). Loopback is the default; non-loopback hosts need real auth or an explicit --allow-insecure-no-auth (env vars alone are not enough).
  3. Runtimeagent-bom gateway serve --from-control-plane http://127.0.0.1:8422 --bind 127.0.0.1:8090 → allow/warn/block on live MCP/tool calls

Discovery and static/cloud scanning are read-only. The control plane stores evidence; gateway/proxy modes make explicit policy decisions at a separate boundary.

<p align="center"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/msaad00/agent-bom/main/docs/images/how-it-works-dark.svg"> <img src="https://raw.githubusercontent.com/msaad00/agent-bom/main/docs/images/how-it-works-light.svg" alt="agent-bom three tool lanes: scan (CLI/CI/Docker/cloud connect), self-hosted control plane, and runtime gateway on one Finding + UnifiedGraph model" width="1100" /> </picture> </p>

One finding fans out to the MCP servers that load it, reachable tools, credential references, and agents that can reach it — not a CVE list in isolation.

<p align="center"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/msaad00/agent-bom/main/docs/images/blast-radius-dark.svg"> <img src="https://raw.githubusercontent.com/msaad00/agent-bom/main/docs/images/blast-radius-light.svg" alt="agent-bom blast radius: one package finding fans out to MCP servers, agents, secrets, and tools" width="900" /> </picture> </p>

See the product

Story order: Scan → Connect → Posture → Investigate → Enforce (findings + remediation together under Scan). Screenshots are the same UI as the live demo (logo in app nav). Capture notes: docs/CAPTURE.md.

Scan — findings and remediation

Findings queueRemediation
<img src="https://raw.githubusercontent.com/msaad00/agent-bom/main/docs/images/dependency-map-live.png" alt="Findings queue with severity, reachable agents, fixes, and review actions" width="430" /><img src="https://raw.githubusercontent.com/msaad00/agent-bom/main/docs/images/remediation-live.png" alt="Prioritized remediation with risk reduction, ownership, and verification" width="430" />

Connect — sources and new scan

ConnectionsNew scan
<img src="https://raw.githubusercontent.com/msaad00/agent-bom/main/docs/images/cloud-accounts-live.png" alt="Connections hub across cloud, code, AI, and data sources" width="430" /><img src="https://raw.githubusercontent.com/msaad00/agent-bom/main/docs/images/new-scan-live.png" alt="New Scan workspace with collector plan and read-only boundary" width="430" />

Posture — risk overview

<p align="center"> <img src="https://raw.githubusercontent.com/msaad00/agent-bom/main/docs/images/dashboard-live.png" alt="Overview with posture grade, findings, and operations" width="820" /> </p>

Investigate — lineage, mesh, context

Three graph lenses tell different stories: package-level lineage, multi-agent mesh overlap, and lateral context — not three copies of the same CVE chain.

Lineage (package hop)Agent mesh (shared MCP)
<img src="https://raw.githubusercontent.com/msaad00/agent-bom/main/docs/images/lineage-graph-live.png" alt="Lineage graph focused on developer-copilot, GitHub MCP, next package version, and DEMO-VULN finding with labeled edges" width="430" /><img src="https://raw.githubusercontent.com/msaad00/agent-bom/main/docs/images/mesh-live.png" alt="Agent mesh showing developer-copilot and sre-runbook-agent converging on shared filesystem MCP with relationship labels" width="430" />
Investigation drilldown: agent → MCP → next@ → critical finding.Two agents, one shared server — tools and credentials in the same frame.
<p align="center"> <img src="https://raw.githubusercontent.com/msaad00/agent-bom/main/docs/images/context-map-live.png" alt="Context map with path focus off: repo-write tool, GitHub credential, MCP servers, and agent lateral links" width="820" /> </p> <p align="center"><em>Context map: neighborhood topology (tools, creds, servers) — not the same hero CVE strip as lineage.</em></p> <details> <summary><b>Attack path</b> — prioritized path with export/handoff chrome</summary> <p align="center"> <img src="https://raw.githubusercontent.com/msaad00/agent-bom/main/docs/images/security-graph-live.png" alt="Prioritized attack path connecting identity, agent, MCP server, package, and critical finding" width="820" /> </p>

Path view is a single-row hop strip (scroll horizontally on long chains).

</details>

Enforce — runtime gateway

<p align="center"> <img src="https://raw.githubusercontent.com/msaad00/agent-bom/main/docs/images/gateway-policies-live.png" alt="Runtime gateway KPI rollup and tool-call feed" width="820" /> </p> <details> <summary><b>CLI walkthrough</b> — 0.98.0 console demo</summary> <p align="center"> <img src="https://raw.githubusercontent.com/msaad00/agent-bom/main/docs/images/demo-latest.gif" alt="agent-bom terminal demo showing inventory, findings, remediation, and package gate" width="820" /> </p>

In the terminal the brand is the text wordmark (agent-bom), not the SVG logo. Seeded requests typosquat produces an expected non-zero security-gate exit — a demonstrated finding, not a failed recording.

</details>

Deploy & self-host

You run the control plane in your own boundary (no managed public SaaS in this repo yet):

bash
curl -fsSL https://raw.githubusercontent.com/msaad00/agent-bom/main/deploy/docker-compose.pilot.yml -o docker-compose.pilot.yml
docker compose -f docker-compose.pilot.yml up -d
# Dashboard -> http://localhost:3000

Pilot compose binds 127.0.0.1 with loopback CORS. Before sharing a link, use docker-compose.platform.yml or docs/HOSTED_POC.md.

TargetStart here
Docker Composepilot compose
Helm / Kubernetescharthelm install agent-bom oci://ghcr.io/msaad00/charts/agent-bom --version 0.98.0
EKSTerraform module
CloudFormationtemplates
Snowflake SPCSinstall guide

Guides: Deploy anywhere · deployment overview · HOSTED_POC.

<details> <summary><b>Surfaces and entry points</b></summary>
NeedFirst actionArtifact
Scan repo / image / agent configagent-bom scan . or GitHub ActionJSON, SARIF, SBOM, HTML
Cloud / data estateagent-bom connect aws then agent-bom cloud scanassets, CIS findings, graph edges
Team posture UIpip install 'agent-bom[ui]' && agent-bom servefindings, graph, audit, compliance
MCP tools for agentspip install 'agent-bom[mcp-server]' && agent-bom mcp serverstrict MCP tool responses
Skills playbooksdocs/skills/ · OpenClaw / Cortex wrappers under integrations/first command → findings / SBOM
Runtime tool governanceagent-bom gateway serve --from-control-plane http://127.0.0.1:8422 --bind 127.0.0.1:8090allow/warn/block audit
Audit packageagent-bom scan . -f sarif -o findings.sarifSARIF, CycloneDX, SPDX, bundles

Also: agent-bom graph, agent-bom remediate -p ., CI pin uses: msaad00/agent-bom@v0.98.0. Maps: CLI · start here · product map.

</details> <details> <summary><b>Auth, connectors, and architecture</b></summary>

Control plane: connect once; later jobs use the stored connection reference. Humans: OAuth / OIDC / SAML (+ Snowflake OAuth PKCE) and SCIM. Agents/CI: scoped API keys. Secrets are write-only (encrypted at rest, never read back). Non-loopback deploys terminate TLS at the edge; API/UI stay on loopback or a private network.

Cloud connectors (opt-in, default-off, no secret values read):

CloudEnableScan
AWSAGENT_BOM_AWS_INVENTORY=1agent-bom cloud aws
AzureAGENT_BOM_AZURE_INVENTORY=1agent-bom cloud azure
GCPAGENT_BOM_GCP_INVENTORY=1agent-bom cloud gcp
SnowflakeSSO or key-pairpip install 'agent-bom[snowflake]' then agent-bom scan --snowflake

CLOUD_CONNECT.md · DATA_SOURCES.md · ENTERPRISE.md.

Accuracy: match tiers distro_confirmed > osv_range > osv_ecosystem > unfixed_distro > nvd_cpe_candidate. End users do not need an NVD API key; NVD_API_KEY is an optional operator freshness knob. MCP server mode exposes 77 MCP tools, 6 resources, and 8 workflow prompts over strict arguments. Agent distribution includes a committed Smithery manifest; external catalog liveness is verified separately. Deep dive: ARCHITECTURE.md · vulnerability matching.

</details>

Trust

  • Read-only discovery by default; no mandatory telemetry
  • Credential values redacted; env names kept for explainable exposure paths
  • Exports: JSON, SARIF, CycloneDX, SPDX, Parquet, CSV, Markdown, HTML, PDF, compliance bundles
  • Tenant scope, auth boundaries, and audit evidence on API/runtime paths

Threat model · Pentest readiness · Python client · Go client · Release verification · MCP security model

Contributing

Start with CONTRIBUTING.md, AGENTS.md, and the open issues. Community chat: Discord.

License: Apache-2.0.

常见问题

agent-bom 是什么?

面向 AI 供应链安全的扫描器,支持 CVE 扫描、blast radius 分析、策略执行与 SBOM 生成。

相关 Skills

Claude接口

by anthropics

Universal
热门

面向接入 Claude API、Anthropic SDK 或 Agent SDK 的开发场景,自动识别项目语言并给出对应示例与默认配置,快速搭建 LLM 应用。

想把Claude能力接进应用或智能体,用claude-api上手快、兼容Anthropic与Agent SDK,集成路径清晰又省心

AI 与智能体
未扫描164.6k

RAG架构师

by alirezarezvani

Universal
热门

聚焦生产级RAG系统设计与优化,覆盖文档切块、检索链路、索引构建、召回评估等关键环节,适合搭建可扩展、高准确率的知识库问答与检索增强应用。

面向RAG落地,把知识库、向量检索和生成链路系统串联起来,做架构设计时更清晰,也更少踩坑。

AI 与智能体
未扫描23.3k

多智能体架构

by alirezarezvani

Universal
热门

聚焦多智能体系统架构设计,梳理 Supervisor、Swarm、分层和 Pipeline 等模式,覆盖角色定义、通信协作与性能评估,适合规划稳健可扩展的 AI agent 编排方案。

帮你系统解决多智能体应用的架构设计与协同编排难题,适合构建复杂 AI 工作流,成熟度高、社区认可也很亮眼。

AI 与智能体
未扫描23.3k

相关 MCP Server

知识图谱记忆

编辑精选

by Anthropic

热门

Memory 是一个基于本地知识图谱的持久化记忆系统,让 AI 记住长期上下文。

帮 AI 和智能体补上“记不住”的短板,用本地知识图谱沉淀长期上下文,连续对话更聪明,数据也更可控。

AI 与智能体
89.0k

顺序思维

编辑精选

by Anthropic

热门

Sequential Thinking 是让 AI 通过动态思维链解决复杂问题的参考服务器。

这个服务器展示了如何让 Claude 像人类一样逐步推理,适合开发者学习 MCP 的思维链实现。但注意它只是个参考示例,别指望直接用在生产环境里。

AI 与智能体
88.1k

by deusdata

热门

持久化的代码库知识图谱,可跨会话保留上下文,在 session 重启或上下文压缩后仍能继续使用。

专治 AI 编程助手“会话失忆”,把代码库沉淀为持久知识图谱,重启或压缩上下文后也能无缝续上开发状态。

AI 与智能体
26.9k

评论