Skip to content

Commit 72f6f6f

Browse files
authored
Reorganize content on verifying and downloading SBOMs (#2941)
[ ] Check if this is a typo or other quick fix and ignore the rest :) ## Type of change Small re-org of content and deduplication effort ### What should this PR do? - Have the list of predicate types on only one page - Clarify that you can use the full URI or the shorthand version in the `download` command - From the "Verify containers" page, link out to info about downloading attestations - Put attestation types into a table ### Why are we making this change? Deduplicate info about predicate types and improve clarity ### What are the acceptance criteria? - Links should work - Information should be accurate - The table should be readable ### How should this PR be tested? <!-- What should your reviewer do to test this PR? Please list steps. --> --------- Signed-off-by: s-stumbo <sally.stumbo@chainguard.dev>
1 parent c14bcf0 commit 72f6f6f

File tree

2 files changed

+47
-33
lines changed
  • content/chainguard/chainguard-images/how-to-use
    • retrieve-image-sboms
    • verifying-chainguard-images-and-metadata-signatures-with-cosign

2 files changed

+47
-33
lines changed

content/chainguard/chainguard-images/how-to-use/retrieve-image-sboms/index.md

Lines changed: 46 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
2-
title: "How to Retrieve SBOMs for Chainguard Containers"
3-
linktitle: "Retrieve SBOM"
2+
title: "How to Retrieve SBOMs and attestations for Chainguard Containers"
3+
linktitle: "Retrieve SBOMs"
44
aliases:
55
- /chainguard/chainguard-images/retrieve-image-sboms
66
- /chainguard/chainguard-images/images-features/retrieve-image-sboms
@@ -23,21 +23,24 @@ toc: true
2323

2424
Chainguard provides a Software Bill of Materials (SBOM) with every container image, enabling complete transparency about package contents and dependencies for security and compliance requirements. These SBOMs are cryptographically signed and attached as attestations, making them retrievable and verifiable. By including only the minimum packages needed, Chainguard Containers reduce attack surface while the SBOM ensures you can verify exactly what's in each image.
2525

26-
Even though they contain the minimum number of packages, there may come a time when you want to know exactly what's running inside of a certain Chainguard Container. For this reason, Chainguard includes a signed SBOM with each image in the form of a [software attestation](https://slsa.dev/attestation-model), allowing you to verify the contents and meet compliance requirements.
26+
Even though they contain the minimum number of packages, there may come a time when you want to know exactly what's running inside of a certain Chainguard Container. For this reason, Chainguard includes a signed SBOM with each image in the form of a [software attestation](https://slsa.dev/attestation-model), allowing you to verify the contents and meet compliance requirements. Chainguard publishes several different types of attestations; see the options under the [Available attestation types](#available-attestation-types) section on this page.
2727

28-
[Cosign](/open-source/sigstore/cosign/an-introduction-to-cosign/) a part of the Sigstore project — supports software artifact signing, verification, and storage in an [OCI (Open Container Initiative)](/open-source/oci/what-is-the-oci/) registry, as well as the retrieval of said artifacts. This tutorial outlines how you can use the `cosign` command to retrieve a Chainguard Container's SBOM.
28+
## Retrieve a container image's attestation
2929

