v0.2.0 — security hardening
agent-catalog v0.2.0 — technical preview
A security-hardening release. Published via npm trusted publishing (OIDC) with provenance.
Security
- Card-fetch path/port hardening. The
agentcatalog.io/a2a-pathService annotation is untrusted (anyone who can label a discoverable Service) and flowed into a privileged kube-apiserver service-proxy request. It's now sanitized — schemes, queries, fragments,%-encoding, and..traversal are rejected and fall back to the well-known card paths;agentcatalog.io/a2a-portis clamped to 1–65535. - Response size caps. Card bodies over 1 MiB and oversized LiteLLM usage responses are rejected before parsing — bounding parse cost and stored-entity size against a hostile or broken endpoint.
- Gateway key protection. The LiteLLM spend key is never sent over a non-HTTPS, non-loopback
baseUrl(fail closed); HTTP remains allowed only for loopback.
Internal
- Mocked-kube-client tests for the four entity providers and the first frontend tests (
toRow+AgentInfoCard). 52 → 92 tests. - Demo:
DEMO_CLUSTER_CONTEXTSto scan multiple clusters (demo tooling only).
Full notes: CHANGELOG.md.