You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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>
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.
25
25
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.
27
27
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
29
29
30
+
You can retrieve a container image's attestation in two ways:
-[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)
30
34
31
-
## Prerequisites
35
+
###Prerequisites
32
36
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:
34
38
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.
37
41
38
42
39
-
## Using Cosign to retrieve an container image's SBOM
40
-
43
+
### Retrieve a container image attestation via Cosign
41
44
42
45
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/).
43
46
@@ -55,18 +58,10 @@ Cosign returns the attestation in a signed envelope, with the SBOM stored as a b
55
58
You can include the following flags when retrieving attestations:
56
59
* The `--platform` flag, which selects the target platform for the image, such as `linux/amd64` or `linux/arm64`.
57
60
* 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
70
65
71
66
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.
72
67
@@ -78,6 +73,35 @@ You can use the drop-down menu above the table to select which version and archi
78
73
79
74
Check out our guide on [using the Chainguard Containers Directory](/chainguard/chainguard-images/how-to-use/images-directory/) for more details.
80
75
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:
* Not available on all images; this predicate is less common.
104
+
81
105
## License Information and Source Code references
82
106
83
107
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.
Copy file name to clipboardExpand all lines: content/chainguard/chainguard-images/how-to-use/verifying-chainguard-images-and-metadata-signatures-with-cosign/index.md
+1-11Lines changed: 1 addition & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -112,17 +112,7 @@ cosign verify \
112
112
113
113
Attestations are signed metadata about the artifact, which can include SBOMs, vulnerability scans, or other custom predicates.
114
114
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.
0 commit comments