Mend Renovate 2d6982fb07 fix(deps): update go (#825)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[github.com/google/go-containerregistry](https://redirect.github.com/google/go-containerregistry)
| `v0.20.2` -> `v0.20.3` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fgoogle%2fgo-containerregistry/v0.20.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fgoogle%2fgo-containerregistry/v0.20.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fgoogle%2fgo-containerregistry/v0.20.2/v0.20.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fgoogle%2fgo-containerregistry/v0.20.2/v0.20.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[github.com/secure-systems-lab/go-securesystemslib](https://redirect.github.com/secure-systems-lab/go-securesystemslib)
| `v0.8.0` -> `v0.9.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fsecure-systems-lab%2fgo-securesystemslib/v0.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fsecure-systems-lab%2fgo-securesystemslib/v0.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fsecure-systems-lab%2fgo-securesystemslib/v0.8.0/v0.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fsecure-systems-lab%2fgo-securesystemslib/v0.8.0/v0.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[github.com/sigstore/cosign/v2](https://redirect.github.com/sigstore/cosign)
| `v2.2.4` -> `v2.4.1` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fsigstore%2fcosign%2fv2/v2.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fsigstore%2fcosign%2fv2/v2.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fsigstore%2fcosign%2fv2/v2.2.4/v2.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fsigstore%2fcosign%2fv2/v2.2.4/v2.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[github.com/sigstore/fulcio](https://redirect.github.com/sigstore/fulcio)
| `v1.4.5` -> `v1.6.5` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fsigstore%2ffulcio/v1.6.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fsigstore%2ffulcio/v1.6.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fsigstore%2ffulcio/v1.4.5/v1.6.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fsigstore%2ffulcio/v1.4.5/v1.6.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[github.com/sigstore/protobuf-specs](https://redirect.github.com/sigstore/protobuf-specs)
| `v0.3.2` -> `v0.3.3` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fsigstore%2fprotobuf-specs/v0.3.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fsigstore%2fprotobuf-specs/v0.3.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fsigstore%2fprotobuf-specs/v0.3.2/v0.3.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fsigstore%2fprotobuf-specs/v0.3.2/v0.3.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[github.com/sigstore/rekor](https://redirect.github.com/sigstore/rekor)
| `v1.3.6` -> `v1.3.8` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fsigstore%2frekor/v1.3.8?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fsigstore%2frekor/v1.3.8?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fsigstore%2frekor/v1.3.6/v1.3.8?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fsigstore%2frekor/v1.3.6/v1.3.8?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[github.com/sigstore/sigstore](https://redirect.github.com/sigstore/sigstore)
| `v1.8.9` -> `v1.8.12` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fsigstore%2fsigstore/v1.8.12?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fsigstore%2fsigstore/v1.8.12?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fsigstore%2fsigstore/v1.8.9/v1.8.12?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fsigstore%2fsigstore/v1.8.9/v1.8.12?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[github.com/slsa-framework/slsa-github-generator](https://redirect.github.com/slsa-framework/slsa-github-generator)
| `v1.9.0` -> `v1.10.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fslsa-framework%2fslsa-github-generator/v1.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fslsa-framework%2fslsa-github-generator/v1.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fslsa-framework%2fslsa-github-generator/v1.9.0/v1.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fslsa-framework%2fslsa-github-generator/v1.9.0/v1.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| golang.org/x/mod | `v0.21.0` -> `v0.22.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/golang.org%2fx%2fmod/v0.22.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/golang.org%2fx%2fmod/v0.22.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/golang.org%2fx%2fmod/v0.21.0/v0.22.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/golang.org%2fx%2fmod/v0.21.0/v0.22.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[google.golang.org/protobuf](https://redirect.github.com/protocolbuffers/protobuf-go)
| `v1.34.2` -> `v1.36.3` |
[![age](https://developer.mend.io/api/mc/badges/age/go/google.golang.org%2fprotobuf/v1.36.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/google.golang.org%2fprotobuf/v1.36.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/google.golang.org%2fprotobuf/v1.34.2/v1.36.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/google.golang.org%2fprotobuf/v1.34.2/v1.36.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[sigs.k8s.io/release-utils](https://redirect.github.com/kubernetes-sigs/release-utils)
| `v0.8.4` -> `v0.9.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/sigs.k8s.io%2frelease-utils/v0.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/sigs.k8s.io%2frelease-utils/v0.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/sigs.k8s.io%2frelease-utils/v0.8.4/v0.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/sigs.k8s.io%2frelease-utils/v0.8.4/v0.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>google/go-containerregistry
(github.com/google/go-containerregistry)</summary>

###
[`v0.20.3`](https://redirect.github.com/google/go-containerregistry/releases/tag/v0.20.3)

[Compare
Source](https://redirect.github.com/google/go-containerregistry/compare/v0.20.2...v0.20.3)

#### What's Changed

- remote/transport: Make bearer transport go-routine-safe by
[@&#8203;2opremio](https://redirect.github.com/2opremio) in
[https://github.com/google/go-containerregistry/pull/1806](https://redirect.github.com/google/go-containerregistry/pull/1806)
- Expose compare package by
[@&#8203;jonjohnsonjr](https://redirect.github.com/jonjohnsonjr) in
[https://github.com/google/go-containerregistry/pull/2001](https://redirect.github.com/google/go-containerregistry/pull/2001)
- fix: redact.URL uses (\*URL).Redacted to omit basic-auth password by
[@&#8203;bmoylan](https://redirect.github.com/bmoylan) in
[https://github.com/google/go-containerregistry/pull/1947](https://redirect.github.com/google/go-containerregistry/pull/1947)
- bump actions to latest by
[@&#8203;ajayk](https://redirect.github.com/ajayk) in
[https://github.com/google/go-containerregistry/pull/2011](https://redirect.github.com/google/go-containerregistry/pull/2011)
- don't pin chainguard-dev/actions by
[@&#8203;imjasonh](https://redirect.github.com/imjasonh) in
[https://github.com/google/go-containerregistry/pull/2025](https://redirect.github.com/google/go-containerregistry/pull/2025)
- Check for 406 status code when handling referrers API endpoint
response by [@&#8203;malancas](https://redirect.github.com/malancas) in
[https://github.com/google/go-containerregistry/pull/2026](https://redirect.github.com/google/go-containerregistry/pull/2026)
- mutate: Create a defensive annotations copy by
[@&#8203;jonjohnsonjr](https://redirect.github.com/jonjohnsonjr) in
[https://github.com/google/go-containerregistry/pull/2030](https://redirect.github.com/google/go-containerregistry/pull/2030)
- Detect zstd in crane append by
[@&#8203;jonjohnsonjr](https://redirect.github.com/jonjohnsonjr) in
[https://github.com/google/go-containerregistry/pull/2023](https://redirect.github.com/google/go-containerregistry/pull/2023)
- bump deps using hack/bump-deps.sh by
[@&#8203;imjasonh](https://redirect.github.com/imjasonh) in
[https://github.com/google/go-containerregistry/pull/2042](https://redirect.github.com/google/go-containerregistry/pull/2042)

#### New Contributors

- [@&#8203;bmoylan](https://redirect.github.com/bmoylan) made their
first contribution in
[https://github.com/google/go-containerregistry/pull/1947](https://redirect.github.com/google/go-containerregistry/pull/1947)
- [@&#8203;ajayk](https://redirect.github.com/ajayk) made their first
contribution in
[https://github.com/google/go-containerregistry/pull/2011](https://redirect.github.com/google/go-containerregistry/pull/2011)
- [@&#8203;malancas](https://redirect.github.com/malancas) made their
first contribution in
[https://github.com/google/go-containerregistry/pull/2026](https://redirect.github.com/google/go-containerregistry/pull/2026)

**Full Changelog**:
https://github.com/google/go-containerregistry/compare/v0.20.2...v0.20.3

</details>

<details>
<summary>secure-systems-lab/go-securesystemslib
(github.com/secure-systems-lab/go-securesystemslib)</summary>

###
[`v0.9.0`](https://redirect.github.com/secure-systems-lab/go-securesystemslib/compare/v0.8.0...v0.9.0)

[Compare
Source](https://redirect.github.com/secure-systems-lab/go-securesystemslib/compare/v0.8.0...v0.9.0)

</details>

<details>
<summary>sigstore/cosign (github.com/sigstore/cosign/v2)</summary>

###
[`v2.4.1`](https://redirect.github.com/sigstore/cosign/blob/HEAD/CHANGELOG.md#v241)

[Compare
Source](https://redirect.github.com/sigstore/cosign/compare/v2.4.0...v2.4.1)

v2.4.1 largely contains bug fixes and updates dependencies.

#### Features

-   Added fuzzing coverage to multiple packages

#### Bug Fixes

- Fix bug in attest-blob when using a timestamp authority with new
bundles
([#&#8203;3877](https://redirect.github.com/sigstore/cosign/issues/3877))
- fix: documentation link for installation guide
([#&#8203;3884](https://redirect.github.com/sigstore/cosign/issues/3884))

#### Contributors

-   AdamKorcz
-   Bob Callaway
-   Carlos Tadeu Panato Junior
-   Hayden B
-   Hemil K
-   Sota Sugiura
-   Zach Steindler

###
[`v2.4.0`](https://redirect.github.com/sigstore/cosign/blob/HEAD/CHANGELOG.md#v240)

[Compare
Source](https://redirect.github.com/sigstore/cosign/compare/v2.3.0...v2.4.0)

v2.4.0 begins the modernization of the Cosign client, which includes:

-   Support for the newer Sigstore specification-compliant bundle format
- Support for providing trust roots (e.g. Fulcio certificates, Rekor
keys)
    through a trust root file, instead of many different flags
- Conformance test suite integration to verify signing and verification
behavior

In future updates, we'll include:

- General support for the trust root file, instead of only when using
the bundle
    format during verification
-   Simplification of trust root flags and deprecation of the
    Cosign-specific bundle format
-   Bundle support with container signing

We have also moved nightly Cosign container builds to GHCR instead of
GCR.

#### Features

- Add new bundle support to `verify-blob` and `verify-blob-attestation`
([#&#8203;3796](https://redirect.github.com/sigstore/cosign/issues/3796))
- Adding protobuf bundle support to sign-blob and attest-blob
([#&#8203;3752](https://redirect.github.com/sigstore/cosign/issues/3752))
- Bump sigstore/sigstore to support `email_verified` as string or
boolean
([#&#8203;3819](https://redirect.github.com/sigstore/cosign/issues/3819))
- Conformance testing for cosign
([#&#8203;3806](https://redirect.github.com/sigstore/cosign/issues/3806))
- move incremental builds per commit to GHCR instead of GCR
([#&#8203;3808](https://redirect.github.com/sigstore/cosign/issues/3808))
- Add support for recording creation timestamp for cosign attest
([#&#8203;3797](https://redirect.github.com/sigstore/cosign/issues/3797))
- Include SCT verification failure details in error message
([#&#8203;3799](https://redirect.github.com/sigstore/cosign/issues/3799))

#### Contributors

-   Bob Callaway
-   Hayden B
-   Slavek Kabrda
-   Zach Steindler
-   Zsolt Horvath

###
[`v2.3.0`](https://redirect.github.com/sigstore/cosign/blob/HEAD/CHANGELOG.md#v230)

[Compare
Source](https://redirect.github.com/sigstore/cosign/compare/v2.2.4...v2.3.0)

#### Features

- Add PayloadProvider interface to decouple AttestationToPayloadJSON
from oci.Signature interface
([#&#8203;3693](https://redirect.github.com/sigstore/cosign/issues/3693))
- add registry options to cosign save
([#&#8203;3645](https://redirect.github.com/sigstore/cosign/issues/3645))
- Add debug providers command.
([#&#8203;3728](https://redirect.github.com/sigstore/cosign/issues/3728))
- Make config layers in ociremote mountable
([#&#8203;3741](https://redirect.github.com/sigstore/cosign/issues/3741))
- upgrade to go1.22
([#&#8203;3739](https://redirect.github.com/sigstore/cosign/issues/3739))
- adds tsa cert chain check for env var or tuf targets.
([#&#8203;3600](https://redirect.github.com/sigstore/cosign/issues/3600))
- add --ca-roots and --ca-intermediates flags to 'cosign verify'
([#&#8203;3464](https://redirect.github.com/sigstore/cosign/issues/3464))
- add handling of keyless verification for all verify commands
([#&#8203;3761](https://redirect.github.com/sigstore/cosign/issues/3761))

#### Bug Fixes

- fix: close attestationFile
([#&#8203;3679](https://redirect.github.com/sigstore/cosign/issues/3679))
- Set `bundleVerified` to true after Rekor verification (Resolves
[#&#8203;3740](https://redirect.github.com/sigstore/cosign/issues/3740))
([#&#8203;3745](https://redirect.github.com/sigstore/cosign/issues/3745))

#### Documentation

- Document ImportKeyPair and LoadPrivateKey functions in pkg/cosign
([#&#8203;3776](https://redirect.github.com/sigstore/cosign/issues/3776))

#### Testing

- Refactor KMS E2E tests
([#&#8203;3684](https://redirect.github.com/sigstore/cosign/issues/3684))
- Remove sign_blob_test.sh test
([#&#8203;3707](https://redirect.github.com/sigstore/cosign/issues/3707))
- Remove KMS E2E test script
([#&#8203;3702](https://redirect.github.com/sigstore/cosign/issues/3702))
- Refactor insecure registry E2E tests
([#&#8203;3701](https://redirect.github.com/sigstore/cosign/issues/3701))

#### Contributors

-   Billy Lynch
-   bminahan73
-   Bob Callaway
-   Carlos Tadeu Panato Junior
-   Cody Soyland
-   Colleen Murphy
-   Dmitry Savintsev
-   guangwu
-   Hayden B
-   Hector Fernandez
-   ian hundere
-   Jason Power
-   Jon Johnson
-   Max Lambrecht
-   Meeki1l

</details>

<details>
<summary>sigstore/fulcio (github.com/sigstore/fulcio)</summary>

###
[`v1.6.5`](https://redirect.github.com/sigstore/fulcio/blob/HEAD/CHANGELOG.md#v165)

[Compare
Source](https://redirect.github.com/sigstore/fulcio/compare/v1.6.4...v1.6.5)

#### Features

- use go1.23.2
([#&#8203;1834](https://redirect.github.com/sigstore/fulcio/issues/1834))
- fallback to json default cfg path if yaml does not exist
([#&#8203;1810](https://redirect.github.com/sigstore/fulcio/issues/1810))
- Include IDP type and subject domain in configuration API response
([#&#8203;1824](https://redirect.github.com/sigstore/fulcio/issues/1824))

#### Documentation

- Update OIDC claim mapping table to reflect the current state
([#&#8203;1801](https://redirect.github.com/sigstore/fulcio/issues/1801))

#### Contributors

-   Aditya Sirish
-   Bob Callaway
-   Carlos Tadeu Panato Junior
-   Hayden B
-   Nina
-   Richard Fan

###
[`v1.6.4`](https://redirect.github.com/sigstore/fulcio/blob/HEAD/CHANGELOG.md#v164)

[Compare
Source](https://redirect.github.com/sigstore/fulcio/compare/v1.6.3...v1.6.4)

#### Features

- use go1.22.6 to build fulcio
([#&#8203;1793](https://redirect.github.com/sigstore/fulcio/issues/1793))

#### Bugs

- Revert "If custom server url exists, use that instead of the default
one."
([#&#8203;1791](https://redirect.github.com/sigstore/fulcio/issues/1791))

#### Contributors

-   Carlos Tadeu Panato Junior
-   Fredrik Skogman

###
[`v1.6.3`](https://redirect.github.com/sigstore/fulcio/blob/HEAD/CHANGELOG.md#v163)

[Compare
Source](https://redirect.github.com/sigstore/fulcio/compare/v1.6.2...v1.6.3)

#### Features

- If custom server url exists, use that instead of the default one.
([#&#8203;1776](https://redirect.github.com/sigstore/fulcio/issues/1776))

#### Contributors

-   Fredrik Skogman
-   Javan Lacerda

###
[`v1.6.2`](https://redirect.github.com/sigstore/fulcio/blob/HEAD/CHANGELOG.md#v162)

[Compare
Source](https://redirect.github.com/sigstore/fulcio/compare/v1.6.1...v1.6.2)

#### Bug Fixes

- fix: adding ci provider for meta-issuers
([#&#8203;1767](https://redirect.github.com/sigstore/fulcio/issues/1767))

#### Contributors

-   Javan Lacerda

###
[`v1.6.1`](https://redirect.github.com/sigstore/fulcio/blob/HEAD/CHANGELOG.md#v161)

[Compare
Source](https://redirect.github.com/sigstore/fulcio/compare/v1.6.0...v1.6.1)

#### Bug Fixes

- fix: removing surplus slash, making logs richer
([#&#8203;1762](https://redirect.github.com/sigstore/fulcio/issues/1762))

#### Contributors

-   Javan Lacerda

###
[`v1.6.0`](https://redirect.github.com/sigstore/fulcio/blob/HEAD/CHANGELOG.md#v160)

[Compare
Source](https://redirect.github.com/sigstore/fulcio/compare/v1.5.1...v1.6.0)

v1.6.0 adds support for onboarding CI identity providers via
configuration
rather than code changes, which should greatly simplify the onboarding
process.

#### Features

- CiProvider as a new OIDCIssuer type
([#&#8203;1729](https://redirect.github.com/sigstore/fulcio/issues/1729))
- Add TLS support for CTLog
([#&#8203;1718](https://redirect.github.com/sigstore/fulcio/issues/1718))
- Added support for email_verified being a string or bool
([#&#8203;1744](https://redirect.github.com/sigstore/fulcio/issues/1744))

#### Documentation

- Update IDP requirements
([#&#8203;1742](https://redirect.github.com/sigstore/fulcio/issues/1742))

#### Public Good Instance Configuration

- Move codefresh and buildkite to ci-provider identity
([#&#8203;1743](https://redirect.github.com/sigstore/fulcio/issues/1743))
- Move gitlab to ci-provider
([#&#8203;1740](https://redirect.github.com/sigstore/fulcio/issues/1740))
- Migrate github to ci provider flow
([#&#8203;1738](https://redirect.github.com/sigstore/fulcio/issues/1738))
- add Hellō provider
([#&#8203;1739](https://redirect.github.com/sigstore/fulcio/issues/1739))
- Move configuration to yaml format
([#&#8203;1720](https://redirect.github.com/sigstore/fulcio/issues/1720))
- Removes identity providers federation
([#&#8203;1736](https://redirect.github.com/sigstore/fulcio/issues/1736))

#### Contributors

-   Andrew Block
-   cpanato
-   Dick Hardt
-   Firas Ghanmi
-   Hayden B
-   Javan Lacerda
-   Matt Moore

###
[`v1.5.1`](https://redirect.github.com/sigstore/fulcio/blob/HEAD/CHANGELOG.md#v151)

[Compare
Source](https://redirect.github.com/sigstore/fulcio/compare/v1.5.0...v1.5.1)

#### Bug Fixes

- Surface the right `Name()` from our principal.
([#&#8203;1726](https://redirect.github.com/sigstore/fulcio/issues/1726))

#### Contributors

-   Matt Moore

###
[`v1.5.0`](https://redirect.github.com/sigstore/fulcio/blob/HEAD/CHANGELOG.md#v150)

[Compare
Source](https://redirect.github.com/sigstore/fulcio/compare/v1.4.5...v1.5.0)

#### Features

- Add Chainguard OIDC provider.
([#&#8203;1703](https://redirect.github.com/sigstore/fulcio/issues/1703))
- Adding support for configuration from yaml file
([#&#8203;1687](https://redirect.github.com/sigstore/fulcio/issues/1687))
- Upgrade go to 1.22
([#&#8203;1625](https://redirect.github.com/sigstore/fulcio/issues/1625))

#### Documentation

- oid-info: fix table render
([#&#8203;1662](https://redirect.github.com/sigstore/fulcio/issues/1662))
- docs: Fix extensions for digest values requiring a type prefix
([#&#8203;1661](https://redirect.github.com/sigstore/fulcio/issues/1661))

#### Contributors

-   Bob Callaway
-   Carlos Tadeu Panato Junior
-   Facundo Tuesca
-   Javan Lacerda
-   Matt Moore
-   Tomas Turek
-   William Woodruff

</details>

<details>
<summary>sigstore/protobuf-specs
(github.com/sigstore/protobuf-specs)</summary>

###
[`v0.3.3`](https://redirect.github.com/sigstore/protobuf-specs/compare/v0.3.2...v0.3.3)

[Compare
Source](https://redirect.github.com/sigstore/protobuf-specs/compare/v0.3.2...v0.3.3)

</details>

<details>
<summary>sigstore/rekor (github.com/sigstore/rekor)</summary>

###
[`v1.3.8`](https://redirect.github.com/sigstore/rekor/blob/HEAD/CHANGELOG.md#v138)

[Compare
Source](https://redirect.github.com/sigstore/rekor/compare/v1.3.7...v1.3.8)

#### Bug Fixes

- fix zizmor issues
([#&#8203;2298](https://redirect.github.com/sigstore/rekor/issues/2298))
- remove unneeded value in log message
([#&#8203;2282](https://redirect.github.com/sigstore/rekor/issues/2282))

#### Quality Enhancements

-   chore: relax go directive to permit 1.22.x
- fetch minisign from homebrew instead of custom ppa
([#&#8203;2329](https://redirect.github.com/sigstore/rekor/issues/2329))
-   fix(ci): simplify GOVERSION extraction
-   chore(deps): bump actions pins to latest
- Updates go and golangci-lint
([#&#8203;2302](https://redirect.github.com/sigstore/rekor/issues/2302))
- update builder to use go1.23.4
([#&#8203;2301](https://redirect.github.com/sigstore/rekor/issues/2301))
-   clean up spaces
- log request body on 500 error to aid debugging
([#&#8203;2283](https://redirect.github.com/sigstore/rekor/issues/2283))

#### Contributors

-   Appu Goundan
-   Bob Callaway
-   Carlos Tadeu Panato Junior
-   Dominic Evans
-   sgpinkus

###
[`v1.3.7`](https://redirect.github.com/sigstore/rekor/blob/HEAD/CHANGELOG.md#v137)

[Compare
Source](https://redirect.github.com/sigstore/rekor/compare/v1.3.6...v1.3.7)

#### New Features

- log request body on 500 error to aid debugging
([#&#8203;2283](https://redirect.github.com/sigstore/rekor/issues/2283))
- Add support for signing with Tink keyset
([#&#8203;2228](https://redirect.github.com/sigstore/rekor/issues/2228))
- Add public key hash check in Signed Note verification
([#&#8203;2214](https://redirect.github.com/sigstore/rekor/issues/2214))
- update Trillian TLS configuration
([#&#8203;2202](https://redirect.github.com/sigstore/rekor/issues/2202))
- Add TLS support for Trillian server
([#&#8203;2164](https://redirect.github.com/sigstore/rekor/issues/2164))
- Replace docker-compose with plugin if available
([#&#8203;2153](https://redirect.github.com/sigstore/rekor/issues/2153))
- Add flags to backfill script
([#&#8203;2146](https://redirect.github.com/sigstore/rekor/issues/2146))
- Unset DisableKeepalive for backfill HTTP client
([#&#8203;2137](https://redirect.github.com/sigstore/rekor/issues/2137))
- Add script to delete indexes from Redis
([#&#8203;2120](https://redirect.github.com/sigstore/rekor/issues/2120))
- Run CREATE statement in backfill script
([#&#8203;2109](https://redirect.github.com/sigstore/rekor/issues/2109))
- Add MySQL support to backfill script
([#&#8203;2081](https://redirect.github.com/sigstore/rekor/issues/2081))
- Run e2e tests on mysql and redis index backends
([#&#8203;2079](https://redirect.github.com/sigstore/rekor/issues/2079))

#### Bug Fixes

- remove unneeded value in log message
([#&#8203;2282](https://redirect.github.com/sigstore/rekor/issues/2282))
- Add error message when computing consistency proof
([#&#8203;2278](https://redirect.github.com/sigstore/rekor/issues/2278))
- fix validation error handling on API
([#&#8203;2217](https://redirect.github.com/sigstore/rekor/issues/2217))
- fix error in pretty-printed inclusion proof from verify subcommand
([#&#8203;2210](https://redirect.github.com/sigstore/rekor/issues/2210))
- Fix index scripts
([#&#8203;2203](https://redirect.github.com/sigstore/rekor/issues/2203))
-   fix failing sharding test
- Better error handling in backfill script
([#&#8203;2148](https://redirect.github.com/sigstore/rekor/issues/2148))
- Batch entries in cleanup script
([#&#8203;2158](https://redirect.github.com/sigstore/rekor/issues/2158))
- Add missing workflow for index cleanup test
([#&#8203;2121](https://redirect.github.com/sigstore/rekor/issues/2121))
- hashedrekord: fix schema $id
([#&#8203;2092](https://redirect.github.com/sigstore/rekor/issues/2092))

#### Contributors

-   Aditya Sirish
-   Bob Callaway
-   Colleen Murphy
-   cpanato
-   Firas Ghanmi
-   Hayden B
-   Hojoung (Brian) Jang
-   William Woodruff

</details>

<details>
<summary>sigstore/sigstore (github.com/sigstore/sigstore)</summary>

###
[`v1.8.12`](https://redirect.github.com/sigstore/sigstore/releases/tag/v1.8.12)

[Compare
Source](https://redirect.github.com/sigstore/sigstore/compare/v1.8.11...v1.8.12)

#### What's Changed

- build(deps): Bump google.golang.org/api from 0.210.0 to 0.212.0 in
/pkg/signature/kms/gcp by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/sigstore/sigstore/pull/1912](https://redirect.github.com/sigstore/sigstore/pull/1912)
- build(deps): Bump google.golang.org/protobuf from 1.35.2 to 1.36.0 in
/pkg/signature/kms/gcp by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/sigstore/sigstore/pull/1911](https://redirect.github.com/sigstore/sigstore/pull/1911)
- build(deps): Bump actions/setup-go from 5.1.0 to 5.2.0 in the all
group by [@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/sigstore/sigstore/pull/1909](https://redirect.github.com/sigstore/sigstore/pull/1909)
- build(deps): Bump google.golang.org/api from 0.212.0 to 0.214.0 in
/pkg/signature/kms/gcp by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/sigstore/sigstore/pull/1917](https://redirect.github.com/sigstore/sigstore/pull/1917)
- build(deps): Bump hashicorp/vault from 1.18.2 to 1.18.3 in /test/e2e
in the all group by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/sigstore/sigstore/pull/1915](https://redirect.github.com/sigstore/sigstore/pull/1915)
- build(deps): Bump the gomod group across 2 directories with 5 updates
by [@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/sigstore/sigstore/pull/1916](https://redirect.github.com/sigstore/sigstore/pull/1916)
- build(deps): Bump cloud.google.com/go/kms from 1.20.3 to 1.20.4 in
/pkg/signature/kms/gcp in the gomod group across 1 directory by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/sigstore/sigstore/pull/1920](https://redirect.github.com/sigstore/sigstore/pull/1920)
- build(deps): Bump github.com/coreos/go-oidc/v3 from 3.11.0 to 3.12.0
by [@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/sigstore/sigstore/pull/1924](https://redirect.github.com/sigstore/sigstore/pull/1924)
- build(deps): Bump golang.org/x/oauth2 from 0.24.0 to 0.25.0 by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/sigstore/sigstore/pull/1921](https://redirect.github.com/sigstore/sigstore/pull/1921)
- build(deps): Bump golang.org/x/term from 0.27.0 to 0.28.0 by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/sigstore/sigstore/pull/1922](https://redirect.github.com/sigstore/sigstore/pull/1922)
- build(deps): Bump golang.org/x/crypto from 0.31.0 to 0.32.0 by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/sigstore/sigstore/pull/1923](https://redirect.github.com/sigstore/sigstore/pull/1923)
- build(deps): Bump golang.org/x/crypto from 0.28.0 to 0.31.0 in
/test/fuzz by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/sigstore/sigstore/pull/1908](https://redirect.github.com/sigstore/sigstore/pull/1908)
- build(deps): Bump github.com/secure-systems-lab/go-securesystemslib
from 0.8.0 to 0.9.0 by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/sigstore/sigstore/pull/1910](https://redirect.github.com/sigstore/sigstore/pull/1910)
- build(deps): Bump the tools group across 1 directory with 2 updates by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/sigstore/sigstore/pull/1913](https://redirect.github.com/sigstore/sigstore/pull/1913)
- cleanup ci by [@&#8203;cpanato](https://redirect.github.com/cpanato)
in
[https://github.com/sigstore/sigstore/pull/1927](https://redirect.github.com/sigstore/sigstore/pull/1927)

**Full Changelog**:
https://github.com/sigstore/sigstore/compare/v1.8.11...v1.8.12

###
[`v1.8.11`](https://redirect.github.com/sigstore/sigstore/releases/tag/v1.8.11)

[Compare
Source](https://redirect.github.com/sigstore/sigstore/compare/v1.8.10...v1.8.11)

#### What's Changed

-   several dependabot updates
- Replace custom auth code with `azidentity.NewDefaultCredential` for
Azure KMS client by
[@&#8203;malancas](https://redirect.github.com/malancas) in
[https://github.com/sigstore/sigstore/pull/1888](https://redirect.github.com/sigstore/sigstore/pull/1888)
- fix: set go module directive to 1.22.0 by
[@&#8203;dnwe](https://redirect.github.com/dnwe) in
[https://github.com/sigstore/sigstore/pull/1878](https://redirect.github.com/sigstore/sigstore/pull/1878)

#### New Contributors

- [@&#8203;dnwe](https://redirect.github.com/dnwe) made their first
contribution in
[https://github.com/sigstore/sigstore/pull/1878](https://redirect.github.com/sigstore/sigstore/pull/1878)

**Full Changelog**:
https://github.com/sigstore/sigstore/compare/v1.8.10...v1.8.11

###
[`v1.8.10`](https://redirect.github.com/sigstore/sigstore/releases/tag/v1.8.10)

[Compare
Source](https://redirect.github.com/sigstore/sigstore/compare/v1.8.9...v1.8.10)

#### What's Changed

- fix(kms): fix CreateKey may panic when using GCP KMS by
[@&#8203;mozillazg](https://redirect.github.com/mozillazg) in
[https://github.com/sigstore/sigstore/pull/1829](https://redirect.github.com/sigstore/sigstore/pull/1829)
- update to go1.22.7 and ci job by
[@&#8203;cpanato](https://redirect.github.com/cpanato) in
[https://github.com/sigstore/sigstore/pull/1847](https://redirect.github.com/sigstore/sigstore/pull/1847)
- Mark TUF client as deprecated by
[@&#8203;haydentherapper](https://redirect.github.com/haydentherapper)
in
[https://github.com/sigstore/sigstore/pull/1858](https://redirect.github.com/sigstore/sigstore/pull/1858)
- bump to go 1.22.8 by
[@&#8203;cpanato](https://redirect.github.com/cpanato) in
[https://github.com/sigstore/sigstore/pull/1865](https://redirect.github.com/sigstore/sigstore/pull/1865)

and several dependencies updates

#### New Contributors

- [@&#8203;mozillazg](https://redirect.github.com/mozillazg) made their
first contribution in
[https://github.com/sigstore/sigstore/pull/1829](https://redirect.github.com/sigstore/sigstore/pull/1829)

**Full Changelog**:
https://github.com/sigstore/sigstore/compare/v1.8.9...v1.8.10

</details>

<details>
<summary>slsa-framework/slsa-github-generator
(github.com/slsa-framework/slsa-github-generator)</summary>

###
[`v1.10.0`](https://redirect.github.com/slsa-framework/slsa-github-generator/blob/HEAD/CHANGELOG.md#v1100)

[Compare
Source](https://redirect.github.com/slsa-framework/slsa-github-generator/compare/v1.9.1...v1.10.0)

Release
[v1.10.0](https://redirect.github.com/slsa-framework/slsa-github-generator/releases/tag/v1.10.0)
includes bug fixes and new features.

See the [full change
list](https://redirect.github.com/slsa-framework/slsa-github-generator/compare/v1.9.0...v1.10.0).

##### v1.10.0: TUF fix

- The cosign TUF roots were fixed
([#&#8203;3350](https://redirect.github.com/slsa-framework/slsa-github-generator/issues/3350)).
More details
[here](https://redirect.github.com/slsa-framework/slsa-github-generator/blob/v1.10.0/README.md#error-updating-to-tuf-remote-mirror-invalid).

##### v1.10.0: Gradle Builder

- The Gradle Builder was fixed when the project root is the same as the
repository root
([#&#8203;2727](https://redirect.github.com/slsa-framework/slsa-github-generator/issues/2727))

##### v1.10.0: Go Builder

- The `go-version-file` input was fixed so that it can find the `go.mod`
file

([#&#8203;2661](https://redirect.github.com/slsa-framework/slsa-github-generator/issues/2661))

##### v1.10.0: Container Generator

- A new `provenance-repository` input was added to allow reading
provenance from
a different container repository than the image itself
([#&#8203;2956](https://redirect.github.com/slsa-framework/slsa-github-generator/issues/2956))

###
[`v1.9.1`](https://redirect.github.com/slsa-framework/slsa-github-generator/releases/tag/v1.9.1)

[Compare
Source](https://redirect.github.com/slsa-framework/slsa-github-generator/compare/v1.9.0...v1.9.1)

**This is an un-finalized release.**

See the [CHANGELOG](./CHANGELOG.md) for details.

</details>

<details>
<summary>protocolbuffers/protobuf-go
(google.golang.org/protobuf)</summary>

###
[`v1.36.3`](https://redirect.github.com/protocolbuffers/protobuf-go/releases/tag/v1.36.3)

[Compare
Source](https://redirect.github.com/protocolbuffers/protobuf-go/compare/v1.36.2...v1.36.3)

**Full Changelog**:
https://github.com/protocolbuffers/protobuf-go/compare/v1.36.2...v1.36.3

Bug fixes:
[CL/642575](https://go-review.googlesource.com/c/protobuf/+/642575):
reflect/protodesc: fix panic when working with dynamicpb
[CL/641036](https://go-review.googlesource.com/c/protobuf/+/641036):
cmd/protoc-gen-go: remove json struct tags from unexported fields

User-visible changes:
[CL/641876](https://go-review.googlesource.com/c/protobuf/+/641876):
proto: add example for GetExtension, SetExtension
[CL/642015](https://go-review.googlesource.com/c/protobuf/+/642015):
runtime/protolazy: replace internal doc link with external link

Maintenance:
[CL/641635](https://go-review.googlesource.com/c/protobuf/+/641635):
all: split flags.ProtoLegacyWeak out of flags.ProtoLegacy
[CL/641019](https://go-review.googlesource.com/c/protobuf/+/641019):
internal/impl: remove unused exporter parameter
[CL/641018](https://go-review.googlesource.com/c/protobuf/+/641018):
internal/impl: switch to reflect.Value.IsZero
[CL/641035](https://go-review.googlesource.com/c/protobuf/+/641035):
internal/impl: clean up unneeded Go<1.12 MapRange() alternative
[CL/641017](https://go-review.googlesource.com/c/protobuf/+/641017):
types/dynamicpb: switch atomicExtFiles to atomic.Uint64 type

###
[`v1.36.2`](https://redirect.github.com/protocolbuffers/protobuf-go/releases/tag/v1.36.2)

[Compare
Source](https://redirect.github.com/protocolbuffers/protobuf-go/compare/v1.36.1...v1.36.2)

**Full Changelog**:
https://github.com/protocolbuffers/protobuf-go/compare/v1.36.1...v1.36.2

Bug fixes:
[CL/638515](https://go-review.googlesource.com/c/protobuf/+/638515):
internal/impl: fix WhichOneof() to work with synthetic oneofs

###
[`v1.36.1`](https://redirect.github.com/protocolbuffers/protobuf-go/releases/tag/v1.36.1)

[Compare
Source](https://redirect.github.com/protocolbuffers/protobuf-go/compare/v1.36.0...v1.36.1)

**Full Changelog**:
https://github.com/protocolbuffers/protobuf-go/compare/v1.36.0...v1.36.1

Bug fixes:
[CL/638495](https://go-review.googlesource.com/c/protobuf/+/638495):
internal/impl: revert IsSynthetic() check to fix panic

Maintenance:
[CL/637475](https://go-review.googlesource.com/c/protobuf/+/637475):
internal/errors: delete compatibility code for Go before 1.13

###
[`v1.36.0`](https://redirect.github.com/protocolbuffers/protobuf-go/releases/tag/v1.36.0)

[Compare
Source](https://redirect.github.com/protocolbuffers/protobuf-go/compare/v1.35.2...v1.36.0)

**Full Changelog**:
https://github.com/protocolbuffers/protobuf-go/compare/v1.35.2...v1.36.0

User-visible changes:

[CL/635139](https://go-review.googlesource.com/c/protobuf/+/635139):
src/google/protobuf: document UnmarshalJSON / API level behavior
[CL/635138](https://go-review.googlesource.com/c/protobuf/+/635138):
reflect/protoreflect: use \[] syntax to reference method
[CL/635137](https://go-review.googlesource.com/c/protobuf/+/635137):
proto: add reference to size semantics with lazy decoding to comment
[CL/634818](https://go-review.googlesource.com/c/protobuf/+/634818):
compiler/protogen: allow overriding API level from --go_opt
[CL/634817](https://go-review.googlesource.com/c/protobuf/+/634817):
cmd/protoc-gen-go: generate \_protoopaque variant for hybrid
[CL/634816](https://go-review.googlesource.com/c/protobuf/+/634816):
all: regenerate.bash for Opaque API
[CL/634815](https://go-review.googlesource.com/c/protobuf/+/634815):
all: Release the Opaque API
[CL/634015](https://go-review.googlesource.com/c/protobuf/+/634015):
types/descriptorpb: regenerate using latest protobuf v29.1 release
[CL/632735](https://go-review.googlesource.com/c/protobuf/+/632735):
internal/impl: skip synthetic oneofs in messageInfo
[CL/627876](https://go-review.googlesource.com/c/protobuf/+/627876):
all: start v1.35.2-devel

###
[`v1.35.2`](https://redirect.github.com/protocolbuffers/protobuf-go/releases/tag/v1.35.2)

[Compare
Source](https://redirect.github.com/protocolbuffers/protobuf-go/compare/v1.35.1...v1.35.2)

**Full Changelog**:
https://github.com/protocolbuffers/protobuf-go/compare/v1.35.1...v1.35.2

Maintenance:

[CL/623115](https://go-review.googlesource.com/c/protobuf/+/623115):
proto: refactor equal_test from explicit table to use makeMessages()
[CL/623116](https://go-review.googlesource.com/c/protobuf/+/623116):
encoding/prototext: use testmessages_test.go approach, too
[CL/623117](https://go-review.googlesource.com/c/protobuf/+/623117):
internal/testprotos/test: add nested message field with \[lazy=true]
[CL/624415](https://go-review.googlesource.com/c/protobuf/+/624415):
proto: switch messageset_test to use makeMessages() injection point
[CL/624416](https://go-review.googlesource.com/c/protobuf/+/624416):
internal/impl: fix TestMarshalMessageSetLazyRace (was a no-op!)

User-visible changes:

[CL/618395](https://go-review.googlesource.com/c/protobuf/+/618395):
encoding/protojson: allow missing value for Any of type Empty
[CL/618979](https://go-review.googlesource.com/c/protobuf/+/618979):
all: implement strip_enum_prefix editions feature
[CL/622575](https://go-review.googlesource.com/c/protobuf/+/622575):
testing/protocmp: document behavior when combining Ignore and Sort

###
[`v1.35.1`](https://redirect.github.com/protocolbuffers/protobuf-go/releases/tag/v1.35.1)

[Compare
Source](https://redirect.github.com/protocolbuffers/protobuf-go/compare/v1.35.0...v1.35.1)

**Full Changelog**:
https://github.com/protocolbuffers/protobuf-go/compare/v1.34.2...v1.35.1

Maintenance:

- [CL/606755](https://go-review.googlesource.com/c/protobuf/+/606755):
all: remove unused purego support
- [CL/608316](https://go-review.googlesource.com/c/protobuf/+/608316):
all: set Go language version to Go 1.21

User-visible changes:

- [CL/587536](https://go-review.googlesource.com/c/protobuf/+/587536):
protojson: include field name in error messages
- [CL/597055](https://go-review.googlesource.com/c/protobuf/+/597055):
compiler/protogen: always report editions support level of the plugin
- [CL/596539](https://go-review.googlesource.com/c/protobuf/+/596539):
all: plumb the lazy option into filedesc.Field and .Extension
- [CL/601775](https://go-review.googlesource.com/c/protobuf/+/601775):
types/known/structpb: add support for more types and json.Number
- [CL/607995](https://go-review.googlesource.com/c/protobuf/+/607995):
proto: extend documentation of GetExtension, SetExtension
- [CL/609035](https://go-review.googlesource.com/c/protobuf/+/609035):
proto: implement proto.Equal fast-path

Bug fixes:

- [CL/595337](https://go-review.googlesource.com/c/protobuf/+/595337):
reflect/protodesc: fix handling of delimited extensions in editions
- [CL/602055](https://go-review.googlesource.com/c/protobuf/+/602055):
internal/cmd/generate-protos: fix pkg check for editions features
- [CL/603015](https://go-review.googlesource.com/c/protobuf/+/603015):
internal: generate extension numbers, fix editions parsing

###
[`v1.35.0`](https://redirect.github.com/protocolbuffers/protobuf-go/compare/v1.34.2...v1.35.0)

[Compare
Source](https://redirect.github.com/protocolbuffers/protobuf-go/compare/v1.34.2...v1.35.0)

</details>

<details>
<summary>kubernetes-sigs/release-utils
(sigs.k8s.io/release-utils)</summary>

###
[`v0.9.0`](https://redirect.github.com/kubernetes-sigs/release-utils/compare/v0.8.5...v0.9.0)

[Compare
Source](https://redirect.github.com/kubernetes-sigs/release-utils/compare/v0.8.5...v0.9.0)

###
[`v0.8.5`](https://redirect.github.com/kubernetes-sigs/release-utils/compare/v0.8.4...v0.8.5)

[Compare
Source](https://redirect.github.com/kubernetes-sigs/release-utils/compare/v0.8.4...v0.8.5)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "* 0-3 1 * *" (UTC), Automerge - At
any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config
help](https://redirect.github.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/slsa-framework/slsa-verifier).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS44NS4wIiwidXBkYXRlZEluVmVyIjoiMzkuMTA3LjAiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbXX0=-->
2025-01-21 14:57:32 -05:00
2024-07-10 21:25:16 -04:00
2024-07-10 21:25:16 -04:00
2025-01-21 14:57:32 -05:00
2025-01-21 14:57:32 -05:00
2022-03-25 14:01:49 -07:00
2024-05-16 07:13:09 +09:00
2024-07-17 12:21:44 -04:00

Verification of SLSA provenance

OpenSSF Scorecard OpenSSF Best Practices Go Report Card Slack SLSA 3

Overview

What is SLSA?

Supply chain Levels for Software Artifacts, or SLSA (salsa), is a security framework, a check-list of standards and controls to prevent tampering, improve integrity, and secure packages and infrastructure in your projects, businesses or enterprises.

SLSA defines an incrementially adoptable set of levels which are defined in terms of increasing compliance and assurance. SLSA levels are like a common language to talk about how secure software, supply chains and their component parts really are.

What is provenance?

Provenance is information, or metadata, about how a software artifact was created. This could include information about what source code, build system, and build steps were used, as well as who and why the build was initiated. Provenance can be used to determine the authenticity and trustworthiness of software artifacts that you use.

As part of the framework, SLSA defines a provenance format which can be used hold this metadata.

What is slsa-verifier?

slsa-verifier is a tool for verifying SLSA provenance that was generated by CI/CD builders. slsa-verifier verifies the provenance by verifying the cryptographic signatures on provenance to make sure it was created by the expected builder. It then verifies that various values such as the builder id, source code repository, ref (branch or tag) matches the expected values.

It currently supports verifying provenance generated by:

  1. SLSA generator
  2. Google Cloud Build (GCB).

Installation

You have two options to install the verifier.

Compilation from source

Option 1: Install via go

If you want to install the verifier, you can run the following command:

$ go install github.com/slsa-framework/slsa-verifier/v2/cli/slsa-verifier@v2.6.0
$ slsa-verifier <options>

Tools like dependabot or renovate use your project's go.mod to identify the version of your Go dependencies. If you install the verifier binary in CI, we strongly recommend you create a placeholder go.mod containing slsa-verifier as a dependency to receive updates and keep the binary up-to-date. Use the following the steps:

  1. Create a tooling/tooling_test.go file containing the following:
//go:build tools
// +build tools

package main

import (
	_ "github.com/slsa-framework/slsa-verifier/v2/cli/slsa-verifier"
)
  1. Run the following commands in the tooling directory. (It will create a go.sum file.)
$ go mod init <your-project-name>-tooling
$ go mod tidy
  1. Commit the tooling folder (containing the 3 files tooling_test.go, go.mod and go.sum) to the repository.
  2. To install the verifier in your CI, run the following commands:
$ cd tooling
$ grep _ tooling_test.go | cut -f2 -d '"' | xargs -n1 -t go install

Alternatively, if your project does not rely on additional tools and only uses slsa-verifier, you can instead run the following commands:

$ cd tooling
$ go install github.com/slsa-framework/slsa-verifier/v2/cli/slsa-verifier

Option 2: Compile manually

$ git clone git@github.com:slsa-framework/slsa-verifier.git
$ cd slsa-verifier && git checkout v2.6.0
$ go run ./cli/slsa-verifier <options>

Use the installer Action on GitHub Actions

If you need to install the verifier to run in a GitHub workflow, use the installer Action as described in actions/installer/README.md.

Download the binary

Download the binary from the latest release at https://github.com/slsa-framework/slsa-verifier/releases/tag/v2.6.0

Download the SHA256SUM.md.

Verify the checksum:

$ sha256sum -c --strict SHA256SUM.md
  slsa-verifier-linux-amd64: OK

Use Homebrew on macOS

If you are using macOS and Homebrew, then you can install the verifier using this community-maintained formula.

Available options

We currently support artifact verification (for binary blobs) and container images.

Option list

Below is a list of options currently supported for binary blobs and container images. Note that signature verification is handled seamlessly without the need for developers to manipulate public keys. See Available options for details on the options exposed to validate the provenance.

$ git clone git@github.com:slsa-framework/slsa-verifier.git
$ go run ./cli/slsa-verifier/ verify-artifact --help
Verifies SLSA provenance on artifact blobs given as arguments (assuming same provenance)

Usage:
  slsa-verifier verify-artifact [flags] artifact [artifact..]

Flags:
      --build-workflow-input map[]    [optional] a workflow input provided by a user at trigger time in the format 'key=value'. (Only for 'workflow_dispatch' events on GitHub Actions). (default map[])
      --builder-id string             [optional] the unique builder ID who created the provenance
  -h, --help                          help for verify-artifact
      --print-provenance              [optional] print the verified provenance to stdout
      --provenance-path string        path to a provenance file
      --source-branch string          [optional] expected branch the binary was compiled from
      --source-tag string             [optional] expected tag the binary was compiled from
      --source-uri string             expected source repository that should have produced the binary, e.g. github.com/some/repo
      --source-versioned-tag string   [optional] expected version the binary was compiled from. Uses semantic version to match the tag

Multiple artifacts can be passed to verify-artifact. As long as they are all covered by the same provenance file, the verification will succeed.

Option details

The following options are available:

Option Description Support
source-uri Expects a source, for e.g. github.com/org/repo. All builders
source-branch Expects a branch like main or dev. Not supported for all GitHub Workflow triggers. GitHub builders
source-tag Expects a tag like v0.0.1. Verifies exact tag used to create the binary. Supported for new tag and release triggers. GitHub builders
source-versioned-tag Like tag, but verifies using semantic versioning. GitHub builders
build-workflow-input Expects key-value pairs like key=value to match against inputs for GitHub Actions workflow_dispatch triggers. GitHub builders

Verification for GitHub builders

Artifacts

To verify an artifact, run the following command:

$ slsa-verifier verify-artifact slsa-test-linux-amd64 \
  --provenance-path slsa-test-linux-amd64.intoto.jsonl \
  --source-uri github.com/slsa-framework/slsa-test \
  --source-tag v1.0.3
Verified signature against tlog entry index 3189970 at URL: https://rekor.sigstore.dev/api/v1/log/entries/206071d5ca7a2346e4db4dcb19a648c7f13b4957e655f4382b735894059bd199
Verified build using builder https://github.com/slsa-framework/slsa-github-generator/.github/workflows/builder_go_slsa3.yml@refs/tags/v1.2.0 at commit 5bb13ef508b2b8ded49f9264d7712f1316830d10
PASSED: Verified SLSA provenance

The verified in-toto statement may be written to stdout with the --print-provenance flag to pipe into policy engines.

Only GitHub URIs are supported with the --source-uri flag. A tag should not be specified, even if the provenance was built at some tag. If you intend to do source versioning validation, you can use --source-tag to validate the release tag. For commit SHA validation, use --print-provenance and inspect the commit SHA of the config source or materials.

Multiple artifacts built from the same GitHub builder can be verified in the same command, by passing them in the same command line as arguments:

$ slsa-verifier verify-artifact \
  --provenance-path /tmp/demo/multiple.intoto.jsonl \
  --source-uri github.com/mihaimaruseac/example \
  /tmp/demo/fib /tmp/demo/hello

Verified signature against tlog entry index 9712459 at URL: https://rekor.sigstore.dev/api/v1/log/entries/24296fb24b8ad77a1544828b67bb5a2335f7e0d01c504a32ceb6f3a8814ed12c8f1b222d308bd9e8
Verified build using builder https://github.com/slsa-framework/slsa-github-generator/.github/workflows/generator_generic_slsa3.yml@refs/tags/v1.4.0 at commit 11fab87c5ee6f46c6f5e68f6c5378c62ce1ca77c
Verifying artifact /tmp/demo/fib: PASSED

Verified signature against tlog entry index 9712459 at URL: https://rekor.sigstore.dev/api/v1/log/entries/24296fb24b8ad77a1544828b67bb5a2335f7e0d01c504a32ceb6f3a8814ed12c8f1b222d308bd9e8
Verified build using builder https://github.com/slsa-framework/slsa-github-generator/.github/workflows/generator_generic_slsa3.yml@refs/tags/v1.4.0 at commit 11fab87c5ee6f46c6f5e68f6c5378c62ce1ca77c
Verifying artifact /tmp/demo/hello: PASSED

PASSED: Verified SLSA provenance

The only requirement is that the provenance file covers all artifacts passed as arguments in the command line (that is, they are a subset of subject field in the provenance file).

Containers

To verify a container image, you need to pass a container image name that is immutable by providing its digest, in order to avoid TOCTOU attacks.

The verify-image command

$ slsa-verifier verify-image --help
Verifies SLSA provenance for an image

Usage:
  slsa-verifier verify-image [flags] tarball

Flags:
      --build-workflow-input map[]    [optional] a workflow input provided by a user at trigger time in the format 'key=value'. (Only for 'workflow_dispatch' events on GitHub Actions). (default map[])
      --builder-id string             [optional] the unique builder ID who created the provenance
  -h, --help                          help for verify-npm-package
      --print-provenance              [optional] print the verified provenance to stdout
      --provenance-path string        path to a provenance file
      --provenance-repository  string [optional] provenance repository when stored different from image repository. When set, overrides COSIGN_REPOSITORY environment variable
      --source-branch string          [optional] expected branch the binary was compiled from
      --source-tag string             [optional] expected tag the binary was compiled from
      --source-uri string             expected source repository that should have produced the binary, e.g. github.com/some/repo
      --source-versioned-tag string   [optional] expected version the binary was compiled from. Uses semantic version to match the tag

First set the image name:

IMAGE=ghcr.io/ianlewis/actions-test:v0.0.86

Get the digest for your container without pulling it using the crane command:

IMAGE="${IMAGE}@"$(crane digest "${IMAGE}")

To verify a container image, run the following command. Note that to use ghcr.io you need to set the GH_TOKEN environment variable as well.

slsa-verifier verify-image "$IMAGE" \
    --source-uri github.com/ianlewis/actions-test \
    --source-tag v0.0.86

You should see that the verification passed in the output.

Verified build using builder https://github.com/slsa-framework/slsa-github-generator/.github/workflows/generator_container_slsa3.yml@refs/tags/v1.4.0 at commit d9be953dd17e7f20c7a234ada668f9c8c4aaafc3
PASSED: Verified SLSA provenance

npm packages

Verification of npm packages is currently an experimental feature.

More details about npm attestations are in docs/npm.md

The verify-npm-package command

$ slsa-verifier verify-npm-package --help
Verifies SLSA provenance for an npm package tarball [experimental]

Usage:
  slsa-verifier verify-npm-package [flags] tarball

Flags:
      --attestations-path string      path to a file containing the attestations
      --build-workflow-input map[]    [optional] a workflow input provided by a user at trigger time in the format 'key=value'. (Only for 'workflow_dispatch' events on GitHub Actions). (default map[])
      --builder-id string             [optional] the unique builder ID who created the provenance
  -h, --help                          help for verify-npm-package
      --package-name string           the package name
      --package-version string        the package version
      --print-provenance              [optional] print the verified provenance to stdout
      --source-branch string          [optional] expected branch the binary was compiled from
      --source-tag string             [optional] expected tag the binary was compiled from
      --source-uri string             expected source repository that should have produced the binary, e.g. github.com/some/repo
      --source-versioned-tag string   [optional] expected version the binary was compiled from. Uses semantic version to match the tag

npm packages built using the SLSA3 Node.js builder

This section describes how to verify packages built using the SLSA Build L3 Node.js builder.

To verify an npm package, first download the package tarball and attestations.

curl -Sso attestations.json $(npm view @ianlewis/actions-test@0.1.127 --json | jq -r '.dist.attestations.url') && \
curl -Sso actions-test.tgz "$(npm view @ianlewis/actions-test@0.1.127 --json | jq -r '.dist.tarball')"

You can then verify the package by running the following command:

SLSA_VERIFIER_EXPERIMENTAL=1 slsa-verifier verify-npm-package actions-test.tgz \
  --attestations-path attestations.json \
  --builder-id "https://github.com/slsa-framework/slsa-github-generator/.github/workflows/builder_nodejs_slsa3.yml" \
  --package-name "@ianlewis/actions-test" \
  --package-version 0.1.127 \
  --source-uri github.com/ianlewis/actions-test

The verified in-toto statement may be written to stdout with the --print-provenance flag to pipe into policy engines.

Only GitHub URIs are supported with the --source-uri flag. A tag should not be specified, even if the provenance was built at some tag. If you intend to do source versioning validation, you can use --source-tag to validate the release tag and --package-version to validate the package version. For commit SHA validation, use --print-provenance and inspect the commit SHA of the config source or materials.

npm packages built using the npm CLI

This section describes how to verify packages built using the npm CLI on GitHub.

To verify an npm package, first download the package tarball and attestations.

curl -Sso attestations.json $(npm view @ianlewis/actions-test@0.1.132 --json | jq -r '.dist.attestations.url') && \
curl -Sso actions-test.tgz "$(npm view @ianlewis/actions-test@0.1.132 --json | jq -r '.dist.tarball')"

You can then verify the package by running the following command:

SLSA_VERIFIER_EXPERIMENTAL=1 slsa-verifier verify-npm-package actions-test.tgz \
  --attestations-path attestations.json \
  --builder-id "https://github.com/actions/runner/github-hosted" \
  --package-name "@ianlewis/actions-test" \
  --package-version 0.1.132 \
  --source-uri github.com/ianlewis/actions-test

If the package was built with self-hosted runners, replace "https://github.com/actions/runner/github-hosted" with "https://github.com/actions/runner/self-hosted".

The verified in-toto statement may be written to stdout with the --print-provenance flag to pipe into policy engines.

Only GitHub URIs are supported with the --source-uri flag. A tag should not be specified, even if the provenance was built at some tag. If you intend to do source versioning validation, you can use --source-tag to validate the release tag and --package-version to validate the package version. For commit SHA validation, use --print-provenance and inspect the commit SHA of the config source or materials.

Container-based builds

To verify an artifact produced by the Container-based builder, you will first need to run the following command to verify the provenance like the section above for general Artifacts:

$ slsa-verifier verify-artifact slsa-test-linux-amd64 \
  --provenance-path slsa-test-linux-amd64.sigstore \
  --source-uri github.com/slsa-framework/slsa-test \
  --source-tag v1.0.3
Verified signature against tlog entry index 3189970 at URL: https://rekor.sigstore.dev/api/v1/log/entries/206071d5ca7a2346e4db4dcb19a648c7f13b4957e655f4382b735894059bd199
Verified build using builder https://github.com/slsa-framework/slsa-github-generator/.github/workflows/builder_container-based_slsa3.yml@refs/tags/v1.7.0 at commit 5bb13ef508b2b8ded49f9264d7712f1316830d10
PASSED: Verified SLSA provenance

The input provenance is a .sigstore file, which is a Sigstore bundle that contains the in-toto statement containing the SLSA provenance along with verification material. The verified in-toto statement contained in the bundle may be written to stdout with the --print-provenance flag to pipe into policy engines.

To verify the user-specified builder image that was used to produce the artifact, extract the builder image with the following command and validate in a policy engine:

$ cat verifier-statement.intoto | jq -r '.predicate.buildDefinition.externalParameters.builderImage'

The builder image is described using an in-toto Resource Descriptor.

In case the builds are reproducible, you may also use the internal docker CLI tool to verify the artifact by rebuilding the artifact with the provided provenance.

Verification for Google Cloud Build

Artifacts

This is WIP and currently not supported.

Containers

To verify a container image, you need to pass a container image name that is immutable by providing its digest, in order to avoid TOCTOU attacks.

First set the image name:

IMAGE=laurentsimon/slsa-gcb-v0.3:test

Download the provenance:

gcloud artifacts docker images describe $IMAGE --format json --show-provenance > provenance.json

Get the digest for your container without pulling it using the crane command:

IMAGE="${IMAGE}@"$(crane digest "${IMAGE}")

Verify the image:

slsa-verifier verify-image "$IMAGE" \
  --provenance-path provenance.json \
  --source-uri github.com/laurentsimon/gcb-tests \
  --builder-id=https://cloudbuild.googleapis.com/GoogleHostedWorker

You should see that the verification passed in the output.

PASSED: Verified SLSA provenance

The verified in-toto statement may be written to stdout with the --print-provenance flag to pipe into policy engines.

Note that --source-uri supports GitHub repository URIs like github.com/$OWNER/$REPO when the build was enabled with a Cloud Build GitHub trigger. Otherwise, the build provenance will contain the name of the Cloud Storage bucket used to host the source files, usually of the form gs://[PROJECT_ID]_cloudbuild/source (see Running build). We recommend using GitHub triggers in order to preserve the source provenance and valiate that the source came from an expected, version-controlled repository. You may match on the fully-qualified tar like gs://[PROJECT_ID]_cloudbuild/source/1665165360.279777-955d1904741e4bbeb3461080299e929a.tgz.

Verification Summary Attestations (VSA)

We have support for verifying VSAs. Rather than passing in filepaths as arguments, we allow passing in mulitple --subject-digest cli options, to accomodate subjects that are not simple-files.

The verify-vsa command

$ slsa-verifier verify-vsa --help
Verifies SLSA VSAs for the given subject-digests

Usage:
  slsa-verifier verify-vsa [flags] subject-digest [subject-digest...]

Flags:
      --attestation-path string      path to a file containing the attestation
  -h, --help                         help for verify-vsa
      --print-attestation            [optional] print the contents of attestation to stdout
      --public-key-id string         [optional] the ID of the public key, defaults to the SHA256 digest of the base64-encoded public key
      --public-key-path string       path to a public key file
      --resource-uri string          the resource URI to be verified
      --subject-digest stringArray   the digests to be verified. Pass multiple digests by repeating the flag. e.g. --subject-digest <digest type>:<digest value> --subject-digest <digest type>:<digest value>
      --verified-level stringArray   [optional] the levels of verification to be performed. Pass multiple digests by repeating the flag, e.g., --verified-level SLSA_BUILD_LEVEL_2 --verified-level FEDRAMP_LOW'
      --verifier-id string           the unique verifier ID who created the attestation

To verify VSAs, invoke like this

$ slsa-verifier verify-vsa \
--subject-digest gce_image_id:8970095005306000053 \
--attestation-path ./cli/slsa-verifier/testdata/vsa/gce/v1/gke-gce-pre.bcid-vsa.jsonl \
--verifier-id https://bcid.corp.google.com/verifier/bcid_package_enforcer/v0.1 \
--resource-uri gce_image://gke-node-images:gke-12615-gke1418000-cos-101-17162-463-29-c-cgpv1-pre \
--verified-level BCID_L1 \
--verified-level SLSA_BUILD_LEVEL_2 \
--public-key-path ./cli/slsa-verifier/testdata/vsa/gce/v1/vsa_signing_public_key.pem \
--public-key-id keystore://76574:prod:vsa_signing_public_key \
--print-attestation

For multiple subjects, use:

--subject-digest sha256:abc123
--subject-digest sha256:xyz456

Caveats

Sigstore

This support does not work yet with VSAs wrapped in Sigstore bundles, only with simple DSSE envelopes. With that, we allow the user to pass in the public key. Note that if the DSSE Envelope signatures specifies a keyid that is not a unpadded base64 encoded sha256 hash the key, like sha256:abc123... (not a well-known identifier, e.g, my-kms:prod-vsa-key), then you must supply the --public-key-id cli option.

Subject Resource Descriptors

According to slsa.dev's VSA schema, we only support the Subject's Name and Digest, not the full in_toto Statement's ResourceDescriptor.

Known Issues

tuf: invalid key

This will occur only when verifying provenance generated with GitHub Actions.

Affected versions: v1.3.0-v1.3.1, v1.2.0-v1.2.1, v1.1.0-v1.1.2, v1.0.0-v1.0.4

slsa-verifier will fail with the following error:

FAILED: SLSA verification failed: could not find a matching valid signature entry: got unexpected errors unable to initialize client, local cache may be corrupt: tuf: invalid key: unable to fetch Rekor public keys from TUF repository

This issue is tracked by issue #325. You must update to the newest patch versions of each minor release to fix this issue.

panic: assignment to entry in nil map

This will occur only when verifying provenance against workflow inputs.

Affected versions: v2.0.0

slsa-verifier will fail with the following error:

panic: assignment to entry in nil map

This is fixed by PR #379. You must update to the newest patch versions of each minor release to fix this issue.

Technical design

Blog post

Find our blog post series here.

Specifications

For a more in-depth technical dive, read the SPECIFICATIONS.md.

TOCTOU attacks

As explained on Wikipedia, a "time-of-check to time-of-use (TOCTOU) is a class of software bugs caused by a race condition involving the checking of the state of a part of a system and the use of the results of that check".

In the context of provenance verification, imagine you verify a container refered to via a mutable image image:tag. The verification succeeds and verifies the corresponding hash is sha256:abcdef.... After verification, you pull and run the image using docker run image:tag. An attacker could have altered the image between the verification step and the run step. To mitigate this attack, we ask users to always pass an immutable reference to the artifact they verify.

Description
Verify provenance from SLSA compliant builders
Readme Apache-2.0 118 MiB
Languages
Go 96.1%
TypeScript 1.3%
Java 1%
Shell 0.9%
Makefile 0.6%