DevSecOps guide

Signing, provenance and SBOM, described mechanically

None of these makes your software safer on its own. An SBOM is an inventory, a signature proves who produced an artefact, and a provenance attestation describes how it was built. All three are statements, and a statement only becomes a control at the point something refuses to run because the statement is missing or wrong. Most programmes generate the artefacts and never build that refusal, which produces a large amount of metadata and no change in what can reach production.

What does each artefact actually prove?

They answer different questions and are routinely conflated in procurement conversations. A signature answers who built this. A provenance attestation answers how and from what source it was built. An SBOM answers what is inside it. A VEX statement answers whether a known vulnerability affects it. None answers whether the software is secure, and a supplier who implies otherwise is worth pressing on.

ArtefactProvesDoes not proveProduced by
SignatureWhich identity produced this exact artefactThat the contents are good, or that the identity is trustworthyThe build system, at publish time
Provenance attestationWhich source revision, builder and parameters produced itThat the source itself was reviewedThe build platform, not the project's own scripts
SBOMThe components present, to the depth it was generated atWhether any of them is vulnerable, now or laterThe build, ideally from resolved dependency data
VEX statementYour assessment of whether a specific vulnerability appliesThat the assessment is correctThe team that owns the product
Transparency log entryThat the signature existed at a point in timeAnything about the artefact's qualityA public or private log service
Verification policyNothing by itself, it is the thing that gives the others forceThat it is enforced everywhere, unless you checkYou, at the deployment boundary

Where does an SBOM have to be generated to be useful?

Inside the build, from the dependency resolution the build actually performed. An SBOM produced by scanning a finished artefact is a reconstruction: it identifies what a tool can recognise in the output, misses statically linked and vendored code, and cannot see build-time components that shaped the result. An SBOM produced by the build knows exactly which versions were resolved, because it was there when they were.

Depth is the next property to check. A list of direct dependencies is much less useful than the full transitive graph, because the components that cause incidents are usually several levels down and were chosen by a resolver rather than a person. When a supplier gives you an SBOM, check that transitive dependencies appear and that each entry carries a version and a machine-matchable identifier. Names alone are close to useless for matching.

The two formats you will meet are SPDX and CycloneDX, both standardised and widely supported. The choice matters less than consistency: pick one internally, convert at the boundary if a customer wants the other, and store the document with the artefact under the same retention. An SBOM you cannot retrieve for the version running in production has no operational value.

How does artefact signing work now?

Increasingly without long-lived keys. The pattern that has become common uses the build system's own workload identity: the pipeline presents a signed token asserting which repository and workflow is running, a certificate authority issues a short-lived certificate bound to that identity, the artefact is signed with it, and the signature is recorded in a transparency log. Nothing durable needs storing, which removes the key management problem that made signing unpopular for two decades.

The consequence is what verification then checks. You are no longer checking that a signature matches a key you hold, but that the signing identity is the specific repository and workflow you expect, which is stronger and easier to get wrong. A policy accepting any valid signature from a public log accepts a signature from anyone at all, and that is the most common misconfiguration here.

So write the verification policy explicitly: this image must be signed by this identity, from this source repository, on this reference, using this builder. Then test it by attempting to deploy something signed by a different workflow and confirming refusal. A signing programme that has never rejected anything has not been demonstrated to work.

What does provenance add beyond a signature?

It links the artefact back to the inputs, so you can answer whether the thing running in production came from the commit you reviewed. A signature tells you your pipeline produced it. Provenance tells you which revision, which build parameters and which builder produced it, which is what you need after any incident involving a compromised dependency or a modified build step.

The commonly referenced framework here is SLSA, which describes build levels of increasing strength. The distinction that matters is between provenance a project generates about itself, which anyone able to modify the build can also modify, and provenance the build platform generates in a way the build's scripts cannot forge. That is the question to ask a supplier, rather than which level number they claim.

The related property is reproducibility of inputs: dependencies pinned by digest, a pinned builder image, no unpinned network fetches during the build. Provenance describing a build that pulls the latest of something is documenting non-determinism.

Which of this is actually obligatory?

That depends on your jurisdiction, your sector and your customers, and it is a question for counsel rather than for a guide. The shape of the obligations is describable, though, and it now differs sharply between the two jurisdictions most buyers ask about.

In the United States the position changed in January 2026. OMB Memorandum M-26-05, of 23 January 2026, rescinded M-22-18 and its companion M-23-16, the memoranda that had required agencies to collect a CISA Common Form self-attestation of secure development practices before using third-party software. There is no government-wide attestation mandate now. Agencies set risk-based, agency-tailored assurance requirements instead, use of the Common Form is optional, and an attestation is collected only where an agency's own risk assessment calls for one. So both attestation and SBOM provision reach a federal supplier through the terms of an individual contract rather than through a common form, and M-26-05 contemplates terms requiring an SBOM of the runtime production environment on request.

