Lesson 4 of 7 · 9 min
SBOMs and artifact signing: SPDX, CycloneDX, Sigstore and SLSA
A software bill of materials lists what is inside your software; signing and provenance prove where it came from. Learn the formats, the tools and the SLSA framework that tie them together.
The previous lesson ended with two questions every defender faced during SolarWinds and Log4Shell: what is inside the software we run, and can we trust that it was built the way we think? The industry’s answers are the software bill of materials (SBOM), for the first question, and signing with build provenance, for the second.
What an SBOM is
An SBOM is a machine-readable list of the components that make up a piece of software, including open-source libraries and their versions, and how they relate to each other. The usual comparison is an ingredients label on food. When a new flaw is announced in a component, an organisation with SBOMs for its software can search them and know within minutes which products are affected.
In 2021, following US Executive Order 14028, the US National Telecommunications and Information Administration (NTIA) published the minimum elements for an SBOM. They cover three areas: data fields (such as supplier, component name, version, unique identifiers, dependency relationships, the author of the SBOM data and a timestamp), automation support (a machine-readable format) and practices (how often SBOMs are produced, how deep they go and how they are shared). CISA now leads SBOM work in the US.
The two main formats
| Format | Maintained by | Notes |
|---|---|---|
| SPDX | The Linux Foundation | Long-established, strong on licence information; published as an international standard (ISO/IEC 5962) |
| CycloneDX | OWASP | Designed for security use cases; also describes services, vulnerabilities and more |
Both are widely supported by build tools and scanners. The choice matters less than generating SBOMs automatically in the build, storing them with each release and actually using them. OWASP Dependency-Track is an open-source platform that ingests SBOMs and continuously checks the listed components against vulnerability data.
Signing: proving who produced an artifact
An SBOM says what should be inside. A signature proves an artifact, such as a container image, package or binary, was produced by a specific party and has not been altered since. Traditional signing requires managing long-lived private keys, which are themselves valuable targets. Sigstore, an open-source project under the Open Source Security Foundation (OpenSSF), offers an alternative: its cosign tool can sign artifacts with short-lived certificates tied to an identity, such as a CI workload or a developer account, and records signatures in a public transparency log so they can be audited.
Provenance and SLSA
A signature proves who signed, but not how the artifact was built. Build provenance is a signed record of that: which source, which build system, which steps. SLSA (Supply-chain Levels for Software Artifacts) is a framework, also under OpenSSF, that defines increasing levels of assurance for builds. Higher levels require builds on a hosted platform that generates provenance itself, with protections that make it hard for a single person or a compromised build step to forge it. A SolarWinds-style compromise of the build is exactly what these controls aim to make detectable.
- Generate an SBOM in every build, not by hand, and keep it with the release.
- Sign release artifacts and verify signatures before deployment, not just at publication.
- Produce provenance from the build platform and check it at deploy time.
- Ask suppliers for SBOMs and signed artifacts, and check what they send.
Where FireAI fits
On the Mac, Apple’s code signing plays a similar role for apps, and FireAI builds on it. Rules follow each app’s verified code signature, and when an app is not signed by a known developer, or has been modified since it was signed, FireAI’s connection prompt says so plainly before anything connects.
Key takeaways
- An SBOM is a machine-readable ingredients list for software.
- NTIA’s minimum elements define what an SBOM should contain; SPDX and CycloneDX are the main formats.
- Sigstore’s cosign signs artifacts with short-lived, identity-based certificates and a public log.
- SLSA defines levels of build integrity based on trustworthy provenance.
Check yourself
1. What problem does an SBOM solve most directly?
- Encrypting source code
- Knowing which components are inside a piece of software — Right.
- Speeding up builds
- Replacing code review
An SBOM lists components and versions, so you can quickly tell whether a newly announced flaw affects you.
2. What does build provenance add beyond a signature?
- A record of how and where the artifact was built — Right.
- A faster download
- A licence key
- Automatic patching
A signature proves who signed. Provenance describes the source, build system and steps that produced the artifact.
3. Which pair are the two main SBOM formats?
- JSON and XML
- SPDX and CycloneDX — Right.
- SLSA and Sigstore
- CVE and CVSS
SPDX and CycloneDX are SBOM formats. SLSA and Sigstore are about build integrity and signing.
Do it with FireAI
Put this lesson into practice on your own Mac.
- Rules: app, website, domain, IP or a range, forever or until you restart — Write a rule as precise as one address or as broad as an entire domain.
- Import and export your rules — Move your rules to a new Mac, or back them up, in a couple of clicks.
- How FireAI watches your Mac’s connections — Know which app is talking to the internet, in plain terms, without installing anything that runs as a hidden background service.
- Threat lists (opt-in) — Check your traffic against public threat data without sending it anywhere.
- The World map — See where your data actually goes, not just a hostname you’d have to look up yourself.
Sources
- NTIA: The minimum elements for a software bill of materials
- CISA: Software Bill of Materials
- SPDX
- CycloneDX
- OWASP Dependency-Track
- Sigstore
- Sigstore docs: Signing with cosign
- SLSA: Supply-chain Levels for Software Artifacts
Put it into practice on your Mac
Try every feature free for 17 days, no card needed.