Skip to main content
CleanStart

Why SBOMs Alone Do Not Establish Container Trust

11 min read
Contents

Introduction

Software Bill of Materials (SBOMs) have become the go-to compliance artifact in container security conversations. Mandated by the U.S. Executive Order on Cybersecurity, embedded in federal procurement requirements, on track to become mandatory across the EU under the Cyber Resilience Act (CRA) by 2027, and increasingly referenced in India's CERT-In cybersecurity advisories, SBOMs are undeniably important.

But here's the uncomfortable truth: an SBOM tells you what's in a container, not whether you can trust it. That distinction matters because modern container trust depends on integrity, provenance, and runtime behavior, not just inventory.

If you've ever shipped a container image to production with a freshly generated SBOM and believed that box was checked, you're not alone. Treating SBOM compliance as container trust is one of the most dangerous oversimplifications in modern DevSecOps. This post breaks down exactly where SBOMs stop being useful, what the real trust gap looks like, and what a complete container trust posture actually requires.

An SBOM is an inventory artifact. Container trust is an integrity problem. Confusing the two leads to a false sense of security.

What an SBOM Actually Is (and Isn't)

An SBOM is a structured, machine-readable inventory of every software component in a given artifact — including libraries, packages, licenses, version numbers, and dependency relationships.

Think of it as a nutrition label for software. It answers one question: what ingredients are in here?

When applied to containers, SBOMs are typically generated either during the build process or by scanning image layers post-build. Tools produce outputs in two primary open standards:

SPDX vs. CycloneDX: Key Differences

Both formats are widely adopted, NTIA-compliant, and supported by modern tooling – but they serve different primary purposes:

Feature

SPDX

CycloneDX

Origin

Linux Foundation

OWASP

Primary focus

License compliance & legal traceability

Security & vulnerability management

Supported by

GitHub, SPDX tools, Anchore

Syft, cdxgen, Grype, most CI/CD tools

Output formats

JSON, RDF, tag-value

JSON, XML

Best for

Audit trails, licence obligations

CVE correlation, supply chain security

NTIA compliant

Yes

Yes

For most DevSecOps teams, CycloneDX is the more operationally useful format because it maps directly into vulnerability intelligence pipelines. SPDX tends to shine in regulated environments where license auditing is a legal obligation.

This is genuinely valuable. Before SBOMs, the contents of many container images were effectively a black box. Today, teams can quickly identify whether a disclosed vulnerability affects production images. But an SBOM is still a static snapshot. It says nothing about:

  • Whether the image was tampered with after the SBOM was generated
  • How the image was built, or whether that build process was trustworthy
  • What happens to the application at runtime
  • Whether the provenance of each component can be cryptographically verified
  • The security of the build environment itself

This gap between inventory and trust is not a minor implementation detail. It is a fundamental architectural limitation.

The Container Vulnerability Reality Check

The numbers make the urgency clear.

A 2024 analysis found that 87% of container images running in production carried critical or high-severity vulnerabilities — up from 75% the year prior. A related report found that the average container image carried 604 known vulnerabilities, with more than 45% of those CVEs between two and ten or more years old.

Meanwhile, software supply chain attacks are accelerating. The OSC&R 2025 Supply Chain Threat Report documented a 188% year-over-year increase in malicious packages across npm, PyPI, and Maven Central, pushing the cumulative total past 845,000 confirmed malicious packages.

The Warehouse Analogy

Shipping a container with an SBOM but without integrity controls is like labelling a

box with its contents while leaving the warehouse unlocked and unguarded. The label

tells you what should be inside — it doesn't tell you whether anyone tampered with

the contents after it was packed.

Why SBOMs Break Down as a Trust Mechanism

1. SBOMs Are Snapshots, Not Seals

The most fundamental limitation is temporal. An SBOM captures what was present at scan time but provides no mechanism to detect whether the image was modified after the scan and before deployment.

Without cryptographic signing and verification tied to the exact image digest, an SBOM is just a document. There is no way to know whether the image has been tampered with between generation and runtime unless trust is tied to additional verification controls.

2. Build-Time Blind Spots: The SBOM Tool Gap

Not all SBOM generation tools are created equal, and most have significant coverage gaps in multi-stage builds. Here is how the most commonly used tools compare:

Capability

Traditional SBOM Tools

CleanSBOM

How SBOM is generated

Post-build scanning of container images

Generated during build from source

Source of truth

File system inspection + heuristics

Deterministic build inputs

Accuracy

Best-effort (can miss or misidentify components)

Exact representation of what was built

Handling of transitive dependencies

Often incomplete or inferred

Fully captured during build

Hidden / embedded components (e.g., BusyBox)

May be missed or misattributed

Explicitly included or excluded at build time

False positives

Common due to package matching

Minimal due to controlled inputs

False negatives

Possible (especially with static binaries)

Eliminated by build-time visibility

Trust level

“Observed inventory”

“Verified inventory”

Tamper resistance

Weak linkage to build process

Cryptographically tied to build artifacts

Reproducibility

Not guaranteed

Deterministic, reproducible builds

Security posture

Reactive (find what’s there)

Preventive (control what exists)

Compliance readiness

Requires additional validation

Built-in auditability and evidence

Noise in SBOM

High (includes unnecessary components)

Minimal (only intentional components)

Traditional tools reconstruct what exists. CleanSBOM reflects what was intentionally built.

The key issue is structural: most tools scan the final stage of a multi-stage Dockerfile by default, which means packages installed in earlier build stages may be excluded from the generated SBOM. While tooling such as Docker BuildKit does support expanding coverage to multi-stage builds through explicit configuration, this is not the out-of-the-box behaviour for most teams.

For complex images using multi-stage Dockerfiles, this creates a real blind spot. A final-stage inventory may be accurate for the shipped layers while still missing important context from the build path. SBOM analysis has to be part of a broader workflow — one that accounts for what happened before the final stage.

3. Provenance Is Not the Same as Inventory

An SBOM tells you what is present. Provenance tells you where it came from and how it was created. These are different security questions entirely.

A compromised CI/CD pipeline can alter an existing package without changing its version number, inject malicious code into a legitimate build step, or replace a trusted binary while leaving the package name and version in the SBOM unchanged — exactly as happened in high-profile supply chain incidents where build tooling was targeted rather than source code.

This is exactly why software supply chain failures rank as A03 in the OWASP Top 10:2025. Accurate inventory does not prove trustworthy origin, and no SBOM format, however complete, can close that gap without building provenance attestations.

4. Signing Keys Can Be Compromised

Many teams address the snapshot problem by signing their SBOMs. That is a meaningful improvement, but it introduces a new dependency: the trustworthiness of the signing key itself.

If a signing key is compromised, every SBOM signed with it becomes suspect. OpenSSF has argued that attestations strengthen trust by validating build processes and runtime integrity, which underscores that signing is not enough by itself.

Signing Without Verifiable Trust Context Is Fragile

Many teams address SBOM integrity by signing artifacts. While this improves tamper resistance, it introduces a new dependency: the trustworthiness of the signing system itself.

If a signing key is exposed or misused, any artifact signed with that key can appear valid. In practice, the strength of signing depends heavily on how keys are generated, stored, rotated, and audited. Keys embedded in CI pipelines or accessible through environment variables significantly weaken this model.

More importantly, a valid signature confirms that an artifact was signed, but not that it was produced by a trustworthy process. It does not capture build context, source integrity, or dependency provenance.

Modern approaches are beginning to address this by combining signing with identity-based verification and transparency logs, but signatures in isolation remain insufficient.

5. Runtime Behavior Is Outside SBOM Scope

Even a perfectly accurate, cryptographically signed SBOM tells you nothing about what the container does when it runs. It cannot surface privilege escalation, unexpected network behavior, secret probing, lateral movement, or cryptomining activity in production.

Containers averaged 4.8 misconfigurations per image in 2024. And 67% of organisations reported delaying application deployment due to security concerns related to containers and Kubernetes, most of which are runtime and configuration concerns rather than inventory concerns.

Runtime monitoring and image verification need to work together, not as separate checkboxes.

What Actually Establishes Container Trust

A complete container trust posture requires multiple layers of control across build, deploy, and runtime. Each layer answers a different security question, and no single layer, including SBOMs, is sufficient on its own. Here is how those layers stack:

Layer

What It Provides

Layer 1: SBOM + Vulnerability Intelligence

Visibility into what is inside every image; feeds CVE correlation and drift detection

Layer 2: Image Signing & Verification

Integrity — ensures what was built is exactly what runs; tied to image digest

Layer 3: Build Provenance Attestations

Origin — SLSA-aligned proof of source repo, commit SHA, build system, and parameters

Layer 4: Runtime Security Monitoring

Behavioural — detects privilege escalation, anomalous syscalls, unexpected network activity

Layer 5: Continuous Compliance & Drift Detection

Ongoing — re-evaluates SBOM + provenance + signatures as new CVEs and policies emerge

why-sboms-alone-do-not-establish-container-trust

Layer 1: SBOM + Vulnerability Intelligence

Start with standardised SBOM generation at build time using CycloneDX or SPDX, then feed those outputs into continuously updated vulnerability intelligence. This gives you visibility into what is inside each image and whether new disclosures affect it later.

The right approach is to treat SBOMs as actionable evidence rather than static paperwork — feeding them into automated triage, policy gates, and drift detection. CleanStart’s SBOM is built around exactly this model: enriching SBOM outputs with contextual intelligence so teams can act on them, not just file them.

Layer 2: Image Signing and Verification

Sign every container image at build time using tools like Cosign, and verify signatures at the Kubernetes admission layer before deployment. This ties trust to the exact image digest and ensures that what was built is what actually runs.

This is the integrity layer. Without it, your SBOM is a description of an artifact you cannot verify hasn't changed since it was generated.

Layer 3: Build Provenance Attestations

Adopt SLSA-aligned provenance attestations so teams can verify source repository, commit SHA, build system, and build parameters for every image. This gives you provenance — not just inventory.

A signed provenance attestation proves how the image was built, not just what it contains. Together with a signed SBOM, it closes the build-time trust gap that inventory alone cannot address.

Layer 4: Runtime Security Monitoring

Deploy runtime security tooling that can detect anomalous syscalls, privilege escalation attempts, suspicious network connections, and unexpected filesystem changes.

Image verification tells you what went into the container. Runtime monitoring tells you what it actually does once running. Both are required for a complete trust model. Open-source tooling such as Falco operationalises this layer by correlating runtime events back to image provenance.

Layer 5: Continuous Compliance and Drift Detection

Trust is not a one-time check. New CVEs, policy drift, and changing exploit conditions can alter the risk profile of an approved image weeks after it passed initial gates.

Teams need continuous re-evaluation of SBOM data, provenance, signatures, and runtime posture — not a periodic audit cycle. CleanStart's container security resources cover how to build this kind of always-on trust pipeline.

The Compliance Trap

There is a particularly dangerous pattern in regulated environments: teams start treating SBOM generation as the objective rather than as an artifact in a broader trust model.

By mid-2024, approximately 200 new SBOMs were being published per day — up from 68 per day in early 2022. But this pace still lags far behind the growth of new software components entering the ecosystem. Volume is not the same as value.

Generating an SBOM to satisfy an auditor is not the same as building a trustworthy container pipeline. Teams that check the SBOM box without addressing signing, attestations, and runtime monitoring may be compliant on paper while still exposed in practice.

The Right Approach

Treat compliance as an output of stronger engineering — not as a goal in itself.

When your build pipeline enforces signing, generates verified provenance, and monitors

runtime behaviour, compliance artifacts follow naturally. The audit trail becomes a

byproduct of doing things right, not a deliverable manufactured separately.

A Practical Starting Point

If you are a Platform Engineering or SRE team trying to move from SBOM compliance to genuine container trust, the most practical path is a phased rollout:

  • Ensure every image build generates a signed SBOM attached to the image manifest. Choose your format based on primary use case — CycloneDX for CVE correlation, SPDX for license auditing. Start with hardened baseline images to reduce your initial attack surface.
  • Enforce image signature verification at the Kubernetes admission layer using Kyverno or OPA Gatekeeper so unsigned images cannot reach production.
  • Implement SLSA-aligned build provenance attestations for your most critical services. Tools like SLSA GitHub Generator or Tekton Chains automate attestation generation inside existing pipelines.
  • Add runtime monitoring and define expected workload behavior so deviations trigger alerts. Connect image provenance to runtime events so any anomaly can be traced back to the exact build that produced it.

Conclusion

SBOMs are foundational, but a foundation is not the whole system. They provide visibility into container contents, which is critical in an ecosystem where vulnerable and malicious components are widespread.

But visibility is not trust.

Trust requires assurance that images have not been tampered with, evidence of how they were built, and confidence in how they behave at runtime. An SBOM alone answers only one of those questions.

Treating SBOM generation as the end of container security creates a false sense of completion. Treating it as the starting layer of a broader trust model creates a path toward verifiable security.

Author

Biswajit De

Co-Founder and Chief Technology Officer

Related Blogs

See All
SBOM 101: What It Is, How It Works, and Where It Falls Short
16 min read

SBOM 101: What It Is, How It Works, and Where It Falls Short

An SBOM is a machine-readable inventory of every component in a software artifact: names, versions, licenses, hashes, and relationships. It tells you what is there.

Read more
Container Image Signing: Enhancing Security in the Software Supply Chain
Data Protection
3 min read

Container Image Signing: Enhancing Security in the Software Supply Chain

In today's rapidly evolving landscape of containerized applications, ensuring the integrity and authenticity of container images has become paramount. Container image signing is a crucial security practice that addresses these concerns, providing a robust mechanism to verify the origin and integrity of container images throughout the software supply chain

Read more
Litellm supply chain attack
Supply Chain Attack
7 min read

LiteLLM Supply Chain Attack: Why Verified Software Artifacts Matter for AI Security

The LiteLLM supply chain attack shows why vulnerability scanning is not enough. Learn how verified software artifacts strengthen AI software security.

Read more