30+
You can retrieve a container image's attestation in two ways:
31+
- [Using Cosign](#retrieve-a-container-image-attestation-via-cosign)
32+
- [Cosign](/open-source/sigstore/cosign/an-introduction-to-cosign/) — a part of the Sigstore project — supports software artifact signing, verification, and storage in an [OCI (Open Container Initiative)](/open-source/oci/what-is-the-oci/) registry, as well as the retrieval of said artifacts.
33+
- [In the Chainguard Console](#retrieve-a-container-image-attestation-in-the-chainguard-console)
3034

31-
## Prerequisites
35+
### Prerequisites
3236

33-
In order to follow this guide, you'll need the following installed on your local machine:
37+
To retrieve an attestation via Cosign, you'll need the following installed on your local machine:
3438

35-
* **Cosign** — to retrieve SBOMs associated with Chainguard Containers, check out [our guide on installing Cosign](/open-source/sigstore/cosign/how-to-install-cosign/) to configure it.
36-
* **jq** — to process JSON, visit the [jq downloads](https://jqlang.github.io/jq/download/) page to set it up.
39+
* **Cosign**: Follow [our guide on installing Cosign](/open-source/sigstore/cosign/how-to-install-cosign/) to configure it.
40+
* **jq**: Follow instructions on the [jq downloads page](https://jqlang.github.io/jq/download/) to set it up.
3741

3842

39-
## Using Cosign to retrieve an container image's SBOM
40-
43+
### Retrieve a container image attestation via Cosign
4144

4245
Cosign includes a `download attestation` command that allows you to retrieve a Chainguard Container's attestation over the command line. Different types of attestations are referenced by their **predicate type**. To authenticate these statements and verify the authenticity of the software producer, you can use [`cosign verify-attestation`](/open-source/sigstore/cosign/how-to-verify-file-signatures-with-cosign/).
4346

@@ -55,18 +58,10 @@ Cosign returns the attestation in a signed envelope, with the SBOM stored as a b
5558
You can include the following flags when retrieving attestations:
5659
* The `--platform` flag, which selects the target platform for the image, such as `linux/amd64` or `linux/arm64`.
5760
* This flag requires Cosign version 2.2.1 or newer.
58-
* The `--predicate-type` flag, required to specify which type of attestation to retrieve.
59-
* Chainguard publishes several different types of attestations. Not every image will have every predicate type; availability depends on the image and its build process. Available predicate types include:
60-
* `https://apko.dev/image-configuration`: Available on all images.
61-
* `https://slsa.dev/provenance/v1`: Available on all images.
62-
* `https://spdx.dev/Document`: Available on all images.
63-
* `https://chainguard.dev/end-of-life`: Only available on EOL images in grace period.
64-
* `https://cyclonedx.org/bom`: Only available to customers, on new builds or rebuilds after January 29, 2026. Use `cyclonedx` as the predicate type flag's value.
65-
* `https://chainguard.dev/helm-values/v1`: Only images that are tested with Helm and have a corresponding upstream Helm chart have this attestation.
66-
* `https://chainguard.dev/attestation/syft/v1`: Not available on all images; this predicate is less common.
67-
* `https://chainguard.dev/attestation/chart-lock/v1`: Only present for images where Helm chart locking is relevant.
68-
69-
## Image SBOMs in the Chainguard Console
61+
* The `--predicate-type` flag, required to specify which type of attestation to retrieve. You can use the full URI or the shorthand version as the value of the flag. See the [Available attestation types](#available-attestation-types) section for a list of options.
62+
63+
64+
### Retrieve a container image attestation in the Chainguard Console
7065

7166
You can also find container image SBOMs in the [Chainguard Console](https://console.chainguard.dev). After signing in to the Console and clicking either the **Public images** or, if available, **Organization images** you'll be presented with a list of images. Clicking on any of these will take you to the image's landing page. There, you can click on the [**SBOM** tab](/chainguard/chainguard-images/how-to-use/images-directory/#sbom-tab) to find and download the SBOM for the given image.
7267

@@ -78,6 +73,35 @@ You can use the drop-down menu above the table to select which version and archi
7873

7974
Check out our guide on [using the Chainguard Containers Directory](/chainguard/chainguard-images/how-to-use/images-directory/) for more details.
8075

76+
## Available attestation types
77+
78+
Chainguard publishes several different types of attestations. Not every image will have every predicate type; availability depends on the image and its build process. Available predicate types include:
79+
80+
* **SLSA**: `https://slsa.dev/provenance/v1` (`slsaprovenance1`)
81+
* The [SLSA 1.0](https://slsa.dev/spec/v1.0/provenance) provenance attestation contains information about the image build environment.
82+
* Available on all images.
83+
* **apko**: `https://apko.dev/image-configuration`
84+
* Contains the configuration used by that particular image build, including direct dependencies, user accounts, and entry point.
85+
* Available on all images.
86+
* **SPDX**: `https://spdx.dev/Document` (`spdx`,`spdxjson`)
87+
* Contains the image SBOM in SPDX format.
88+
* Available on all images.
89+
* **Chainguard EOL**: `https://chainguard.dev/end-of-life`
90+
* End-of-life status.
91+
* Only available on EOL images in grace period.
92+
* **CycloneDX**: `https://cyclonedx.org/bom` (`cyclonedx`)
93+
* Contains the image SBOM in CycloneDX format.
94+
* Only available to customers, on new builds or rebuilds after January 29, 2026.
95+
* **Chainguard Helm values**: `https://chainguard.dev/helm-values/v1`
96+
* Contains Helm values for images with vetted upstream Helm charts.
97+
* Only images that are tested with Helm and have a corresponding upstream Helm chart have this attestation.
98+
* **Chainguard Helm chart-lock**: `https://chainguard.dev/attestation/chart-lock/v1`
99+
* Contains Helm chart-lock data for relevant images.
100+
* Only present for images where Helm chart locking is relevant.
101+
* **Syft**: `https://chainguard.dev/attestation/syft/v1`
102+
* Contains Syft-based SBOM attestation.
103+
* Not available on all images; this predicate is less common.
104+
81105
## License Information and Source Code references
82106

83107
The SBOM downloaded using either Cosign or Console methods described previously contain identical information. It lists binary packages present in the image, their licensing information using [SPDX license](https://spdx.org/licenses/) and [exceptions lists](https://spdx.org/licenses/exceptions-index.html), and external source code references.

content/chainguard/chainguard-images/how-to-use/verifying-chainguard-images-and-metadata-signatures-with-cosign/index.md

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -112,17 +112,7 @@ cosign verify \
112112

113113
Attestations are signed metadata about the artifact, which can include SBOMs, vulnerability scans, or other custom predicates.
114114

115-
The [attestations](https://slsa.dev/attestation-model) for a container image can be obtained and verified using Cosign. These are a few of the existing types:
116-
117-
| Attestation Type | Description |
118-
| ----------------- | ------------ |
119-
| `https://slsa.dev/provenance/v1` | The [SLSA 1.0](https://slsa.dev/spec/v1.0/provenance) provenance attestation contains information about the image build environment. |
120-
| `https://apko.dev/image-configuration` | Contains the configuration used by that particular image build, including direct dependencies, user accounts, and entry point. |
121-
| `https://spdx.dev/Document` | Contains the image SBOM in SPDX format. |
122-
123-
To download an attestation, use the `cosign download attestation` command and provide both the `predicate-type` and the build `platform`. By default, this command will fetch the SBOM assigned to the `latest` tag. You can also specify the tag you want to fetch the attestation from.
124-
125-
To download a different attestation, replace the `--predicate-type` parameter value with the desired attestation URL identifier. To illustrate, the following examples will obtain the SBOM for the requested image for the `linux/amd64` platform.
115+
The [attestations](https://slsa.dev/attestation-model) for a container image can be obtained and verified using Cosign or directly in the Chainguard Console. See [How to retrieve attestations and SBOMs for Chainguard Containers](/chainguard/chainguard-images/how-to-use/retrieve-image-sboms/) for more information.
126116

127117
### Public Registry
128118

0 commit comments

Comments
 (0)