agent-bom

io.github.msaad00由 GitHub 帳號 msaad00 發布v0.109.0更新於 Nov 1, 2026

Scan AI/MCP dependencies, descriptor injection, risky tool inputs and authentication configuration.

概覽

AI 產生的概覽

本機 MCP 伺服器,向助理開放 agent-bom 安全掃描能力:AI/MCP 供應鏈 BOM、相依套件漏洞通告、代理暴露面與 CVE 影響查詢。

可以做什麼
  • 依漏洞編號查詢已保存掃描中的受影響資產,含修補目標與影響範圍
  • 產生並檢視 SBOM、AI-BOM 與 Agent-BOM 清單,串接代理、MCP 伺服器、工具、憑證與套件
  • 關聯代理、MCP 伺服器與套件,追蹤每個代理可觸及的資源與相關發現
  • 比對掃描前後結果,檢視暴露證據與證據缺口
  • 透過命令列或 CI 執行相依套件檢查與掃描,匯出 SARIF、CycloneDX、SPDX、JSON 與 HTML
適用情境
適合應用安全與平台工程師,讓編碼助理直接回答專案是否可發布、新 CVE 是否影響已掃描資產、代理的 MCP 設定能觸及什麼等問題,不必人工閱讀報告。
執行需求
以 Python 套件形式透過 uvx 在本機執行(需安裝 uv);本機掃描不需帳號。可選設定 NVD_API_KEY 環境變數以提高漏洞資訊補充的速率上限。漏洞資料來自 OSV、NVD、KEV 與 EPSS,更新時需要網路存取。
安裝前請注意
掃描會讀取專案檔案、本機 MCP/代理設定,若設定了雲端帳號也會讀取雲端資源;預設為唯讀,但明確啟用的磁碟旁路掃描會建立暫存雲端資源。報告與關係圖僅為證據,不代表漏洞已被利用,也不等於安全結論。可選的 NVD_API_KEY 屬於機密。執行期代理與閘道模式可檢查甚至攔截即時 MCP 工具呼叫。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 agent-bom,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

[agent-bom — Discover. Scan. Correlate. Act. Security evidence across repositories, software supply chains, AI and MCP, cloud, identity, and data.]

[Build] [PyPI] [Python 3.11 through 3.14]

[Apache-2.0 license] [OpenSSF Scorecard]

AI supply-chain BOM: every agent, MCP server and AI package, and what each one can reach.

For AppSec and platform engineers. Self-host free; local scans need no account.

Quick start · All integrations · Sample graph · Self-host · Product tour · Docs

Quick start

From the repository you want to inspect, with uv installed:

bash
uvx agent-bom scan . --no-discover -f html -o agent-bom-report.html

Measured on real repositories: 299 of 299 OSV advisories matched across seven real repositories, no false positives.

Open agent-bom-report.html to review inventory, findings, coverage and fix guidance. This command scans the selected project, including its recorded MCP configuration; --no-discover excludes workstation-wide discovery.

No MCP configuration in the project? Package findings still apply. Agent/tool relationships require discovered configuration or an explicit inventory; their absence is a coverage limit. Review gaps beside the verdict: incomplete evidence is not a clean assessment. What this scan does and does not establish.

No project handy? Run uvx agent-bom scan --demo --offline for a bundled sample. Exit 1 is expected: the sample trips the security gate. A non-zero exit can mean a security gate or incomplete assessment; inspect the report and coverage. See the exit codes.

Verify fixes, export reports, and add a CI gate

Apply a reviewed fix, update the lockfile, then rerun uvx agent-bom scan . against the same repository to verify the finding changed. Save a report with uvx agent-bom scan . -f sarif -o findings.sarif, then upload it and gate CI. Run uvx agent-bom doctor if setup fails. See the first-run guide for pip installation, or ask your coding agent with the checkup skill.

In GitHub Actions, the same scan uploads SARIF to code scanning and fails on high or critical findings, the same default gate as the CLI:

yaml
permissions:  contents: read  security-events: writesteps:  - uses: actions/checkout@v4  - uses: koda-ai-studio/agent-bom@v0    with:      upload-sarif: 'true'

[Recorded agent-bom CLI showing sample findings and remediation guidance; no fix executed]

The recording uses labeled sample data and bundled advisories. Credential references are names, not secret values. Recorded relationships do not prove exploitation or successful data access.

What it covers

