Skip to content

Commit 58df6be

Browse files
authored
release: v0.75.0 — dashboard UX, compliance narratives, cross-agent detection (#1035)
## v0.75.0 Release ### What's new - **Dashboard UX** — posture grade hero, attack paths, security graph, remediation page, 14-framework compliance - **Compliance narratives** — auditor-ready text generation per framework - **`--posture` flag** — 5-line workstation summary for developers - **`--fixable-only`** — show only actionable vulnerabilities - **`agent-bom doctor`** — preflight diagnostic - **Cross-agent detection** — lateral movement detection across agent sessions - **SSE proxy** — `--url` for remote MCP servers - **SBOM graph** — multi-hop dependency depth + VDR ingest - **API enhancements** — rate-limit headers, Jira/FP endpoints, break-glass, metrics - **75 UI tests** (Vitest) + 29 new Python tests - **8 intent-based skills** (discover, scan, scan-infra, enforce, comply, monitor, analyze, troubleshoot) ### Version bumped pyproject.toml, Helm, Dockerfiles, action.yml, MCP registry, Docker Hub, demo tape ### After merge ```bash git tag v0.75.0 && git push origin v0.75.0 ``` Triggers: PyPI + Docker Hub + GitHub Release + SLSA provenance + Sigstore signing
1 parent 01d1b01 commit 58df6be

File tree

21 files changed

+101
-35
lines changed

21 files changed

+101
-35
lines changed

.github/workflows/cve-freshness.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ jobs:
2626
run: |
2727
uv run agent-bom sbom tests/fixtures/test-sbom.cdx.json -f sarif -o results.sarif || true
2828
if [ ! -f results.sarif ]; then
29-
echo '{"version":"0.74.1","$schema":"https://raw.githubusercontent.com/oasis-tcs/sarif-spec/master/Schemata/sarif-schema-2.1.0.json","runs":[{"tool":{"driver":{"name":"agent-bom","version":"0.74.1"}},"results":[]}]}' > results.sarif
29+
echo '{"version":"0.75.0","$schema":"https://raw.githubusercontent.com/oasis-tcs/sarif-spec/master/Schemata/sarif-schema-2.1.0.json","runs":[{"tool":{"driver":{"name":"agent-bom","version":"0.75.0"}},"results":[]}]}' > results.sarif
3030
fi
3131
# CVE freshness results are logged in workflow output.
3232
# We skip upload-sarif because this workflow only runs on schedule (not PRs),

.github/workflows/mcp-change-scan.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ jobs:
3030
python-version: '3.11'
3131

3232
- name: Install agent-bom
33-
run: uv tool install agent-bom==0.74.1 # pinned — bump on each release
33+
run: uv tool install agent-bom==0.75.0 # pinned — bump on each release
3434

3535
- name: Scan changed MCP configs
3636
id: scan

CHANGELOG.md

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,67 @@ Versions follow [Semantic Versioning](https://semver.org/).
77

88
---
99

10+
## [0.75.0] – 2026-03-23
11+
12+
### Added
13+
- **Dashboard UX** — posture grade (A-F) hero, top 5 attack path cards, security graph page with interactive React Flow, insight layer toggle (risk/credentials/default), 11-framework compliance heatmap
14+
- **Remediation page** — priority table sorted by blast radius impact, Jira ticket creation per finding, compliance impact summary, severity/framework filters, JSON export
15+
- **Compliance narratives**`GET /v1/compliance/narrative` generates auditor-ready text per framework with control-level detail and remediation-compliance bridge
16+
- **`--posture` flag** — 5-line workstation posture summary for solo developers
17+
- **`--fixable-only` flag** — show only vulnerabilities with available fixes
18+
- **`agent-bom doctor`** — preflight diagnostic (Python, DB, network, Docker, MCP configs, API keys)
19+
- **Cross-agent behavioral detection**`CrossAgentCorrelator` detects lateral movement (3+ agents same tool in 5min), anomaly baseline per agent
20+
- **SSE proxy transport**`agent-bom proxy --url` for remote SSE/HTTP MCP servers
21+
- **SBOM multi-hop graph** — dependency depth tracking (A→B→C) + CycloneDX `vulnerabilities[]` ingest
22+
- **API rate-limit headers**`X-RateLimit-Limit/Remaining/Reset` on all responses, `X-API-Version: v1`
23+
- **Jira API endpoint**`POST /v1/findings/jira` with ephemeral credentials, SSRF-validated
24+
- **False positive feedback**`POST/GET/DELETE /v1/findings/false-positive` with tenant-scoped persistence
25+
- **Break-glass endpoint**`POST /v1/shield/break-glass` with admin RBAC + audit logging
26+
- **Prometheus `/metrics`** — fleet_total and fleet_quarantined gauges
27+
- **75 UI component tests** (Vitest + @testing-library/react)
28+
- **8 intent-based OpenClaw skills** — discover, scan, scan-infra, enforce, comply, monitor, analyze, troubleshoot
29+
- **CONTRIBUTING.md** — contributor onboarding guide
30+
- **Enterprise Deployment guide** — MDM push, fleet API, zero-credential architecture
31+
32+
### Changed
33+
- **Homepage reworked** — posture grade + blast radius chains at top, stats compressed to one row
34+
- **Compliance page** — now shows all 14 frameworks (was 6)
35+
- **Security graph** — uses pre-computed blast_radius scores (risk_score, is_kev, epss_score)
36+
- **All dashboard pages** — consistent Loader2 spinners, overflow-x-auto tables, confirmation dialogs on destructive actions, Snowflake-only banners in error state
37+
- **Vulns page** — pagination (50/page), search, FP feedback button, confidence scores
38+
- **Jobs page** — status filter tabs, search, pagination (25/page), JSON export
39+
- **Fleet page** — search, JSON export, confirmation on state transitions
40+
- **Agents page** — search by name
41+
- **CLI output** — severity text labels alongside colors (accessibility)
42+
- **CycloneDX**`formulation` field identifies agent-bom as generator
43+
- **GitHub Action**`exclude-unfixable` input for CI gating
44+
- **Architecture diagram** — compact horizontal layout (LR)
45+
- **Count alignment** — all docs now single-source-of-truth (14 frameworks, 138 IaC rules, 112 patterns, 20 pages, 33 tools, 19 formats)
46+
47+
### Fixed
48+
- **Full-stack alignment**`severity_source`, `confidence`, `nist_800_53_tags`, `fedramp_tags`, `automation_settings`, `vector_db_scan`, `gpu_infra` now serialized in JSON output (were silently dropped)
49+
- **Compliance router**`/v1/compliance/narrative` no longer shadowed by `/{framework}` wildcard
50+
- **UI field names**`risk_score ?? blast_score`, `summary ?? description`, `is_kev ?? cisa_kev` with backward compat
51+
- **Offline mode strict** — no silent network fallback when `--offline` set
52+
- **AST prompt detector**`description`, `help`, `title` fields no longer misclassified as system prompts
53+
- **CodeQL SSRF** — defense-in-depth `validate_url()` at transport layer
54+
- **HSTS header**`Strict-Transport-Security` added to all API responses
55+
- **OIDC SSRF**`validate_url()` on discovery URL
56+
- **ECS/EKS test mocks** — updated to paginator pattern
57+
- **Protection engine**`stop()` persists cleared kill-switch state, semaphore cache bounded to 8 entries
58+
- **Chain-hashed audit log** — each entry includes previous entry's HMAC for tamper-evidence
59+
- **Multi-tenancy isolation** — tenant_id enforced at middleware level
60+
- **Quarantine enforcement** — quarantined agents excluded from fleet list by default
61+
- **Log file permissions** — 0o600 on audit DB, fleet DB, log files
62+
- **Node.js 20 deprecation**`FORCE_JAVASCRIPT_ACTIONS_TO_NODE24` on dependency-review
63+
- **Local fonts** — Inter + JetBrains Mono bundled (no Google Fonts network dependency)
64+
65+
### Security
66+
- 10/10 OWASP web categories PROTECTED (verified by code audit)
67+
- SLSA L3 provenance on releases, Sigstore signing on PyPI
68+
- 91 SHA-pinned GitHub Actions, 0 npm/Python vulnerabilities
69+
- scrypt KDF for API keys, HMAC constant-time comparison, parameterized SQL everywhere
70+
1071
## [0.74.1] – 2026-03-22
1172

1273
### Security

DOCKER_HUB_README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ docker run --rm -v "$(pwd):/workspace" agentbom/agent-bom:latest code /workspace
6060
| Tag | Description |
6161
|-----|-------------|
6262
| `latest` | Most recent stable release |
63-
| `v0.74.1` | Current stable version (pinned) |
63+
| `v0.75.0` | Current stable version (pinned) |
6464

6565
## Links
6666

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -259,7 +259,7 @@ docker run --rm agentbom/agent-bom agents # Docker (linux/amd64 + arm64)
259259
| Mode | Command | Best for |
260260
|------|---------|----------|
261261
| CLI | `agent-bom agents` | Local audit |
262-
| GitHub Action | `uses: msaad00/agent-bom@v0.74.1 | CI/CD + SARIF |
262+
| GitHub Action | `uses: msaad00/agent-bom@v0.75.0 | CI/CD + SARIF |
263263
| Docker | `docker run agentbom/agent-bom agents` | Isolated scans |
264264
| MCP Server | `agent-bom mcp server` | Inside any AI assistant |
265265
| Runtime proxy | `agent-bom proxy` | MCP traffic enforcement |
@@ -270,7 +270,7 @@ docker run --rm agentbom/agent-bom agents # Docker (linux/amd64 + arm64)
270270
<summary><b>GitHub Action</b></summary>
271271

272272
```yaml
273-
- uses: msaad00/agent-bom@v0.74.1
273+
- uses: msaad00/agent-bom@v0.75.0
274274
with:
275275
severity-threshold: high
276276
upload-sarif: true

deploy/docker/Dockerfile.mcp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ RUN pip install --no-cache-dir --prefix=/install ".[mcp-server]"
1111
## ── Runtime stage ────────────────────────────────────────────────────────────
1212
FROM python:3.12.13-slim@sha256:7026274c107626d7e940e0e5d6730481a4600ae95d5ca7eb532dd4180313fea9
1313

14-
ARG VERSION=0.74.1
14+
ARG VERSION=0.75.0
1515

1616
LABEL maintainer="W S <34316639+msaad00@users.noreply.github.com>"
1717
LABEL description="Security scanner for AI infrastructure — MCP server mode"

deploy/docker/Dockerfile.runtime

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,14 +16,14 @@ FROM python:3.12.13-slim@sha256:7026274c107626d7e940e0e5d6730481a4600ae95d5ca7eb
1616
WORKDIR /app
1717
COPY LICENSE ./
1818

19-
ARG VERSION=0.74.1
19+
ARG VERSION=0.75.0
2020

2121
RUN pip install --no-cache-dir --prefix=/install agent-bom==${VERSION}
2222

2323
## ── Runtime stage ────────────────────────────────────────────────────────────
2424
FROM python:3.12.13-slim@sha256:7026274c107626d7e940e0e5d6730481a4600ae95d5ca7eb532dd4180313fea9
2525

26-
ARG VERSION=0.74.1
26+
ARG VERSION=0.75.0
2727

2828
LABEL org.opencontainers.image.title="agent-bom runtime proxy"
2929
LABEL org.opencontainers.image.description="MCP runtime security proxy — intercepts JSON-RPC for audit logging and policy enforcement"

deploy/docker/Dockerfile.snowpark

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ RUN pip install --no-cache-dir --prefix=/install ".[api,snowflake]"
1111
## ── Runtime stage ────────────────────────────────────────────────────────────
1212
FROM python:3.11.12-slim@sha256:dbf1de478a55d6763afaa39c2f3d7b54b25230614980276de5cacdde79529d0c
1313

14-
ARG VERSION=0.74.1
14+
ARG VERSION=0.75.0
1515

1616
LABEL maintainer="W S <34316639+msaad00@users.noreply.github.com>"
1717
LABEL description="agent-bom API for Snowpark Container Services"

deploy/docker/Dockerfile.sse

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ RUN pip install --no-cache-dir --prefix=/install ".[mcp-server]"
2424
## ── Runtime stage ────────────────────────────────────────────────────────────
2525
FROM python:3.12.13-slim@sha256:7026274c107626d7e940e0e5d6730481a4600ae95d5ca7eb532dd4180313fea9
2626

27-
ARG VERSION=0.74.1
27+
ARG VERSION=0.75.0
2828

2929
LABEL org.opencontainers.image.title="agent-bom MCP Server"
3030
LABEL org.opencontainers.image.description="Security scanner for AI infrastructure — MCP server with streamable HTTP transport"

deploy/helm/agent-bom/Chart.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ apiVersion: v2
22
name: agent-bom
33
description: Security scanner for AI infrastructure and supply chain — scan containers, MCP servers, and AI agents for CVEs, credential exposure, and compliance violations
44
version: 0.1.0
5-
appVersion: "0.74.1"
5+
appVersion: "0.75.0"
66
type: application
77
keywords:
88
- security

0 commit comments

Comments
 (0)