agent-bom — AI Agent Infrastructure Security Scanner
Discovers MCP clients and servers across 29 first-class client types, scans for CVEs, maps
blast radius, runs cloud CIS benchmarks, checks OWASP/NIST/MITRE compliance,
generates SBOMs, and assesses AI infrastructure against AISVS v1.0 and MAESTRO
framework layers.
Install
pipx install agent-bom
agent-bom scan # auto-discover + scan
agent-bom check langchain==0.1.0 # check a specific package with version
agent-bom fs . # scan filesystem packages
agent-bom image nginx:1.25 # scan container image (native)
agent-bom cloud aws # AWS CIS benchmark
agent-bom iac infra/ # scan Terraform/CloudFormation
agent-bom where # show all discovery paths
As an MCP Server
{
"mcpServers": {
"agent-bom": {
"command": "uvx",
"args": ["agent-bom", "mcp", "server"]
}
}
}
Sub-Skills (15)
| Sub-Skill |
Purpose |
Triggers |
| discover |
Find agents, MCP servers, configurations |
"find agents", "what's configured", "mcp inventory" |
| discover-aws |
Scope-zero AWS operator-pull inventory |
"discover AWS agents", "Bedrock inventory", "AWS MCP inventory" |
| discover-azure |
Scope-zero Azure operator-pull inventory |
"discover Azure AI", "Azure MCP inventory" |
| discover-gcp |
Scope-zero GCP operator-pull inventory |
"discover Vertex AI", "GCP MCP inventory" |
| discover-snowflake |
Scope-zero Snowflake/Cortex operator-pull inventory |
"discover Snowflake AI", "Cortex inventory" |
| ingest |
Validate and scan operator-pushed inventory |
"ingest inventory", "scan pushed inventory" |
| scan |
CVE scanning, image scanning, SBOM, provenance |
"check package", "scan image", "verify", "blast radius" |
| scan-infra |
IaC, cloud config, secrets scanning |
"check terraform", "scan kubernetes", "find secrets" |
| enforce |
Runtime policy enforcement, MCP proxy |
"block risky calls", "apply policy", "proxy" |
| compliance |
14-framework compliance, SBOM generation |
"compliance report", "NIST", "SOC 2", "OWASP" |
| monitor |
Fleet monitoring, trust scores, lifecycle |
"fleet", "watch agents", "trust scores" |
| analyze |
Blast radius, attack paths, context graph |
"blast radius", "threat intel", "attack path" |
| registry |
MCP registry lookup, marketplace check, fleet risk scoring, skill trust, SAST |
"registry lookup", "marketplace check", "skill trust" |
| runtime |
Runtime audit-log correlation, context graph analytics, vulnerability trends |
"runtime monitoring", "audit correlation", "analytics" |
| troubleshoot |
Diagnostics, doctor, config validation |
"doctor", "debug", "why failing", "validate config" |
Tools
Vulnerability Scanning
| Tool |
Description |
scan |
Full discovery + vulnerability scan pipeline |
check |
Check a package for CVEs (OSV, NVD, EPSS, KEV) |
blast_radius |
Map CVE impact chain across agents, servers, credentials |
remediate |
Prioritized remediation plan for vulnerabilities |
verify |
Package integrity + SLSA provenance check |
diff |
Compare two scan reports (new/resolved/persistent) |
where |
Show MCP client config discovery paths |
inventory |
List discovered agents, servers, packages |
Compliance & Policy
| Tool |
Description |
compliance |
OWASP LLM/Agentic Top 10, EU AI Act, MITRE ATLAS, NIST AI RMF |
policy_check |
Evaluate results against custom security policy (17 conditions) |
cis_benchmark |
CIS benchmark checks (AWS, Azure v3.0, GCP v3.0, Snowflake) |
generate_sbom |
Generate SBOM (CycloneDX or SPDX format) |
aisvs_benchmark |
OWASP AISVS v1.0 compliance — 9 AI security checks |
Registry & Trust
| Tool |
Description |
registry_lookup |
Look up MCP server in the 1133-entry security metadata registry |
marketplace_check |
Pre-install trust check with registry cross-reference |
fleet_scan |
Batch registry lookup + risk scoring for MCP server inventories |
tool_risk_assessment |
Score live-introspected MCP tool capabilities and server risk (READ/WRITE/EXECUTE/NETWORK classification + dangerous-combination flags) |
skill_scan |
Scan instruction files for package refs, trust, and findings |
skill_verify |
Verify Sigstore provenance for instruction files |
skill_trust |
Assess skill file trust level (5-category analysis) |
code_scan |
SAST scanning via Semgrep with CWE-based compliance mapping |
Runtime & Analytics
| Tool |
Description |
context_graph |
Agent context graph with lateral movement analysis |
graph_export |
Export the agent dependency graph (json, graphml, cypher, dot, mermaid) |
analytics_query |
Query vulnerability trends, posture history, and runtime events |
runtime_correlate |
Cross-reference proxy audit JSONL with CVE findings, risk amplification |
vector_db_scan |
Probe Qdrant/Weaviate/Chroma/Milvus for auth and exposure |
gpu_infra_scan |
GPU container and K8s node inventory + unauthenticated DCGM probe (MAESTRO KC6) |
Specialized Scans
| Tool |
Description |
ai_inventory_scan |
Discover AI/ML components across infrastructure (models, datasets, agents, training jobs) |
dataset_card_scan |
Scan dataset cards for bias, licensing, and provenance issues |
training_pipeline_scan |
Scan training pipeline configs for security risks |
browser_extension_scan |
Scan browser extensions for risky permissions and AI domain access |
model_provenance_scan |
Verify model provenance and supply chain integrity |
prompt_scan |
Scan prompt templates for injection and data leakage risks |
model_file_scan |
Scan model files for unsafe serialization (pickle, etc.) |
license_compliance_scan |
Full SPDX license catalog scan with copyleft and network-copyleft detection |
ingest_external_scan |
Import external scan results (CycloneDX/SPDX/JSON) and merge into agent-bom findings |
runtime_evidence_ingest |
Ingest CWPP runtime/EDR workload signals (authenticated source; metadata only) |
Resources
| Resource |
Description |
registry://servers |
Browse the 1133-entry MCP server security metadata registry |
Example Workflows
# Check a package before installing
check(package="@modelcontextprotocol/server-filesystem", ecosystem="npm")
# Map blast radius of a CVE
blast_radius(cve_id="CVE-2024-21538")
# Full agent discovery + scan
agents()
# Run CIS benchmark
cis_benchmark(provider="aws")
# Run AISVS v1.0 compliance
aisvs_benchmark()
# Scan vector databases for auth misconfigurations
vector_db_scan()
# Discover GPU containers, K8s GPU nodes, and unauthenticated DCGM endpoints
gpu_infra_scan()
# Scan instruction files and then inspect trust
skill_scan(path=".")
skill_trust(skill_path="./SKILL.md")
Guardrails
Always do:
- Show CVEs even when NVD analysis is pending or severity is
unknown — a CVE ID with no details is still a real finding. Report what is known; mark severity as unknown explicitly.
- Confirm with the user before scanning cloud environments (
cis_benchmark) — these make live API calls to AWS/Azure/GCP using the user's credentials.
- Treat
UNKNOWN severity as unresolved, not benign — it means data is not yet available, not that the issue is minor.
Never do:
- Do not modify any files, install packages, or change system configuration. This skill is read-only.
- Do not transmit env var values, credentials, or file contents to any external service. Only package names and CVE IDs leave the machine.
- Do not invoke
agents() autonomously on sensitive environments without user confirmation. The autonomous_invocation policy is restricted.
Stop and ask the user when:
- The user requests a cloud CIS benchmark and no cloud credentials are configured.
- A scan finds
CRITICAL CVEs — present findings and ask whether to generate a remediation plan.
- The user asks to scan a path outside their home directory.
Supported Frameworks (15)
- OWASP LLM Top 10 (2025) — prompt injection, supply chain, data leakage
- OWASP MCP Top 10 — MCP-specific security risks
- OWASP Agentic Top 10 — tool poisoning, rug pulls, credential theft
- MITRE ATLAS — adversarial ML threat framework
- MITRE ATT&CK Enterprise — adversary techniques tagged via CWE → CAPEC → ATT&CK on every blast-radius finding
- NIST AI RMF — govern, map, measure, manage lifecycle
- NIST CSF 2.0 — identify, protect, detect, respond, recover
- NIST 800-53 Rev 5 — federal security controls (CM-8, RA-5, SI-2, SR-3)
- FedRAMP Moderate — derived from NIST 800-53 controls
- EU AI Act — risk classification, transparency, SBOM requirements
- ISO 27001:2022 — information security controls (Annex A)
- SOC 2 — Trust Services Criteria
- CIS Controls v8 — implementation groups IG1/IG2/IG3
- CMMC 2.0 — cybersecurity maturity model (Level 1-3)
- PCI DSS v4.0 — payment-card data security requirements
OWASP AISVS v1.0 ships as a benchmark surface alongside the tag-mapped frameworks (9 verification checks).
Privacy & Data Handling
This skill installs agent-bom from PyPI. Verify the redaction behavior
before running with any config files:
# Step 1: Install
pip install agent-bom
# Step 2: Review redaction logic BEFORE scanning
# sanitize_env_vars() redacts credential-like and sensitive env values before
# reporting; benign configuration values may remain in the in-memory model:
# https://github.com/msaad00/agent-bom/blob/main/src/agent_bom/security.py
# Step 3: Review config parsing — only structural data extracted:
# https://github.com/msaad00/agent-bom/blob/main/src/agent_bom/discovery/__init__.py
# Step 4: Verify package provenance (Sigstore)
agent-bom verify agent-bom
# Step 5: Only then run scans
agent-bom scan
What is extracted: Server names, commands, args, and URLs from MCP client
config files across 29 first-class client types. Credential-like and sensitive
environment values are replaced with ***REDACTED*** by sanitize_env_vars()
before reporting; benign configuration values may remain in the in-memory model.
Only public package names and CVE IDs are sent to vulnerability databases.
Cloud CIS checks use locally configured credentials and call only the cloud
provider's own APIs.
Verification
- Source: github.com/msaad00/agent-bom (Apache-2.0)
- Sigstore signed:
agent-bom verify agent-bom@0.104.0
- 7,100+ tests with CodeQL + OpenSSF Scorecard
- No telemetry: Zero tracking, zero analytics
1---2name: agent-bom3description: Open security scanner for agentic infrastructure — agents, MCP, packages, blast radius, runtime, and trust across MCP discovery, CVEs, SBOMs, CIS benchmarks (AWS, Azure, GCP, Snowflake), OWASP/NIST/MITRE compliance, AISVS v1.0, MAESTRO layer tagging, and vector database security checks. Use when the user mentions vulnerability scanning, MCP server trust, compliance, SBOM generation, CIS benchmarks, blast radius, or AI supply chain risk.4license: Apache-2.05---67# agent-bom — AI Agent Infrastructure Security Scanner89Discovers MCP clients and servers across 29 first-class client types, scans for CVEs, maps10blast radius, runs cloud CIS benchmarks, checks OWASP/NIST/MITRE compliance,11generates SBOMs, and assesses AI infrastructure against AISVS v1.0 and MAESTRO12framework layers.1314## Install1516```bash17pipx install agent-bom18agent-bom scan # auto-discover + scan19agent-bom check langchain==0.1.0 # check a specific package with version20agent-bom fs . # scan filesystem packages21agent-bom image nginx:1.25 # scan container image (native)22agent-bom cloud aws # AWS CIS benchmark23agent-bom iac infra/ # scan Terraform/CloudFormation24agent-bom where # show all discovery paths25```2627### As an MCP Server2829```json30{31 "mcpServers": {32 "agent-bom": {33 "command": "uvx",34 "args": ["agent-bom", "mcp", "server"]35 }36 }37}38```3940## Sub-Skills (15)4142| Sub-Skill | Purpose | Triggers |43|-----------|---------|---------|44| [discover](discover/SKILL.md) | Find agents, MCP servers, configurations | "find agents", "what's configured", "mcp inventory" |45| [discover-aws](discover-aws/SKILL.md) | Scope-zero AWS operator-pull inventory | "discover AWS agents", "Bedrock inventory", "AWS MCP inventory" |46| [discover-azure](discover-azure/SKILL.md) | Scope-zero Azure operator-pull inventory | "discover Azure AI", "Azure MCP inventory" |47| [discover-gcp](discover-gcp/SKILL.md) | Scope-zero GCP operator-pull inventory | "discover Vertex AI", "GCP MCP inventory" |48| [discover-snowflake](discover-snowflake/SKILL.md) | Scope-zero Snowflake/Cortex operator-pull inventory | "discover Snowflake AI", "Cortex inventory" |49| [ingest](ingest/SKILL.md) | Validate and scan operator-pushed inventory | "ingest inventory", "scan pushed inventory" |50| [scan](scan/SKILL.md) | CVE scanning, image scanning, SBOM, provenance | "check package", "scan image", "verify", "blast radius" |51| [scan-infra](scan-infra/SKILL.md) | IaC, cloud config, secrets scanning | "check terraform", "scan kubernetes", "find secrets" |52| [enforce](enforce/SKILL.md) | Runtime policy enforcement, MCP proxy | "block risky calls", "apply policy", "proxy" |53| [compliance](compliance/SKILL.md) | 14-framework compliance, SBOM generation | "compliance report", "NIST", "SOC 2", "OWASP" |54| [monitor](monitor/SKILL.md) | Fleet monitoring, trust scores, lifecycle | "fleet", "watch agents", "trust scores" |55| [analyze](analyze/SKILL.md) | Blast radius, attack paths, context graph | "blast radius", "threat intel", "attack path" |56| [registry](registry/SKILL.md) | MCP registry lookup, marketplace check, fleet risk scoring, skill trust, SAST | "registry lookup", "marketplace check", "skill trust" |57| [runtime](runtime/SKILL.md) | Runtime audit-log correlation, context graph analytics, vulnerability trends | "runtime monitoring", "audit correlation", "analytics" |58| [troubleshoot](troubleshoot/SKILL.md) | Diagnostics, doctor, config validation | "doctor", "debug", "why failing", "validate config" |5960## Tools6162### Vulnerability Scanning63| Tool | Description |64|------|-------------|65| `scan` | Full discovery + vulnerability scan pipeline |66| `check` | Check a package for CVEs (OSV, NVD, EPSS, KEV) |67| `blast_radius` | Map CVE impact chain across agents, servers, credentials |68| `remediate` | Prioritized remediation plan for vulnerabilities |69| `verify` | Package integrity + SLSA provenance check |70| `diff` | Compare two scan reports (new/resolved/persistent) |71| `where` | Show MCP client config discovery paths |72| `inventory` | List discovered agents, servers, packages |7374### Compliance & Policy75| Tool | Description |76|------|-------------|77| `compliance` | OWASP LLM/Agentic Top 10, EU AI Act, MITRE ATLAS, NIST AI RMF |78| `policy_check` | Evaluate results against custom security policy (17 conditions) |79| `cis_benchmark` | CIS benchmark checks (AWS, Azure v3.0, GCP v3.0, Snowflake) |80| `generate_sbom` | Generate SBOM (CycloneDX or SPDX format) |81| `aisvs_benchmark` | OWASP AISVS v1.0 compliance — 9 AI security checks |8283### Registry & Trust84| Tool | Description |85|------|-------------|86| `registry_lookup` | Look up MCP server in the 1133-entry security metadata registry |87| `marketplace_check` | Pre-install trust check with registry cross-reference |88| `fleet_scan` | Batch registry lookup + risk scoring for MCP server inventories |89| `tool_risk_assessment` | Score live-introspected MCP tool capabilities and server risk (READ/WRITE/EXECUTE/NETWORK classification + dangerous-combination flags) |90| `skill_scan` | Scan instruction files for package refs, trust, and findings |91| `skill_verify` | Verify Sigstore provenance for instruction files |92| `skill_trust` | Assess skill file trust level (5-category analysis) |93| `code_scan` | SAST scanning via Semgrep with CWE-based compliance mapping |9495### Runtime & Analytics96| Tool | Description |97|------|-------------|98| `context_graph` | Agent context graph with lateral movement analysis |99| `graph_export` | Export the agent dependency graph (json, graphml, cypher, dot, mermaid) |100| `analytics_query` | Query vulnerability trends, posture history, and runtime events |101| `runtime_correlate` | Cross-reference proxy audit JSONL with CVE findings, risk amplification |102| `vector_db_scan` | Probe Qdrant/Weaviate/Chroma/Milvus for auth and exposure |103| `gpu_infra_scan` | GPU container and K8s node inventory + unauthenticated DCGM probe (MAESTRO KC6) |104105### Specialized Scans106| Tool | Description |107|------|-------------|108| `ai_inventory_scan` | Discover AI/ML components across infrastructure (models, datasets, agents, training jobs) |109| `dataset_card_scan` | Scan dataset cards for bias, licensing, and provenance issues |110| `training_pipeline_scan` | Scan training pipeline configs for security risks |111| `browser_extension_scan` | Scan browser extensions for risky permissions and AI domain access |112| `model_provenance_scan` | Verify model provenance and supply chain integrity |113| `prompt_scan` | Scan prompt templates for injection and data leakage risks |114| `model_file_scan` | Scan model files for unsafe serialization (pickle, etc.) |115| `license_compliance_scan` | Full SPDX license catalog scan with copyleft and network-copyleft detection |116| `ingest_external_scan` | Import external scan results (CycloneDX/SPDX/JSON) and merge into agent-bom findings |117| `runtime_evidence_ingest` | Ingest CWPP runtime/EDR workload signals (authenticated source; metadata only) |118119### Resources120| Resource | Description |121|----------|-------------|122| `registry://servers` | Browse the 1133-entry MCP server security metadata registry |123124## Example Workflows125126```127# Check a package before installing128check(package="@modelcontextprotocol/server-filesystem", ecosystem="npm")129130# Map blast radius of a CVE131blast_radius(cve_id="CVE-2024-21538")132133# Full agent discovery + scan134agents()135136# Run CIS benchmark137cis_benchmark(provider="aws")138139# Run AISVS v1.0 compliance140aisvs_benchmark()141142# Scan vector databases for auth misconfigurations143vector_db_scan()144145# Discover GPU containers, K8s GPU nodes, and unauthenticated DCGM endpoints146gpu_infra_scan()147148# Scan instruction files and then inspect trust149skill_scan(path=".")150skill_trust(skill_path="./SKILL.md")151```152153## Guardrails154155**Always do:**156- Show CVEs even when NVD analysis is pending or severity is `unknown` — a CVE ID with no details is still a real finding. Report what is known; mark severity as `unknown` explicitly.157- Confirm with the user before scanning cloud environments (`cis_benchmark`) — these make live API calls to AWS/Azure/GCP using the user's credentials.158- Treat `UNKNOWN` severity as unresolved, not benign — it means data is not yet available, not that the issue is minor.159160**Never do:**161- Do not modify any files, install packages, or change system configuration. This skill is read-only.162- Do not transmit env var values, credentials, or file contents to any external service. Only package names and CVE IDs leave the machine.163- Do not invoke `agents()` autonomously on sensitive environments without user confirmation. The `autonomous_invocation` policy is `restricted`.164165**Stop and ask the user when:**166- The user requests a cloud CIS benchmark and no cloud credentials are configured.167- A scan finds `CRITICAL` CVEs — present findings and ask whether to generate a remediation plan.168- The user asks to scan a path outside their home directory.169170## Supported Frameworks (15)171172- **OWASP LLM Top 10** (2025) — prompt injection, supply chain, data leakage173- **OWASP MCP Top 10** — MCP-specific security risks174- **OWASP Agentic Top 10** — tool poisoning, rug pulls, credential theft175- **MITRE ATLAS** — adversarial ML threat framework176- **MITRE ATT&CK Enterprise** — adversary techniques tagged via CWE → CAPEC → ATT&CK on every blast-radius finding177- **NIST AI RMF** — govern, map, measure, manage lifecycle178- **NIST CSF 2.0** — identify, protect, detect, respond, recover179- **NIST 800-53 Rev 5** — federal security controls (CM-8, RA-5, SI-2, SR-3)180- **FedRAMP Moderate** — derived from NIST 800-53 controls181- **EU AI Act** — risk classification, transparency, SBOM requirements182- **ISO 27001:2022** — information security controls (Annex A)183- **SOC 2** — Trust Services Criteria184- **CIS Controls v8** — implementation groups IG1/IG2/IG3185- **CMMC 2.0** — cybersecurity maturity model (Level 1-3)186- **PCI DSS v4.0** — payment-card data security requirements187188OWASP AISVS v1.0 ships as a **benchmark surface** alongside the tag-mapped frameworks (9 verification checks).189190## Privacy & Data Handling191192This skill installs agent-bom from PyPI. **Verify the redaction behavior193before running with any config files:**194195```bash196# Step 1: Install197pip install agent-bom198199# Step 2: Review redaction logic BEFORE scanning200# sanitize_env_vars() redacts credential-like and sensitive env values before201# reporting; benign configuration values may remain in the in-memory model:202# https://github.com/msaad00/agent-bom/blob/main/src/agent_bom/security.py203204# Step 3: Review config parsing — only structural data extracted:205# https://github.com/msaad00/agent-bom/blob/main/src/agent_bom/discovery/__init__.py206207# Step 4: Verify package provenance (Sigstore)208agent-bom verify agent-bom209210# Step 5: Only then run scans211agent-bom scan212```213214**What is extracted**: Server names, commands, args, and URLs from MCP client215config files across 29 first-class client types. Credential-like and sensitive216environment values are replaced with `***REDACTED***` by `sanitize_env_vars()`217before reporting; benign configuration values may remain in the in-memory model.218Only public package names and CVE IDs are sent to vulnerability databases.219Cloud CIS checks use locally configured credentials and call only the cloud220provider's own APIs.221222## Verification223224- **Source**: [github.com/msaad00/agent-bom](https://github.com/msaad00/agent-bom) (Apache-2.0)225- **Sigstore signed**: `agent-bom verify agent-bom@0.104.0`226- **7,100+ tests** with CodeQL + OpenSSF Scorecard227- **No telemetry**: Zero tracking, zero analytics