AreaWhat you get
SBOM, AI-BOM and Agent-BOMGenerate software SBOMs in CycloneDX or SPDX. For an AI-BOM, CycloneDX AI components carry collected model metadata. Native agent-bom JSON connects agents, MCP servers, tools, credential references and packages.
DependenciesLockfiles and manifests across Python, JavaScript, Go, Java, .NET, Rust and more, matched against OSV, GitHub advisories and NVD with KEV and EPSS. Ask "am I affected by CVE-X" across every stored scan.
CodeFindings from Semgrep or any SARIF tool, plus native analysis of AI code (prompt-injection sinks, guardrails, tool exposure) and whether your code reaches the vulnerable function.
Containers and IaCImages scanned in bounded memory and time; Dockerfile, Terraform, Kubernetes, Helm and compose risks with exact lines in SARIF.
AI agents and MCPAgents, MCP servers, tools and credentials from local configs and agent frameworks, linked to what they can reach.
Cloud and data platformsRead-only collection from AWS, Azure, GCP, Kubernetes, Databricks and Snowflake, with provider-specific posture checks and graph context. See the coverage matrix for each collection lane.
GPU and AI infrastructureDiscover AI workloads on CoreWeave, Nebius, Lambda, RunPod, Vast.ai and Crusoe; inventory GPU containers and Kubernetes GPU nodes. Collection depth varies by provider.
Models and AI platformsDiscover supported OpenAI, Hugging Face, Ollama, MLflow and W&B assets and retain available model provenance alongside dependencies and agent context.
RuntimeAn MCP proxy and gateway that alert on poisoned tools and injected results, or block them with --injection-mode enforce.

Generate a BOM from a project, or inspect an agent inventory with sample data:

bash
agent-bom scan --project . -f cyclonedx -o sbom.cdx.jsonagent-bom scan --project . -f spdx -o sbom.spdx.jsonagent-bom scan --demo --offline -f json -o agent-bom.json

Open the artifact to inspect the collected components and relationships. Model metadata appears when the selected source supplies it; a BOM is an inventory, not proof of safe execution or complete collection.

All supported sources and evidence destinations

Discovery and scanning read from these sources; the last row lists evidence destinations.

AreaIntegrations
AI clients + IDEsClaude, Codex, Cursor, GitHub Copilot, Windsurf, Cortex Code, Gemini CLI, JetBrains AI, Junie, Amazon Q, Cline, Roo Code, Continue, Zed, Goose, Snowflake CLI, Docker MCP Toolkit, Tabnine, Sourcegraph Cody, Aider, Void, Aide, Trae, Pieces, OpenClaw, mcp-cli
AI platforms + model hubsOpenAI, Hugging Face, Ollama, MLflow, W&B, Langfuse, LangSmith
GPU + neo cloudsCoreWeave, Nebius, Lambda, RunPod, Vast.ai, Crusoe, GPU containers + K8s GPU nodes
Hyperscalers + KubernetesAWS, Azure, GCP, Kubernetes
Data + vector storesSnowflake, Databricks, Supabase, Pinecone, Qdrant, Weaviate, Chroma, Milvus
Identity + SaaS + devOkta, GitHub Actions, Vercel, Microsoft Entra ID, Jira, ServiceNow, Slack, Jamf
Evidence outClickHouse, BigQuery, S3, GCS, Azure Blob, Jira tickets, Slack alerts, Vanta, Drata, OCSF syslog

Product names and logos are trademarks of their owners, used only to identify supported evidence sources. Their use does not imply endorsement or partnership.

Investigate context and exposure

Which agent uses the vulnerable component? What could it reach? What evidence supports that path? Correlate retained scans by exact, tenant-scoped identities; trace the recorded blast radius from each agent through its MCP servers to packages, findings, credentials and data stores. Inspect each relationship's source and evidence kind, then rescan the same scope to check what changed. Agent kind, platform association, execution host and model links are separate facts; an environment badge does not establish where an agent runs or which model endpoint it calls.

[Sample production AI environment: Document Intake Agent uses a document-tools MCP server that depends on pillow 9.0.0, linked to KEV-listed CVE-2023-4863; Support Triage Agent uses a ticketing MCP server that references TICKETING_API_KEY, which can access a customer ticket archive]

Fictional sample estate. Dashed use, credential and access links are configured or modeled, not observed at runtime; path analysis covers the collected snapshot only. The AWS badge describes environment membership. These generic sample agents have no recorded execution host or model endpoint. Open the full-size environment graph. Read agent, hosting and model context.

