GoogleCloudPlatform/k8s-aibom
k8s-aibom is a Kubernetes controller from GoogleCloudPlatform that generates CycloneDX 1.6 ML-BOM documents at runtime for AI workloads — inference services (vLLM, TGI, Triton, Ollama), agent stacks (LangChain, AutoGen, CrewAI), RAG/vector DB infrastructure (Milvus, Qdrant, Weaviate), and training/eval jobs — by watching Kubernetes API objects with no privileged access. Each BOM attribute carries a declared/inferred/unresolved confidence flag and evidence locator, and the project positions its output as auditor-traceable evidence for EU AI Act Article 12/50, NIST AI RMF, and ISO/IEC 42001 compliance, with redaction filters, immutable GCS write-once sinks, and Sigstore-signed release attestations.
What it is
k8s-aibom is a Google Cloud Platform Kubernetes controller that emits CycloneDX 1.6 ML-BOM documents for AI workloads at runtime. The summary covers the workload coverage; what matters for an engineer deciding to deploy it is how it runs, how it delivers output, and how much to trust each field. Status is "released — production-suitable for non-critical observation use cases," with APIs stable through v1.x (see VERSIONING.md).
How it works
The controller runs as a single Deployment in its own namespace (k8s-aibom-system). No DaemonSet, no privileged container, no kernel access, no node-level agent — it observes only through the standard Kubernetes API. You opt in namespaces; for each tracked workload it scrapes the workload spec and current pod status, applies category-specific detection heuristics, builds the ML-BOM, and writes to configured sinks.
Output is delivered as an AIBOM custom resource (one per workload, namespace-scoped), with the document in status.bomDocument. Optional external sinks are a GCS bucket (full BOM JSON) and a webhook endpoint (POST per BOM).
Crucially, identical inputs produce byte-identical BOMs (modulo timestamps), so output is suitable for content-addressable storage and diff-based change tracking.
The confidence model is the load-bearing detail. Every attribute carries a flag and an evidence locator:
- declared — written into the workload spec by the operator: a
--modelcontainer arg, anHF_MODEL_IDenv var, or amodel.k8saibom.dev/nameannotation. - inferred — derived by heuristic: runtime
vllmmatched from image regex^vllm/.*; agent framework identified from alangchainimport pattern in container args.
flowchart LR W[Opted-in workload] --> C[Controller scrapes spec + pod status] C --> CR[AIBOM CR<br/>status.bomDocument] C -.optional.-> GCS[GCS bucket<br/>full JSON] C -.optional.-> WH[Webhook<br/>POST per BOM]
Preconditions / Affected
Workloads must be running on Kubernetes and expose identity through specs the API can read. Inferred attributes depend on image-name and arg patterns matching known signatures; attributes not present in specs, args, env vars, volumes, or annotations will not be captured. RAG collections and evaluation benchmark suites are extracted only "where determinable."
Caveats
- Self-scoped as suitable only for non-critical observation use cases — not positioned as an authoritative control.
- It is a runtime inventory: it reports what is in fact serving, calling APIs, or training, which may diverge from build-time AIBOMs describing intent. Treat that divergence as the point, not a defect.
inferredattributes are heuristic guesses; for audit evidence under EU AI Act Article 12/50, NIST AI RMF, or ISO/IEC 42001, weightdeclaredfields accordingly and check evidence locators.
Technologies named here
- k8s-aibom
- Kubernetes
- kubectl-aibom
- Google Kubernetes Engine
- Amazon Elastic Kubernetes Service
- Sigstore
- Azure Kubernetes Service
- OMS
- OpenShift
- gh attestation verify
- on-premises clusters
- Kyverno
- Sigstore Policy Controller
- local development clusters
- OWASP CycloneDX
- vLLM
- OWASP AIBOM Project
- Hugging Face TGI
- NVIDIA Triton
- OpenSSF GUAC
- Helm 3
- Ollama
- Ray Serve
- Terraform
- llm-d
- SGLang
- LMDeploy
- HuggingFace TEI
- KServe InferenceService
- LangChain / LangGraph
- AutoGen
- CrewAI
- Langflow
- Flowise
- Chainlit
- Milvus
- Qdrant
- Weaviate
- Chroma
- pgvector
- PyTorch
- KubeRay
- JAX
- Hugging Face Accelerate
- lm-evaluation-harness
- Ragas
- Trulens
- NVIDIA AI Cluster Runtime
- Istio
- Linkerd
- Cilium
- CycloneDX
- Google Cloud
- LangChain
- EU AI Act
- NIST AI RMF
- ISO/IEC 42001
Techniques named here
- Runtime AI workload detection via category-specific scrapers
- Confidence-flagged evidence model
- Cryptographic signature verification of model identity
- Immutable audit-trail writes via preconditions
- Single-principal write pattern
- Output sanitization / redaction filter
- Conservative-detection principle
- Last-known-good configuration retention
- Content-addressable/deterministic BOM generation
Related in Supply Chain


