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
Document SecureBuild verification path for SDK images (#3966)
* Document SecureBuild verification path for SDK images
Replicated SDK images are rebuilt by SecureBuild roughly 6 hours after
release, which breaks the upstream verification script because the
digest, signing identity, and provenance builder all change. Add a
second verification path using the SecureBuild-provided
verify-securebuild-image.sh script, and explain the two-phase
verification lifecycle so customers know which path to use.
---------
Co-authored-by: Paige Calvert <eura.calvert@gmail.com>
# Validate provenance of releases for the Replicated SDK
2
2
3
-
:::note
4
-
This information applies to Replicated SDK versions 1.18.1 and earlier.
5
-
:::
6
-
7
-
This topic describes how to verify the authenticity and integrity of Replicated SDK container images using SLSA provenance, image signatures, and Software Bill of Materials (SBOM) attestations.
3
+
This topic describes how to verify the authenticity and integrity of Replicated SDK container images. It covers Supply Chain Levels for Software Artifacts (SLSA) provenance, image signatures, and Software Bill of Materials (SBOM) attestations.
8
4
9
5
## About supply chain levels for software artifacts (SLSA)
10
6
11
7
[Supply Chain Levels for Software Artifacts (SLSA)](https://slsa.dev/), pronounced "salsa," is a security framework that comprises standards and controls designed to prevent tampering, enhance integrity, and secure software packages and infrastructure.
12
8
13
9
## Purpose of attestations
14
10
15
-
Attestations enable the inspection of an image to determine its origin, the identity of its creator, the creation process, and its contents. When building software using the Replicated SDK, the image's Software Bill of Materials (SBOM) and SLSA-based provenance attestations empower your customers to make informed decisions regarding the impact of an image on the supply chain security of your application.
11
+
Attestations enable the inspection of an image to determine its origin, the identity of its creator, the creation process, and its contents. When building software using the Replicated SDK, the image's SBOM and SLSA-based provenance attestations help your customers assess your application's supply chain security.
16
12
17
13
The Replicated SDK build process uses Chainguard's Wolfi-based images to minimize the number of CVEs. The build process automatically generates:
18
14
- SLSA provenance attestations
19
-
- Image signatures
20
-
- Software Bill of Materials (SBOM)
15
+
- Image signatures
16
+
- SBOM
17
+
18
+
## About the SDK image verification lifecycle
19
+
20
+
Replicated publishes SDK images in two phases, and the verification method depends on which phase an image is in:
21
+
22
+
1.**Original release build.** When Replicated releases a new SDK version, it builds the image through its own pipeline, which attaches:
23
+
- SLSA L3 provenance from the GitHub Actions build
24
+
- A cosign signature using Replicated's environment-specific keys
25
+
- An SBOM attestation signed with the same keys
26
+
27
+
During this phase, see [Verify an original SDK release image](#verify-original).
28
+
29
+
1.**SecureBuild rebuild.** Approximately six hours after a release, [SecureBuild](https://securebuild.com/) rebuilds the image against the latest upstream package versions to remediate any newly-disclosed CVEs. This rebuild produces a new image digest signed with SecureBuild's keyless identity (Sigstore Fulcio and Rekor, backed by a Google Cloud Platform (GCP) service account). After this rebuild, the upstream verification script fails because the digest, signing identity, and provenance builder have all changed.
30
+
31
+
During this phase, see [Verify a SecureBuild-rebuilt SDK image](#verify-securebuild).
32
+
33
+
This lifecycle reflects a trade-off between provenance continuity and CVE remediation. SLSA provenance binds to a specific build pipeline and digest, so any rebuild by a different builder requires a new attestation chain. Both verification paths provide equivalent cryptographic guarantees, only with different trust anchors.
21
34
22
35
## Prerequisites
36
+
23
37
Before performing these tasks, install the following tools:
-[slsa-verifier](https://github.com/slsa-framework/slsa-verifier) (only required for the original release build)
41
+
42
+
## Verify an original SDK release image {#verify-original}
27
43
28
-
## Verify SDK image integrity
29
-
### Using the verification script
30
-
Replicated provides a verification script within the replicated-sdk repo that you can use directly or use it as a basis to develop your own verification automation. The script is located at https://github.com/replicatedhq/replicated-sdk/blob/main/certs/verify-image.sh
44
+
Use this method when verifying a Replicated SDK image during the window between the original release and the SecureBuild rebuild.
31
45
32
-
The verification script performs three key security checks:
33
-
1. SBOM attestation verification
34
-
2. SLSA Provenance verification
35
-
3. Image signature verification
46
+
### Use the verification script
47
+
48
+
Replicated provides a verification script in the replicated-sdk repository that you can use directly or as a basis for your own verification automation. You can see the script at https://github.com/replicatedhq/replicated-sdk/blob/main/certs/verify-image.sh.
49
+
50
+
The verification script performs these security checks:
51
+
* SLSA provenance verification
52
+
* Image signature verification
53
+
* SBOM attestation verification
36
54
37
55
**Usage:**
38
56
```bash
@@ -59,22 +77,78 @@ Optional Arguments:
59
77
60
78
The script performs the following checks:
61
79
62
-
1.**SLSA Provenance Verification**
80
+
1. SLSA provenance verification:
63
81
- Validates the build chain integrity
64
-
- Verifies the build was performed through the secure build pipeline
82
+
- Verifies that the build ran through the secure build pipeline
65
83
- Displays build details
66
84
67
-
2.**Image Signature Verification**
85
+
1.Image signature verification:
68
86
- Uses environment-specific public keys for verification
69
-
- The repo contains the public located in the /certs directory. For example the `cosign-prod.pub` key is used to validate a production release of the SDK.
70
-
71
-
3.**SBOM Attestation Verification**
72
-
- Validates the Software Bill of Materials
73
-
- Displays SBOM details including:
74
-
- Document name
75
-
- Creation timestamp
76
-
- Creator information
77
-
- Total number of packages
78
-
- Optionally shows full SBOM content with `--show-sbom` flag
79
-
80
-
For more information about the SDK release process and security measures, see the [Replicated SDK Release Process documentation](https://docs.replicated.com/vendor/releases-creating).
87
+
- The replicated-sdk repository contains the public keys in the `certs` directory. For example, the `cosign-prod.pub` key validates a production release of the SDK.
88
+
89
+
1. SBOM attestation verification:
90
+
- Validates the SBOM
91
+
- Displays SBOM details, including:
92
+
- Document name
93
+
- Creation timestamp
94
+
- Creator information
95
+
- Total number of packages
96
+
- Optionally shows full SBOM content with the `--show-sbom` flag
97
+
98
+
## Verify a SecureBuild-rebuilt SDK image {#verify-securebuild}
99
+
100
+
Use this method when verifying a Replicated SDK image after SecureBuild has rebuilt it (approximately six hours after the release). SecureBuild rebuilds produce a new digest signed using keyless signing through Sigstore, Fulcio, and Rekor.
101
+
102
+
### Use the verification script
103
+
104
+
SecureBuild provides a verification script in the securebuild repository that you can use directly or as a basis for your own verification automation. You can find the script at https://github.com/securebuildhq/securebuild/blob/main/scripts/verify-securebuild-image.sh.
105
+
106
+
The verification script performs these security checks against the SecureBuild signing identity:
107
+
* SLSA v1.0 provenance verification
108
+
* Cosign image signature verification
109
+
* Software Package Data Exchange (SPDX) SBOM attestation verification
110
+
111
+
Contact your Replicated account team for the SecureBuild signing identity (a GCP service account email) that applies to your images.
0 commit comments