From agent to verified fix: select Document Intake Agent → inspect CVE-2023-4863 (high, KEV-listed) and the evidence on each arrow → take the proposed remediation → rescan the changed pin and compare snapshots. The comparison verifies the changed input, not a running deployment.

Inspect the evidence: one package, three parsed inputs

Supporting evidence: one package, three parsed inputs. A repository pin, an image SBOM and a modeled Kubernetes workload resolve to one [email protected]. The image inventory and the deployment occurrence stay separate nodes; the advisory receipt is open.

[Repository pin, image inventory and Kubernetes deployment occurrence resolving to one pillow package linked to KEV-listed CVE-2023-4863, with the plain-language relationship evidence open]

Real parsers, modeled infrastructure; a graph path does not prove exploitation. Open the full-size relationship graph.

Explore context, correlation and reachability · Run the reference lab · Reproduce these screenshots

Explain a finding to your team: create an impact brief with affected assets, source receipts, evidence gaps and the next action to review.

Am I affected by a new CVE? Match it against stored scans, including CVEs only NVD has published, and get affected assets with their patch target, possibly affected distro packages to verify, and the blast radius (walkthrough):

bash
agent-bom db update                                   # refresh OSV, NVD, KEV and EPSSagent-bom db advisory affected CVE-2026-109618        # most recent saved scanagent-bom db advisory affected CVE-2026-109618 --report <scan-report.json> --format json   # a JSON report written by an earlier scan

From an MCP client, the read-only affected_assets tool (graph and full profiles) takes the same advisory_id. In CI, run uvx agent-bom db update before the GitHub Action step above (its auto-update-db default only refreshes feeds older than seven days); the rescan then fails on the new advisory at the configured severity.

Repository and cloud investigations

Trace source imports, deployment configuration and CI to a published container and its vulnerable packages:

[Sample repository linking source, deployment configuration and a CI job to a container, vulnerable npm and PyPI packages, their advisories and a CI misconfiguration]

Follow a public API gateway into a vulnerable workload, its role and a PII bucket:

[Sample cloud account where a public API gateway exposes a workload with a critical advisory that authenticates as a role permitted to read a PII bucket]

Open the sample graph

Try the demo in your browser: a read-only copy of the UI on labelled sample data, with no install and no backend. Scans, settings and sign-in are turned off there. To open the same graph locally:

bash
pip install 'agent-bom[ui]==0.112.1'agent-bom quickstart --run --offline

Run the server command it prints, then open its graph URL. Offline quickstart skips package-CVE lookup, so zero CVEs is not a clean verdict; use the bundled demo for advisory-backed findings or populate the advisory database.

Self-host in your environment

Your infrastructure, identity, database, and audit boundary. Start a local pilot from a published release checkout:

bash
git clone --depth 1 --branch v0.112.1 https://github.com/koda-ai-studio/agent-bom.git && cd agent-bomAGENT_BOM_IMAGE_TAG=0.112.1 docker compose up -d

Open http://localhost:3000, then Connections or New Scan. The pilot binds to loopback and retains state in a Docker volume. For cloud accounts, add a scoped read-only connection, verify access, then start a scan. Use the authenticated deployment.

  • Scan with CLI or CI; export findings, SBOMs and reports.
  • Centralize inventory, graph evidence, remediation and compliance in your own control plane.
  • Enforce policy on selected live MCP tool calls through the proxy or gateway.

Deployment types and operating modes

Choose where to run the product, then enable the collection or runtime modes needed for your environment.

DeploymentFirst stepResult and next step
CLI or CI jobagent-bom scan --demo --offline -o report.jsonLabelled sample findings in JSON; scan your own inventory or configure a CI gate.
Local API and dashboardagent-bom quickstart --run --offlineSample report and persisted graph; run the printed loopback server command and open its graph URL.
Docker Compose pilotRelease checkout and docker compose up -d aboveLoopback API/UI with retained state; connect a read-only source and run a scan.
Authenticated single hostPlatform Compose setupLogin-gated API/UI and PostgreSQL; configure TLS, identity, secrets and backups before sharing access.
Kubernetes / EKSHelm deploymentControl plane in your cluster; provision role-separated secrets and storage, then validate authentication and health.

