Skip to content

chore: add SLSA provenance to release binaries and container images#10048

Merged
gbartolini merged 7 commits intomainfrom
dev/9440
Mar 1, 2026
Merged

chore: add SLSA provenance to release binaries and container images#10048
gbartolini merged 7 commits intomainfrom
dev/9440

Conversation

@sxd
Copy link
Member

@sxd sxd commented Feb 23, 2026

Add SLSA3 provenance attestation for release binaries (via
slsa-framework generator_generic_slsa3) and container images (via
generator_container_slsa3) in both the release and CI workflows,
satisfying the OpenSSF Scorecard signed-releases check.

Closes #9440

@sxd sxd requested review from a team, NiccoloFei, jsilvela and litaocdl as code owners February 23, 2026 14:11
@dosubot dosubot bot added the size:S This PR changes 10-29 lines, ignoring generated files. label Feb 23, 2026
@cnpg-bot cnpg-bot added backport-requested ◀️ This pull request should be backported to all supported releases release-1.25 release-1.27 release-1.28 labels Feb 23, 2026
@github-actions
Copy link
Contributor

❗ By default, the pull request is configured to backport to all release branches.

  • To stop backporting this pr, remove the label: backport-requested ◀️ or add the label 'do not backport'
  • To stop backporting this pr to a certain release branch, remove the specific branch label: release-x.y

@dosubot dosubot bot added chore Intangible work to reduce technical debt github_actions Pull requests that update GitHub Actions code labels Feb 23, 2026
@sxd sxd marked this pull request as draft February 23, 2026 14:41
@sxd sxd force-pushed the dev/9440 branch 4 times, most recently from 16a5b17 to 61a3121 Compare February 25, 2026 12:56
@sxd sxd marked this pull request as ready for review February 25, 2026 12:59
@dosubot dosubot bot added size:M This PR changes 30-99 lines, ignoring generated files. and removed size:S This PR changes 10-29 lines, ignoring generated files. labels Feb 25, 2026
@mnencia mnencia force-pushed the dev/9440 branch 2 times, most recently from 06b3e10 to 2b87be2 Compare February 26, 2026 14:53
@dosubot dosubot bot added size:L This PR changes 100-499 lines, ignoring generated files. and removed size:M This PR changes 30-99 lines, ignoring generated files. labels Feb 26, 2026
@mnencia mnencia changed the title chore: add provenance to releases binaries chore: add SLSA provenance to release binaries and container images Feb 26, 2026
@dosubot dosubot bot added the lgtm This PR has been approved by a maintainer label Feb 26, 2026
@mnencia
Copy link
Member

mnencia commented Feb 26, 2026

/ok-to-merge no impacto on E2E

@cnpg-bot cnpg-bot added the ok to merge 👌 This PR can be merged label Feb 26, 2026
@gbartolini
Copy link
Contributor

@sxd, what shall we do then with one we currently add through bake?

@gbartolini gbartolini added the do not merge 🙅 This PR cannot be merged (yet) label Feb 27, 2026
@gbartolini
Copy link
Contributor

gbartolini commented Feb 27, 2026

Adding "do not merge" as we should add:

Shall we also install this action? https://github.com/slsa-framework/slsa-verifier/blob/main/actions/installer/README.md (ok in another ticket).

@gbartolini
Copy link
Contributor

I have slightly modified the security page to mention SLSA Build L3. It's probably enough for now.

@mnencia
Copy link
Member

mnencia commented Feb 27, 2026

@gbartolini The BuildKit provenance added through bake should be kept as-is. It complements rather than conflicts with the SLSA Generator provenance.

The two mechanisms coexist on the same image through different attachment methods and serve different purposes:

  • BuildKit provenance (OCI image attestation manifests): build-level details like Dockerfile, build args, materials, platform-specific info. Achieves SLSA Level 1–2 since the build tool alone can't guarantee runner isolation.
  • SLSA GitHub Generator (cosign keyless OIDC attestation): infrastructure-level attestation covering runner isolation, source commit, workflow identity. Achieves SLSA Level 3, which is what the OpenSSF Scorecard checks for.

No changes needed to the existing bake configuration.

sxd and others added 7 commits February 28, 2026 12:40
Closes #9440

Signed-off-by: Jonathan Gonzalez V. <[email protected]>
Signed-off-by: Marco Nenciarini <[email protected]>
The SLSA generator's builder-fetch.sh resolves the binary download
URL from the git ref and breaks when pinned by SHA instead of tag.

See: slsa-framework/slsa-github-generator#4216
Signed-off-by: Marco Nenciarini <[email protected]>
Signed-off-by: Gabriele Bartolini <[email protected]>
Add slsa-verifier commands for container images and release binaries
to the security documentation.

Signed-off-by: Marco Nenciarini <[email protected]>
Signed-off-by: Gabriele Bartolini <[email protected]>
@gbartolini
Copy link
Contributor

Awesome, great, thanks @mnencia. Made some small changes and merging now.

@gbartolini gbartolini merged commit d107281 into main Mar 1, 2026
37 checks passed
@gbartolini gbartolini deleted the dev/9440 branch March 1, 2026 22:24
cnpg-bot pushed a commit that referenced this pull request Mar 1, 2026
…10048)

Add SLSA3 provenance attestation for release binaries (via
slsa-framework generator_generic_slsa3) and container images (via
generator_container_slsa3) in both the release and CI workflows,
satisfying the OpenSSF Scorecard signed-releases check.

Closes #9440

Signed-off-by: Jonathan Gonzalez V. <[email protected]>
Signed-off-by: Marco Nenciarini <[email protected]>
Signed-off-by: Gabriele Bartolini <[email protected]>
Co-authored-by: Marco Nenciarini <[email protected]>
Co-authored-by: Gabriele Bartolini <[email protected]>
(cherry picked from commit d107281)
cnpg-bot pushed a commit that referenced this pull request Mar 1, 2026
…10048)

Add SLSA3 provenance attestation for release binaries (via
slsa-framework generator_generic_slsa3) and container images (via
generator_container_slsa3) in both the release and CI workflows,
satisfying the OpenSSF Scorecard signed-releases check.

Closes #9440

Signed-off-by: Jonathan Gonzalez V. <[email protected]>
Signed-off-by: Marco Nenciarini <[email protected]>
Signed-off-by: Gabriele Bartolini <[email protected]>
Co-authored-by: Marco Nenciarini <[email protected]>
Co-authored-by: Gabriele Bartolini <[email protected]>
(cherry picked from commit d107281)
cnpg-bot pushed a commit that referenced this pull request Mar 2, 2026
…10048)

Add SLSA3 provenance attestation for release binaries (via
slsa-framework generator_generic_slsa3) and container images (via
generator_container_slsa3) in both the release and CI workflows,
satisfying the OpenSSF Scorecard signed-releases check.

Closes #9440

Signed-off-by: Jonathan Gonzalez V. <[email protected]>
Signed-off-by: Marco Nenciarini <[email protected]>
Signed-off-by: Gabriele Bartolini <[email protected]>
Co-authored-by: Marco Nenciarini <[email protected]>
Co-authored-by: Gabriele Bartolini <[email protected]>
(cherry picked from commit d107281)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport-requested ◀️ This pull request should be backported to all supported releases chore Intangible work to reduce technical debt do not merge 🙅 This PR cannot be merged (yet) github_actions Pull requests that update GitHub Actions code lgtm This PR has been approved by a maintainer ok to merge 👌 This PR can be merged release-1.25 release-1.27 release-1.28 size:L This PR changes 100-499 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Security]: SLSA provenance for the release process

4 participants