In the European Union the duty is statutory rather than contractual. The Cyber Resilience Act obliges manufacturers of products with digital elements to maintain a machine-readable component inventory and report actively exploited vulnerabilities, phasing in with the reporting duties ahead of the full product requirements.

Sector standards add their own. Payment card requirements include an inventory of bespoke software and its third-party components, and medical device, automotive and industrial regimes each have component documentation expectations. In every case the operative text is the one your contract or your regulator points at, not a summary of it.

The practical reading is that generating SBOMs and provenance is becoming a condition of selling to regulated buyers, on a timetable set by whoever you sell to. Build the capability because it is a procurement requirement heading towards you, and have the specific obligations confirmed by someone accountable for the answer.

What is the minimum that is worth having?

Four things, in this order. Every artefact signed at build with a workload identity rather than a stored key. A verification policy at the deployment boundary that names the expected signing identity and refuses anything else. An SBOM generated by the build, stored with the artefact and retrievable by version. And provenance generated by the build platform, checked by the same admission policy.

Treat the first two as one item, because signing without verification is a filing exercise and verification without signing is impossible. Everything else in this area increases what you know; that pair decides what can run.

The test to run this week: take the newest artefact in your production registry and try to answer, from stored data alone, which commit produced it, who signed it, and what its dependency list was at build time. If any of those requires asking a person, that is the gap, and it is the same gap that turns a supply chain incident into a fortnight of archaeology.

Common questions

Is an SBOM a security control?
No, it is an inventory. It tells you which components are present at the depth it was generated at, which is what lets you answer whether you are affected when a vulnerability is published. It says nothing about whether those components are vulnerable now, and it prevents nothing on its own. It becomes operationally useful only when it is stored with the artefact, retrievable by version, and matched against vulnerability data automatically.
When should an SBOM be generated?
During the build, from the dependency resolution the build performed. An SBOM produced by scanning a finished artefact is a reconstruction that misses vendored and statically linked code and cannot see build-time components. Check that the document includes transitive dependencies, not just direct ones, and that every entry carries a version and a machine-matchable identifier, because component names alone cannot be matched reliably against vulnerability sources.
What is the difference between signing and provenance?
A signature says which identity produced this exact artefact. Provenance says which source revision, build parameters and builder produced it. The signature lets you refuse artefacts your pipeline did not create; provenance lets you trace a running artefact back to the commit you reviewed, which is what an investigation needs. Provenance generated by the build platform is stronger than provenance a project generates about itself, since the latter can be modified by anyone who can modify the build.
What is the most common mistake in artefact signing?
Verifying that a signature is valid rather than verifying who made it. With keyless signing bound to workload identity, any valid signature recorded in a public transparency log is cryptographically fine and may come from anyone at all. The verification policy has to name the expected signing identity, source repository, reference and builder, and it should be tested by deploying something signed by a different workflow and confirming refusal.
Are SBOMs legally required?
It depends on jurisdiction, sector and customer, and it is a question for counsel rather than a guide. In the United States there is no longer a government-wide mandate: OMB Memorandum M-26-05 of 23 January 2026 rescinded the memoranda that required agencies to collect a CISA Common Form secure development self-attestation, so federal attestation and SBOM obligations now arrive through the terms of an individual agency contract rather than through a common form. In the EU, the Cyber Resilience Act obliges manufacturers of products with digital elements to maintain a machine-readable component inventory and report actively exploited vulnerabilities, phased in over time. Sector standards add further inventory expectations.
What is the minimum useful supply chain setup?
Sign every artefact at build using workload identity rather than a stored key, and enforce a verification policy at the deployment boundary that names the expected signing identity. Generate the SBOM in the build and store it with the artefact so it is retrievable by version. Have the build platform produce provenance and check it in the same admission policy. The signing and verification pair is the part that changes what can run, so do it first.

More on DevSecOps implementation

Let’s create something out of this world together.

Have a project in mind? Contact us for expert design and development solutions. Let’s discuss how we can help grow your business.

Azaadi Offer

Claim a free security assessment

Until 31 August we're covering the cost of a full vulnerability assessment and penetration test. Mention it in your message and we'll scope it with you.

  • Web application testing, authenticated and unauthenticated
  • Mobile application testing across iOS and Android
  • External network and infrastructure assessment
  • Manual exploitation by engineers, not scanner output

Testing and the report are free. Fixing what we find is quoted separately, with no obligation to accept.

Read the full offer

Tell us what you are trying to build and we will tell you plainly whether we are the right people for it. Book a call with an expert to work through the detail, or ask for a fixed quote if the scope is already clear. No obligation either way.

Four fields is all we need to get started.

Fastnexa Logo

© 2026 fastnexa. All rights reserved.