Operating modes can be combined:

  • Scan: collect inventory and findings on demand or in CI; retain reports and graph evidence.
  • Fleet inventory: endpoints or collectors sync inventory to the control plane. Start with the fleet sync command, then review endpoint inventory and last-seen evidence.
  • MCP server: agent-bom mcp server exposes security tools to an MCP client. Configure the client and tool profile, then query scan evidence.
  • Runtime proxy: wrap selected local stdio MCP servers to inspect tool calls. Follow the proxy setup and verify policy decisions in the audit trail.
  • Runtime gateway: relay selected remote MCP traffic through a shared service. Follow the gateway setup and validate client authentication, policy and upstream connectivity.

The dashboard's Sources indicator describes recorded evidence: local scans, fleet inventory, cluster scans, CI/CD, imported evidence, or mixed sources. It does not select a deployment type or enable runtime enforcement. Demo data identifies labelled sample inventory. Preview and community deployment paths have separate support boundaries.

In the console, Assets are inventoried resources, Findings are detections on those resources, and Issues group related findings for investigation or remediation. Affected assets counts distinct resources only when that count is available. One finding may belong to several security areas, so area counts must not be summed. Repeated observations across scans are shown separately.

Docker pilot guide · Compose with PostgreSQL · Choose a deployment · Enterprise controls · Connect cloud accounts

Work with your existing tools

Use CLI or GitHub Action, REST API, or MCP; export SARIF, CycloneDX, SPDX, JSON and HTML. Cloud connectors and fleet sync collect inventory; proxy and gateway deployments add runtime evidence.

For other MCP clients, run agent-bom mcp server. Start with eight focused tools in the default profile. Choose an MCP profile for graph, cloud, runtime or audit work. Try three investigations: affected agents, exposure receipts and a before/after scan comparison. Import existing scanner reports without replacing their source evidence.

Check a dependency before installing it with uvx agent-bom check [email protected] --ecosystem pypi. Add pre-commit and CI setup for repeated checks.

Proxy, gateway and fleet · Integration capability matrix · MCP client setup · Smithery setup and manifest

Integrations

Claude Code and Codex plugins: ask your coding agent instead of reading a report

Ask your coding agent instead of reading a report. In Claude Code:

text
/plugin marketplace add koda-ai-studio/agent-bom/plugin install agent-bom@agent-bom

In Codex, run codex plugin marketplace add koda-ai-studio/agent-bom, then install agent-bom-local from the Plugins Directory. Both plugins run the pinned agent-bom release locally and send nothing to an agent-bom service.

AskSkill
"Is this project safe to ship?"checkup: one verdict and the three fixes that matter most
"Am I affected by CVE-2025-29927?"affected: affected or not found in what was scanned, never "safe"
"What have my agents been doing?"activity: MCP usage, unused servers, risky commands from local session history
"Are my agent settings too permissive?"audit-mcp and audit-skills
"Give me an AI-BOM"bom: CycloneDX or SPDX for this machine, a project, an image or a cloud account

Add /plugin install agent-bom-guard@agent-bom to block malicious and typosquatted package installs before Claude runs them. All skills and their permissions · Guard details

Trust and evidence

Discovery uses read-only access by default. Explicit disk side-scans create temporary cloud resources. Missing evidence stays unavailable or partial; control mappings are not audit certification.

Runtime evidence and MITRE mapping boundaries

Persisted runtime, proxy and gateway activity retains source receipts and bounded time windows in the graph. Exact inventory references can bind records; unresolved identities and collection gaps remain explicit. Recorded activity does not prove execution or grant access. See the runtime evidence boundaries.

MITRE technique associations provide investigation context, not proof of an attack. ATLAS mapping receipts retain the weakness association and source catalog hashes; modeled graph paths do not establish observed execution or effective access.

Measured matcher proof · Product boundaries · Permissions · Threat model · Release verification · Graph data model

Contributing and support

[Open in GitHub Codespaces]

Start with the first PR guide or a good first issue. Ask in GitHub Discussions (or Discord), share feedback, or follow the maintainer path (review owners).

Contributing · Capabilities and roadmap · Support · Report an inaccurate finding · Apache-2.0

Source version: v0.112.1 · Latest release: v0.112.1 · Changelog

來源:README.md,提交 e61d112

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

10
  1. v0.109.0最新Oct 18, 2026
  2. v0.108.4Oct 10, 2026
  3. v0.108.3Oct 9, 2026
  4. v0.108.2Oct 8, 2026
  5. v0.108.1Oct 6, 2026
  6. v0.108.0Oct 4, 2026
  7. v0.107.2Oct 2, 2026
  8. v0.107.0Oct 1, 2026
  9. v0.106.1Sep 27, 2026
  10. v0.82.3Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分