CI Compliance
Integrate compliance evidence into CI workflows
Continue readingSupply-chain security becomes operational when source, dependencies, builds, artifacts, suppliers, and deployed versions can be traced and verified—not when an SBOM or provenance file exists somewhere without a consumer.
Substantively reviewed . This revision replaces the superseded SLSA v1.0 framing with the approved SLSA v1.2 specification and adds the Source Track to the operating model.
SLSA v1.2 is the current approved specification. It includes both Build and Source tracks, plus cross-track concepts and attestation formats. The previous version of this guide was anchored to SLSA v1.0, which is no longer the current specification.
SLSA is most useful as a vocabulary for increasing assurance about source and build processes; it does not replace dependency risk management, vulnerability response, supplier due diligence, secrets controls, code review, incident response, or product-specific security testing. Treat its levels and attestations as evidence about defined properties, not as a universal software-security score.
NIST SP 800-204D provides complementary guidance for integrating software supply-chain security into CI/CD, while SP 800-161 Rev. 1 addresses broader cybersecurity supply-chain risk management. Final NIST SP 1326 adds a practical supplier due-diligence starting point covering ownership/influence, provenance, resilience, foundational cyber practices, and supply-chain tiers.
Start with the path from source to production. Identify source repositories, source-control organizations, build definitions, reusable workflows, runners, package registries, dependency sources, signing or attestation systems, artifact stores, deployment controllers, cloud accounts, and the teams or suppliers that administer them.
For each link, record who can change it, what credentials it uses, what is logged, how changes are reviewed, what evidence is produced, and which downstream products depend on it. A highly trusted build service can become a concentration risk if hundreds of products depend on one administrative boundary.
Include external suppliers. A commercial package, hosted build service, base image, compiler, package registry, SaaS dependency, and managed deployment platform can all influence the software ultimately delivered.
SLSA 1.2's Source Track makes source-control assurance explicit. Organizations should decide what source properties they need to rely on: attributable changes, protected history, enforced review, controlled administrative access, durable repository identity, and evidence about the source-control system itself.
Do not stop at branch protection. Review who can change branch rules, bypass approvals, modify CI definitions, rewrite history, administer organization-wide apps, or inject credentials. Source governance should cover the privileged paths around the repository as well as the pull-request path inside it.
For critical products, record the source revision used for each release and retain enough information to reconstruct which repository state produced a deployed artifact.
Build provenance should connect an artifact digest to the build process and inputs that produced it. The consumer must then have a policy that decides whether the provenance is acceptable. Generating an attestation without verifying it later creates storage, not assurance.
Define which build platforms are approved, how their identities are established, how build definitions are protected, what network or credential access builders receive, whether builds are isolated, how secrets are injected, and what administrators can bypass.
At release or deployment, verify the artifact rather than trusting a mutable filename or tag. Where signatures or attestations are part of the design, verification failure should have an explicit operational result: block, quarantine, escalate, or require a documented exception.
Current SLSA level model: the approved SLSA v1.2 Build Track defines Build L0 through Build L3. Build L1 requires provenance, Build L2 adds signed provenance from a hosted build platform, and Build L3 adds hardened-build requirements. References to a current “SLSA Build Level 4” are legacy framing from older SLSA versions and should not be used as the current implementation target.
Sigstore provides a separate set of software-signing and verification components. Cosign signs and verifies containers and other artifacts; Fulcio issues short-lived signing certificates tied to identity; Rekor provides transparency-log services; and Sigstore's policy-controller provides an admission controller for Kubernetes that can validate image signatures and attestations.
Kubernetes admission control is the mechanism that allows admission-time policy to accept, warn on, or reject workload changes before persistence. Signature enforcement is not a generic property automatically supplied by every Kubernetes cluster or by Kubernetes 1.30 itself. A team must deliberately deploy and configure an admission policy implementation—such as Sigstore policy-controller—and then define which namespaces, image patterns, authorities, signatures, attestations, and failure modes are trusted.
For a safe rollout, begin in audit or warning mode where appropriate, inventory unsigned or unverifiable workloads, establish trusted identities and registries, pin image references to digests, validate the provenance/attestation policy against real release artifacts, and then move bounded namespaces or workloads to enforcement. Treat policy changes, trusted-root changes, bypass permissions, and controller administration as privileged supply-chain controls.
Do not claim a generic percentage reduction in “unverified deployments” unless it comes from your own measured environment or a traceable study. The objective is verifiable release evidence and explicit deployment policy, not an unsupported industry-average improvement statistic.
Dependency risk starts at selection. Define allowed sources, package managers, namespace protections, versioning policy, integrity checks, update ownership, unsupported-component rules, and what evidence is required for critical third-party software.
Lockfiles and checksums improve repeatability, but pinned software can still be vulnerable or abandoned. Maintain a process for identifying when a dependency is no longer acceptable because of vulnerability, provenance, maintainer, licence, support, or supplier changes.
For high-consequence dependencies, combine technical evidence with supplier due diligence. Use the NIST SP 1326 supplier due-diligence analysis and vendor security questionnaire when the dependency is delivered by a material vendor rather than an anonymous package alone.
Current baseline: CISA's 2025 minimum-elements update expands the historical 2021 NTIA baseline to eleven minimum data fields and revises the surrounding automation and process expectations. Use the CISA SBOM Minimum Elements 2025 guide for the current field-by-field implementation baseline.
An SBOM is valuable when someone uses it to answer a question: Which deployed products contain this component? Which versions are affected? Which supplier introduced it? Which product owner must act? Is the component reachable or actually used? What customer or regulator evidence must be produced?
Generate SBOMs at a point where component identity can be tied to a product and release. Preserve the artifact digest and product/version context. Decide whether generated data covers source dependencies, built packages, operating-system packages, containers, bundled libraries, and other relevant components.
Then test the response path. Choose a real or simulated component advisory and measure whether the organization can find affected releases, identify owners, determine production exposure, make a risk decision, and preserve the evidence used.
| Evidence | Question it should answer |
|---|---|
| Source revision and repository identity | What exact source state did this release come from? |
| Review / policy record | Which required source controls were satisfied or excepted? |
| Build identity and provenance | Which trusted build path produced this artifact? |
| Artifact digest / signature | Is the artifact being deployed the artifact that was approved? |
| SBOM | Which known components are associated with this release? |
| Dependency and vulnerability results | What material findings existed at release time? |
| Exception records | Which risks were knowingly accepted, by whom, and until when? |
| Deployment record | Where and when was this artifact promoted? |
Do not require an SBOM, provenance statement, attestation, penetration test, or certification merely because it sounds mature. Define how your team will receive it, what scope it must cover, which format or access path is useful, who reviews it, what finding changes the decision, and how often the evidence must be refreshed.
For hosted platforms, ask how the provider protects its own source and build systems, how material dependency or architecture changes are communicated, how vulnerability information is shared, and what happens to evidence access when the contract ends.
Run at least three scenarios: a critical vulnerable dependency, a compromised or untrusted build path, and a supplier or registry disruption. For each scenario, determine how the organization identifies affected products, blocks new releases, validates existing artifacts, communicates with owners, rolls back or replaces components, and records the decision.
The exercise should expose missing identifiers and ownership. If teams cannot connect a component or build platform to deployed services, the supply-chain inventory is not operational yet.
Follow the next implementation topic without returning to search.
Integrate compliance evidence into CI workflows
Continue readingDesign and operate APIs with current security controls
Continue readingModel trust boundaries and abuse paths, review security architecture, record design risk, and convert assumptions into verification
Continue readingUse the source-backed research to pressure-test assumptions, then build a reusable evaluation brief before you compare products, scope implementation, or request a fit review.