1
0
mirror of synced 2026-10-23 00:49:02 +03:00

3260 Commits

Author SHA1 Message Date
Manuel Rüger
0433f847df Move bundle metadata types into a dependency-free package (#5180)
pkg/oci imported pkg/cosign/bundle only for RekorBundle,
RekorPayload, RFC3161Timestamp and BundleV03MediaType. That package
also contains SignData, which imports sigstore-go's sign and root
packages, so every consumer of pkg/oci linked the signing stack.

Move these types and the media type constant into the new leaf
package pkg/cosign/bundle/types and import that from pkg/oci.
pkg/cosign/bundle keeps type aliases, so its API is unchanged.

The base pkg/oci package goes from 86 to 2 transitive modules. For
ko, which uses pkg/oci, pkg/oci/mutate, pkg/oci/walk and
pkg/oci/remote, the binary goes from 161 to 146 modules.

Signed-off-by: Manuel Rüger <manuel@rueg.eu>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 13:15:46 -07:00
Carlos Tadeu Panato Junior
f8e6ea940d Add cosign-specific user-agent to all HTTP requests (#4705)
* Add cosign-specific user-agent to all HTTP requests

This change addresses issue #4692 by ensuring that all HTTP requests
made by cosign identify with a proper user-agent that includes both
the cosign version and sigstore-go version.

Signed-off-by: Carlos Panato <ctadeu@gmail.com>

* Scope sigstore-go user-agent to sigstore-go code paths

Keep the global user-agent as cosign/<version> (os; arch) and only
send cosign/<version> sigstore-go/<version> (os; arch) on requests
made through sigstore-go. Fulcio and TSA clients built in SignData
now use a transport that overrides sigstore-go's default user-agent.

Rekor requests made via sigstore-go still use sigstore-go's
user-agent until sigstore-go exposes a way to set it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Carlos Panato <ctadeu@gmail.com>

* Set cosign user-agent on sigstore-go Fulcio, TSA and Rekor clients

Bump sigstore-go to main to pick up sigstore/sigstore-go#686, which
adds a UserAgent option and always appends sigstore-go/<version>.
Pass cosign's user-agent through it and drop the transport wrapper
and the sigstore-go version lookup.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Carlos Panato <ctadeu@gmail.com>

---------

Signed-off-by: Carlos Panato <ctadeu@gmail.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 11:37:45 -07:00
Carlos Tadeu Panato Junior
c4df857865 update builder image and cosign (#5179)
Signed-off-by: Carlos Panato <ctadeu@gmail.com>
2026-10-21 08:24:02 -07:00
dependabot[bot]
0e48502cf5 chore(deps): bump the gomod group across 1 directory with 6 updates (#5178)
* chore(deps): bump the gomod group across 1 directory with 6 updates

Bumps the gomod group with 6 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [github.com/go-jose/go-jose/v4](https://github.com/go-jose/go-jose) | `4.1.5` | `4.1.6` |
| [github.com/go-openapi/runtime](https://github.com/go-openapi/runtime) | `0.33.2` | `0.33.3` |
| [github.com/go-openapi/strfmt](https://github.com/go-openapi/strfmt) | `0.27.2` | `0.27.3` |
| [github.com/mozillazg/docker-credential-acr-helper](https://github.com/mozillazg/docker-credential-acr-helper) | `0.4.0` | `0.4.1` |
| [github.com/sigstore/timestamp-authority/v2](https://github.com/sigstore/timestamp-authority) | `2.1.3` | `2.1.4` |
| [sigs.k8s.io/release-utils](https://github.com/kubernetes-sigs/release-utils) | `0.12.4` | `0.12.5` |



Updates `github.com/go-jose/go-jose/v4` from 4.1.5 to 4.1.6
- [Release notes](https://github.com/go-jose/go-jose/releases)
- [Commits](https://github.com/go-jose/go-jose/compare/v4.1.5...v4.1.6)

Updates `github.com/go-openapi/runtime` from 0.33.2 to 0.33.3
- [Release notes](https://github.com/go-openapi/runtime/releases)
- [Commits](https://github.com/go-openapi/runtime/compare/v0.33.2...v0.33.3)

Updates `github.com/go-openapi/strfmt` from 0.27.2 to 0.27.3
- [Release notes](https://github.com/go-openapi/strfmt/releases)
- [Commits](https://github.com/go-openapi/strfmt/compare/v0.27.2...v0.27.3)

Updates `github.com/mozillazg/docker-credential-acr-helper` from 0.4.0 to 0.4.1
- [Release notes](https://github.com/mozillazg/docker-credential-acr-helper/releases)
- [Commits](https://github.com/mozillazg/docker-credential-acr-helper/compare/v0.4.0...v0.4.1)

Updates `github.com/sigstore/timestamp-authority/v2` from 2.1.3 to 2.1.4
- [Release notes](https://github.com/sigstore/timestamp-authority/releases)
- [Changelog](https://github.com/sigstore/timestamp-authority/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sigstore/timestamp-authority/compare/v2.1.3...v2.1.4)

Updates `sigs.k8s.io/release-utils` from 0.12.4 to 0.12.5
- [Release notes](https://github.com/kubernetes-sigs/release-utils/releases)
- [Commits](https://github.com/kubernetes-sigs/release-utils/compare/v0.12.4...v0.12.5)

---
updated-dependencies:
- dependency-name: github.com/go-jose/go-jose/v4
  dependency-version: 4.1.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gomod
- dependency-name: github.com/go-openapi/runtime
  dependency-version: 0.33.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gomod
- dependency-name: github.com/go-openapi/strfmt
  dependency-version: 0.27.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gomod
- dependency-name: github.com/mozillazg/docker-credential-acr-helper
  dependency-version: 0.4.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gomod
- dependency-name: github.com/sigstore/timestamp-authority/v2
  dependency-version: 2.1.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gomod
- dependency-name: sigs.k8s.io/release-utils
  dependency-version: 0.12.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gomod
...

Signed-off-by: dependabot[bot] <support@github.com>

* Upgrade tsa, downgrade to 1.27

Signed-off-by: Hayden <8418760+Hayden-IO@users.noreply.github.com>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Hayden <8418760+Hayden-IO@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Hayden <8418760+Hayden-IO@users.noreply.github.com>
v3.1.4
2026-10-20 17:33:02 +00:00
dependabot[bot]
4e2efa3c1c chore(deps): bump the all group with 2 updates (#5173)
* chore(deps): bump the all group with 2 updates

Bumps the all group with 2 updates: golang and golangci/golangci-lint.


Updates `golang` from 1.27.1 to 1.27.2

Updates `golangci/golangci-lint` from v2.14.0 to v2.15.0

---
updated-dependencies:
- dependency-name: golang
  dependency-version: 1.27.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all
- dependency-name: golangci/golangci-lint
  dependency-version: v2.15.0
  dependency-type: direct:production
  dependency-group: all
...

Signed-off-by: dependabot[bot] <support@github.com>

* Update Dockerfile

Signed-off-by: Hayden <8418760+Hayden-IO@users.noreply.github.com>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Hayden <8418760+Hayden-IO@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Hayden <8418760+Hayden-IO@users.noreply.github.com>
2026-10-20 10:11:15 -07:00
Hayden
3428d3c221 Build releases with 1.27.3 (#5177)
* Build releases with 1.27.3

This picks up a security fix - https://groups.google.com/g/golang-announce/c/66pojueaQek/m/tmWX2Pq9AgAJ

Signed-off-by: Hayden <8418760+Hayden-IO@users.noreply.github.com>

* Update validate-release.yml

Signed-off-by: Hayden <8418760+Hayden-IO@users.noreply.github.com>

* Bump sigstore/sigstore, set go version directive to 1.27

Signed-off-by: Hayden <8418760+Hayden-IO@users.noreply.github.com>

---------

Signed-off-by: Hayden <8418760+Hayden-IO@users.noreply.github.com>
2026-10-20 09:45:40 -07:00
dependabot[bot]
8effbeac60 chore(deps): bump the actions group with 6 updates (#5175)
Bumps the actions group with 6 updates:

| Package | From | To |
| --- | --- | --- |
| [chainguard-dev/actions/donotsubmit](https://github.com/chainguard-dev/actions) | `1.6.40` | `1.6.41` |
| [chainguard-dev/actions/setup-mirror](https://github.com/chainguard-dev/actions) | `1.6.40` | `1.6.41` |
| [chainguard-dev/actions/kind-diag](https://github.com/chainguard-dev/actions) | `1.6.40` | `1.6.41` |
| [ossf/scorecard-action](https://github.com/ossf/scorecard-action) | `2.4.4` | `2.5.0` |
| [chainguard-dev/actions/trailing-space](https://github.com/chainguard-dev/actions) | `1.6.40` | `1.6.41` |
| [chainguard-dev/actions/eof-newline](https://github.com/chainguard-dev/actions) | `1.6.40` | `1.6.41` |


Updates `chainguard-dev/actions/donotsubmit` from 1.6.40 to 1.6.41
- [Release notes](https://github.com/chainguard-dev/actions/releases)
- [Commits](84b1be4c63...3403a578b5)

Updates `chainguard-dev/actions/setup-mirror` from 1.6.40 to 1.6.41
- [Release notes](https://github.com/chainguard-dev/actions/releases)
- [Commits](84b1be4c63...3403a578b5)

Updates `chainguard-dev/actions/kind-diag` from 1.6.40 to 1.6.41
- [Release notes](https://github.com/chainguard-dev/actions/releases)
- [Commits](84b1be4c63...3403a578b5)

Updates `ossf/scorecard-action` from 2.4.4 to 2.5.0
- [Release notes](https://github.com/ossf/scorecard-action/releases)
- [Changelog](https://github.com/ossf/scorecard-action/blob/main/RELEASE.md)
- [Commits](2d1146689b...fa7117db83)

Updates `chainguard-dev/actions/trailing-space` from 1.6.40 to 1.6.41
- [Release notes](https://github.com/chainguard-dev/actions/releases)
- [Commits](84b1be4c63...3403a578b5)

Updates `chainguard-dev/actions/eof-newline` from 1.6.40 to 1.6.41
- [Release notes](https://github.com/chainguard-dev/actions/releases)
- [Commits](84b1be4c63...3403a578b5)

---
updated-dependencies:
- dependency-name: chainguard-dev/actions/donotsubmit
  dependency-version: 1.6.41
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: actions
- dependency-name: chainguard-dev/actions/setup-mirror
  dependency-version: 1.6.41
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: actions
- dependency-name: chainguard-dev/actions/kind-diag
  dependency-version: 1.6.41
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: actions
- dependency-name: ossf/scorecard-action
  dependency-version: 2.5.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: actions
- dependency-name: chainguard-dev/actions/trailing-space
  dependency-version: 1.6.41
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: actions
- dependency-name: chainguard-dev/actions/eof-newline
  dependency-version: 1.6.41
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: actions
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-10-20 08:38:34 -07:00
Hayden
821c9bf35b Add AGENTS.md, update contributors.md with reference to AI policy (#5176)
Contributions made with AI must follow this new AI policy.

Signed-off-by: Hayden <8418760+Hayden-IO@users.noreply.github.com>
2026-10-19 14:12:04 -07:00
Zach Steindler
cfeaa4a435 Implement cosign bundle create-from-container (#5144)
For #5138

To help people transition old container signatures and attestations to
the protobuf bundle format that supports offline verification, rotating
verification material via trusted roots, etc.

Also do not try to convert container signatures, since the signature
over the container won't match the signature over the new DSSE that
containers use with the protobuf bundle format.

---------

Signed-off-by: Zach Steindler <steiza@github.com>
2026-10-16 15:30:00 -04:00
dependabot[bot]
63d9aa14a7 chore(deps): bump the actions group across 1 directory with 7 updates (#5166)
Bumps the actions group with 7 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [chainguard-dev/actions/donotsubmit](https://github.com/chainguard-dev/actions) | `1.6.37` | `1.6.40` |
| [chainguard-dev/actions/setup-mirror](https://github.com/chainguard-dev/actions) | `1.6.37` | `1.6.40` |
| [chainguard-dev/actions/kind-diag](https://github.com/chainguard-dev/actions) | `1.6.37` | `1.6.40` |
| [mikefarah/yq](https://github.com/mikefarah/yq) | `4.53.6` | `4.54.1` |
| [actions/upload-artifact](https://github.com/actions/upload-artifact) | `7.0.1` | `7.0.2` |
| [chainguard-dev/actions/trailing-space](https://github.com/chainguard-dev/actions) | `1.6.37` | `1.6.40` |
| [chainguard-dev/actions/eof-newline](https://github.com/chainguard-dev/actions) | `1.6.37` | `1.6.40` |



Updates `chainguard-dev/actions/donotsubmit` from 1.6.37 to 1.6.40
- [Release notes](https://github.com/chainguard-dev/actions/releases)
- [Commits](805da2efdf...84b1be4c63)

Updates `chainguard-dev/actions/setup-mirror` from 1.6.37 to 1.6.40
- [Release notes](https://github.com/chainguard-dev/actions/releases)
- [Commits](805da2efdf...84b1be4c63)

Updates `chainguard-dev/actions/kind-diag` from 1.6.37 to 1.6.40
- [Release notes](https://github.com/chainguard-dev/actions/releases)
- [Commits](805da2efdf...84b1be4c63)

Updates `mikefarah/yq` from 4.53.6 to 4.54.1
- [Release notes](https://github.com/mikefarah/yq/releases)
- [Changelog](https://github.com/mikefarah/yq/blob/master/release_notes.txt)
- [Commits](c14f446382...504fc38780)

Updates `actions/upload-artifact` from 7.0.1 to 7.0.2
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](043fb46d1a...cf430e030d)

Updates `chainguard-dev/actions/trailing-space` from 1.6.37 to 1.6.40
- [Release notes](https://github.com/chainguard-dev/actions/releases)
- [Commits](805da2efdf...84b1be4c63)

Updates `chainguard-dev/actions/eof-newline` from 1.6.37 to 1.6.40
- [Release notes](https://github.com/chainguard-dev/actions/releases)
- [Commits](805da2efdf...84b1be4c63)

---
updated-dependencies:
- dependency-name: chainguard-dev/actions/donotsubmit
  dependency-version: 1.6.40
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: actions
- dependency-name: chainguard-dev/actions/setup-mirror
  dependency-version: 1.6.40
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: actions
- dependency-name: chainguard-dev/actions/kind-diag
  dependency-version: 1.6.40
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: actions
- dependency-name: mikefarah/yq
  dependency-version: 4.54.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: actions
- dependency-name: actions/upload-artifact
  dependency-version: 7.0.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: actions
- dependency-name: chainguard-dev/actions/trailing-space
  dependency-version: 1.6.40
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: actions
- dependency-name: chainguard-dev/actions/eof-newline
  dependency-version: 1.6.40
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: actions
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-10-14 10:10:51 +02:00
Hayden
e2d25b54f7 Mention windows builds in readme (#5147)
Fixes #5142
2026-10-04 16:20:51 -04:00
Ashvin
6a83f9a208 fix(verify): don't panic on a bundle entry with no hash (#5127)
* fix(verify): don't panic on a bundle entry with no hash

bundleHash dereferenced the algorithm and value of a Rekor entry hash
without checking them. The hash is optional in all five of these schemas,
and unmarshalling does not always populate it: a rekord v0.0.1 entry that
carries data.content but no data.hash, and an intoto v0.0.2 entry whose
envelope payload is empty, both unmarshal cleanly with a nil hash.

The body comes from the bundle attached to the signature, so it is read
from the registry before the certificate has been validated and before
the signature has been checked. A body that omits the hash therefore
crashes the verifier rather than failing verification.

Check each level before dereferencing it and return an error instead.

Signed-off-by: ashvinctrl <sharmaashvin27@gmail.com>

* fix(verify): trim comments in bundleHash

Drop the hashFields doc comment and cut the bundleHash comment down to the
part that is not visible from the code: the Rekor models mark the hash fields
required, but per-type validation does not always enforce it.

Signed-off-by: ashvinctrl <sharmaashvin27@gmail.com>

* test(verify): cover every bundleHash entry type and hashFields

Add success cases for all five entry types, missing-hash cases for each
type (including partial hash objects, which Rekor rejects before the
switch), and a direct test of hashFields for a nil algorithm or value.

Signed-off-by: ashvinctrl <sharmaashvin27@gmail.com>

---------

Signed-off-by: ashvinctrl <sharmaashvin27@gmail.com>
2026-10-02 10:42:03 -07:00
Aaron Lew
0ea1cec1aa refactor: remove uploadToRekor parameter from ConfirmPrivacyStatement
Signed-off-by: Aaron Lew <64337293+aaronlew02@users.noreply.github.com>
2026-10-01 11:08:07 -07:00
Pujitha Paladugu
ff2a8f4ea2 fix(sign): pass digest hash algorithm to underlying signer in SignData
Fixes #5018

Motivation

Signing with a HashiCorp Vault Transit KMS ECDSA P-521 key fails with
"signing digest: signing bundle: error signing bundle: unexpected
length of digest for hash function specified". This is a regression
in the bundle-signing path introduced when SignerVerifierKeypair was
added: it correctly computes the digest using the key's own default
hash algorithm (SHA-512 for P-521), but never told the underlying
signer.SignMessage which hash algorithm that digest was produced with.

KMS-backed SignerVerifiers created via
pkg/signature/keys.go:SignerVerifierFromKeyRef are constructed with a
hardcoded crypto.SHA256 default (unrelated to the actual key's curve),
so sigstore-go's ComputeDigestForSigning fell back to that default,
saw a 64-byte digest against an expected 32-byte SHA-256 digest, and
rejected it with the mismatch error above.

Approach

internal/key/svkeypair.go: SignerVerifierKeypair.SignData now also
passes signatureoptions.WithCryptoSignerOpts(hashType) alongside
WithDigest(digest), so the signer is told exactly which hash algorithm
produced the digest, regardless of what hash it was constructed with
by default. This affects every SignerVerifier-backed signing path (any
KMS provider, not just Vault) whenever the key's natural hash isn't
SHA-256 (e.g. P-384/P-521 ECDSA, larger RSA keys). For keys whose
natural hash is already SHA-256 (e.g. default P-256), this is a no-op:
the newly-passed option matches the signer's existing default.

Validation

go build ./...
go test ./internal/key/... ./pkg/signature/... ./pkg/cosign/bundle/... -count=1
  ok  	github.com/sigstore/cosign/v3/internal/key
  ok  	github.com/sigstore/cosign/v3/pkg/signature
  ok  	github.com/sigstore/cosign/v3/pkg/cosign/bundle

Added TestKMSKeypair_ECDSA_P521_SignData, which reproduces the digest
length/hash mismatch reported in the issue (verified it fails without
this fix with "expected underlying signer to be given crypto.SHA512
opts matching the digest, got <nil>", and passes with it). This was
verified with a unit test against a mock SignerVerifier reproducing
the KMS signer's option-handling behavior; it was not validated
against a live HashiCorp Vault instance.

Signed-off-by: Pujitha Paladugu <10557236+pujitha24@users.noreply.github.com>
2026-10-01 11:05:45 -07:00
Aaron Lew
7757e8b3e3 fix(e2e): enable UseSignedTimestamps in *TSAMTLSWithSigningConfig
Signed-off-by: Aaron Lew <64337293+aaronlew02@users.noreply.github.com>
2026-10-01 10:49:26 -07:00
dependabot[bot]
a46875bcdb chore(deps): bump the actions group across 1 directory with 6 updates (#5129)
Bumps the actions group with 6 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [chainguard-dev/actions/donotsubmit](https://github.com/chainguard-dev/actions) | `1.6.34` | `1.6.37` |
| [chainguard-dev/actions/setup-mirror](https://github.com/chainguard-dev/actions) | `1.6.34` | `1.6.37` |
| [chainguard-dev/actions/kind-diag](https://github.com/chainguard-dev/actions) | `1.6.34` | `1.6.37` |
| [codecov/codecov-action](https://github.com/codecov/codecov-action) | `7.0.0` | `7.1.1` |
| [chainguard-dev/actions/trailing-space](https://github.com/chainguard-dev/actions) | `1.6.34` | `1.6.37` |
| [chainguard-dev/actions/eof-newline](https://github.com/chainguard-dev/actions) | `1.6.34` | `1.6.37` |



Updates `chainguard-dev/actions/donotsubmit` from 1.6.34 to 1.6.37
- [Release notes](https://github.com/chainguard-dev/actions/releases)
- [Commits](a9d4aa7202...805da2efdf)

Updates `chainguard-dev/actions/setup-mirror` from 1.6.34 to 1.6.37
- [Release notes](https://github.com/chainguard-dev/actions/releases)
- [Commits](a9d4aa7202...805da2efdf)

Updates `chainguard-dev/actions/kind-diag` from 1.6.34 to 1.6.37
- [Release notes](https://github.com/chainguard-dev/actions/releases)
- [Commits](a9d4aa7202...805da2efdf)

Updates `codecov/codecov-action` from 7.0.0 to 7.1.1
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](fb8b3582c8...303a32d7a5)

Updates `chainguard-dev/actions/trailing-space` from 1.6.34 to 1.6.37
- [Release notes](https://github.com/chainguard-dev/actions/releases)
- [Commits](a9d4aa7202...805da2efdf)

Updates `chainguard-dev/actions/eof-newline` from 1.6.34 to 1.6.37
- [Release notes](https://github.com/chainguard-dev/actions/releases)
- [Commits](a9d4aa7202...805da2efdf)

---
updated-dependencies:
- dependency-name: chainguard-dev/actions/donotsubmit
  dependency-version: 1.6.36
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: actions
- dependency-name: chainguard-dev/actions/eof-newline
  dependency-version: 1.6.36
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: actions
- dependency-name: chainguard-dev/actions/kind-diag
  dependency-version: 1.6.36
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: actions
- dependency-name: chainguard-dev/actions/setup-mirror
  dependency-version: 1.6.36
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: actions
- dependency-name: chainguard-dev/actions/trailing-space
  dependency-version: 1.6.36
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: actions
- dependency-name: codecov/codecov-action
  dependency-version: 7.1.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: actions
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-29 21:00:02 -04:00
dependabot[bot]
ba6ae082c3 chore(deps): bump the gomod group across 1 directory with 3 updates (#5139)
Bumps the gomod group with 3 updates in the / directory: [github.com/go-openapi/strfmt](https://github.com/go-openapi/strfmt), [github.com/go-openapi/swag/conv](https://github.com/go-openapi/swag) and [github.com/spiffe/go-spiffe/v2](https://github.com/spiffe/go-spiffe).


Updates `github.com/go-openapi/strfmt` from 0.27.1 to 0.27.2
- [Release notes](https://github.com/go-openapi/strfmt/releases)
- [Commits](https://github.com/go-openapi/strfmt/compare/v0.27.1...v0.27.2)

Updates `github.com/go-openapi/swag/conv` from 0.29.1 to 0.29.2
- [Release notes](https://github.com/go-openapi/swag/releases)
- [Commits](https://github.com/go-openapi/swag/compare/v0.29.1...v0.29.2)

Updates `github.com/spiffe/go-spiffe/v2` from 2.8.1 to 2.8.2
- [Release notes](https://github.com/spiffe/go-spiffe/releases)
- [Changelog](https://github.com/spiffe/go-spiffe/blob/main/CHANGELOG.md)
- [Commits](https://github.com/spiffe/go-spiffe/compare/v2.8.1...v2.8.2)

---
updated-dependencies:
- dependency-name: github.com/go-openapi/strfmt
  dependency-version: 0.27.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gomod
- dependency-name: github.com/go-openapi/swag/conv
  dependency-version: 0.29.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gomod
- dependency-name: github.com/spiffe/go-spiffe/v2
  dependency-version: 2.8.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gomod
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-29 20:59:41 -04:00
dependabot[bot]
3a9150d2b8 chore(deps): bump golangci/golangci-lint in the all group (#5140)
Bumps the all group with 1 update: golangci/golangci-lint.


Updates `golangci/golangci-lint` from v2.13.2 to v2.14.0

---
updated-dependencies:
- dependency-name: golangci/golangci-lint
  dependency-version: v2.14.0
  dependency-type: direct:production
  dependency-group: all
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-29 20:59:18 -04:00
Aaron Lew
f624836219 test(verify): add failure cases for new bundle verification
Signed-off-by: Aaron Lew <64337293+aaronlew02@users.noreply.github.com>
2026-09-29 10:27:56 -07:00
Aaron Lew
907c3d899c fix(sign): propagate BundlePath from SignOptions to KeyOpts
Signed-off-by: Aaron Lew <64337293+aaronlew02@users.noreply.github.com>
2026-09-24 12:59:42 -07:00
Hayden
4961ad02d1 Rename crypto11 module path (#5135)
The project has been donated to the Eclipse Foundation.
See https://github.com/eclipse-keypont/crypto11/releases/tag/v1.6.8

Fixes #5134

Signed-off-by: Hayden <8418760+Hayden-IO@users.noreply.github.com>
2026-09-24 11:39:10 -07:00
Chiman Jain
f9285f2d29 chore(deps): upgrade gitlab-org/api/client-go to v3 (#5133)
* chore(deps): upgrade gitlab-org/api/client-go to v3

Signed-off-by: Chiman Jain <chimanjain15@gmail.com>

* chore(deps): fix staticcheck issues

Signed-off-by: Chiman Jain <chimanjain15@gmail.com>

---------

Signed-off-by: Chiman Jain <chimanjain15@gmail.com>
2026-09-24 07:58:14 -04:00
swivelmargarita
0c66ecdff3 clean: update inaccurate warning (#4909)
* clean: update inaccurate warning

The warning message is incorrect, as `cosign clean` subcommand does not have
`--referrer` option

Closes #4908

Signed-off-by: Takha Polat <takha.polat@bell-sw.com>

* Empty commit to run tests

Signed-off-by: Zach Steindler <steiza@github.com>

---------

Signed-off-by: Takha Polat <takha.polat@bell-sw.com>
Signed-off-by: Zach Steindler <steiza@github.com>
Co-authored-by: Takha Polat <takha.polat@bell-sw.com>
Co-authored-by: Zach Steindler <steiza@github.com>
2026-09-18 20:34:09 +00:00
Aaron Lew
67a1216d73 fix: write referrers when image index has attestations (#5111)
Signed-off-by: Aaron Lew <64337293+aaronlew02@users.noreply.github.com>
2026-09-18 16:24:31 -04:00
Aaron Lew
ac3a927375 fix(verify): enforce mutually exclusive key and security key (#5124)
Signed-off-by: Aaron Lew <64337293+aaronlew02@users.noreply.github.com>
2026-09-18 16:23:55 -04:00
Aaron Lew
048eff5895 Reorder events in LoadTrustedMaterialAndSigningConfig
Signed-off-by: Aaron Lew <64337293+aaronlew02@users.noreply.github.com>
2026-09-18 12:56:55 -07:00
Carlos Tadeu Panato Junior
e9a91ea113 update builder images to use go1.27.1 (#5107)
Signed-off-by: Carlos Panato <ctadeu@gmail.com>
2026-09-15 13:27:35 -04:00
Ali Asghar
43d83e8490 fix(layout): preserve manifest artifactType in index.json when saving (#4821)
When cosign save writes an OCI artifact to disk, partial.Descriptor falls
back to config.mediaType as the artifactType in the index.json descriptor
because go-containerregistry's v1.Manifest struct does not expose the
manifest-level artifactType field. The result is that config.mediaType
appears as the artifactType entry in index.json instead of the correct
manifest artifactType, violating the OCI Image Layout spec.

Fix appendImage to parse the raw manifest JSON and override the descriptor's
ArtifactType field when a top-level artifactType is present. The existing
config.mediaType fallback still applies when artifactType is absent.

Fixes #4694

Signed-off-by: Ali <alliasgher123@gmail.com>
2026-09-14 16:24:02 -07:00
Geoffrey Hichborn
1dbbc36ca4 fix(load): upload bundle layer blobs before manifest PUT
cosign load was putting v3 Sigstore bundle manifests before their layer
blobs, causing BLOB_UPLOAD_UNKNOWN on registries that enforce blob-first
ordering (e.g. AWS ECR). Reorder to match WriteReferrer.

Add a unit test for upload ordering and a cross-registry e2e whose
destination rejects manifests that reference missing blobs, so the
regression is not masked by the permissive fake registry.

Fixes #5030

Co-authored-by: Cursor <cursoragent@cursor.com>
Signed-off-by: Geoffrey Hichborn <geoff@yourparadigm.net>
2026-09-14 16:14:40 -07:00
Pujitha Paladugu
81b61e249c fix: strip trailing whitespace from attached signature files/stdin (#5058)
* fix: strip trailing whitespace from attached signature files/stdin

Motivation:
The linked report below describes a failure after detaching a
signature with `cosign download signature ... | jq -r
'.Base64Signature' > signature.sig` and later re-attaching it on
another registry with `cosign attach signature --signature
signature.sig ...`. The reporter's own --verbose debug output shows
the OCI manifest annotation dev.cosignproject.cosign/signature on the
re-attached image literally contains the base64 signature value with
a trailing newline embedded in it, unlike the original signing
machine's copy. That newline comes from shell redirection after
`jq -r`; cosign's attach signature command stores whatever bytes it
reads from the --signature file or stdin verbatim, with no trimming.

Storing extraneous whitespace inside a signature annotation is a
real, demonstrated defect regardless of whether it fully explains the
"invalid signature when validating ASN.1 encoded signature" error the
reporter hit: Go's own base64 decoder tolerates embedded \r/\n and
decodes to the same bytes, so this alone would not necessarily
reproduce that exact failure, and the report's repro also mixed up
`cosign download signature`'s JSON envelope for --payload, a separate
issue. This change fixes the annotation-pollution defect on its own
merits; it is not a claim that it resolves the full reported scenario
end-to-end.

Approach:
Trim leading and trailing whitespace from bytes read from a signature
file or stdin in signatureBytes() (cmd/cosign/cli/attach/sig.go)
before they are stored as the signature annotation. Base64 has no
whitespace in its alphabet, so trimming cannot remove meaningful
signature bytes. The literal-argument path is untouched.

Validation:
- go test ./cmd/cosign/cli/attach/... — added
  TestSignatureBytesTrimsTrailingWhitespace, which fails before this
  change (returned bytes include the trailing "\n") and passes after;
  verified this directly by stashing the fix and re-running the test.
  Also added TestSignatureBytesFileWithoutTrailingWhitespaceUnaffected
  confirming clean input is unaffected.
- go build ./... and go vet ./cmd/cosign/cli/attach/... pass.
- go test ./cmd/cosign/... passes (all subpackages).
- golangci-lint run ./cmd/cosign/cli/attach/... (v2.12.2, matching
  this repo's Dockerfile.golangci-lint) reports 0 issues.

Report: https://github.com/sigstore/cosign/issues/4207
Signed-off-by: Pujitha Paladugu <10557236+pujitha24@users.noreply.github.com>

* fix: update copyright year in sig_test.go to 2026

Signed-off-by: Pujitha Paladugu <10557236+pujitha24@users.noreply.github.com>

---------

Signed-off-by: Pujitha Paladugu <10557236+pujitha24@users.noreply.github.com>
Co-authored-by: Pujitha Paladugu <10557236+pujitha24@users.noreply.github.com>
2026-09-14 15:58:32 -07:00
Tommy
b327bba1f0 fix: clarify COSIGN_REPOSITORY error when repository path is missing
COSIGN_REPOSITORY expects a full repository (registry + path), not just
a registry. When a bare registry like "registry.example.com:5000" is
given, name.NewRepository() has no '/' to split on, treats the whole
value as a repository name, and rejects it with a confusing "can only
contain the characters ..." error that looks like a parsing bug rather
than a missing path component.

Detect this case and return an actionable error message pointing out
that COSIGN_REPOSITORY needs a repository path.

Fixes #3029

Signed-off-by: Tommy <tommy@bejara.net>
2026-09-14 15:53:08 -07:00
Pujitha Paladugu
3532c1d092 fix: include annotations in implied payload for offline verify
Motivation:
When signing with `cosign sign --upload=false -a key=value
--output-signature=sig.file`, cosign builds the signed payload from
payload.Cosign{Image, ClaimedIdentity, Annotations} including the
annotations (cmd/cosign/cli/sign/sign.go). When later verifying
offline with `cosign verify -a key=value --signature sig.file` and no
explicit `--payload`, cosign reconstructs an "implied" payload via
ObsoletePayload to compare against the signature, but that
reconstruction dropped annotations entirely. The reconstructed payload
therefore never matched the payload that was actually signed, so
verification always failed with "crypto/rsa: verification error" (or
equivalent) any time annotations were used with offline signing.

Approach:
Thread the caller-supplied annotations through ObsoletePayload so the
implied payload it builds matches what was used at signing time. The
verify call site (pkg/cosign/verify.go) now passes co.Annotations,
which is populated from the `-a` flag. The attach-signature call site
(cmd/cosign/cli/attach/sig.go) has no annotations flag, so it passes
nil, preserving its existing behavior exactly.

This is a pure payload-construction/serialization fix with no
dependency on registry, network, or transparency-log state: the
default (no-annotations) case is byte-for-byte unchanged.

Validation:
- go build ./...
- go test ./pkg/cosign/... ./cmd/cosign/cli/attach/... ./cmd/cosign/cli/verify/...
- go test $(go list ./... | grep -v third_party/)
  All pass. Added TestObsoletePayloadWithAnnotations in
  pkg/cosign/obsolete_test.go, which fails to compile against the
  pre-fix ObsoletePayload signature and asserts the annotation now
  appears in the marshaled payload's "optional" field once the fix is
  applied; confirmed by temporarily reverting the source changes and
  observing the test target fail to build.

Report: https://github.com/sigstore/cosign/issues/4024
Signed-off-by: Pujitha Paladugu <10557236+pujitha24@users.noreply.github.com>
2026-09-14 15:14:58 -07:00
Arpit Jain
b84a076464 Cap the bundle layer read in ociremote.Bundle
Bundle() decompressed the new-bundle-format attestation layer and read all of
it into memory with no size check, while every other layer read in pkg/oci
calls payloadsize.CheckSize first. A registry the user does not control could
make cosign verify-attestation --new-bundle-format allocate without bound from
a small compressed layer.

The size a registry declares is the compressed size, and this is the only one
of these reads that goes through Uncompressed(), so checking that size is
necessary but not sufficient. This does both: the declared size is checked
first so an oversized layer is rejected before anything is read, and the
decompressed stream is then bounded by the same limit.

GetBundles calls Bundle() for every manifest in a referrers index and swallows
the error with continue, since non-Sigstore referrers are expected there, so
without the second check each oversized layer in an index was read in full
before its error was reached.

MaxSize is exported from the payload size package because a caller reading a
decompressed stream needs the limit itself rather than a yes or no answer
about a size it already knows.

Signed-off-by: Arpit Jain <arpitjain099@gmail.com>
2026-09-14 13:10:15 -07:00
dependabot[bot]
633e8f4303 chore(deps): bump the gomod group across 1 directory with 17 updates (#5104)
* chore(deps): bump the gomod group across 1 directory with 17 updates

Bumps the gomod group with 7 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [cuelang.org/go](https://github.com/cue-lang/cue) | `0.17.0` | `0.17.1` |
| [github.com/go-jose/go-jose/v4](https://github.com/go-jose/go-jose) | `4.1.4` | `4.1.5` |
| [github.com/go-openapi/runtime](https://github.com/go-openapi/runtime) | `0.33.0` | `0.33.2` |
| [github.com/open-policy-agent/opa](https://github.com/open-policy-agent/opa) | `1.20.1` | `1.20.2` |
| [github.com/secure-systems-lab/go-securesystemslib](https://github.com/secure-systems-lab/go-securesystemslib) | `0.11.0` | `0.11.1` |
| [github.com/sigstore/protobuf-specs](https://github.com/sigstore/protobuf-specs) | `0.5.1` | `0.5.2` |
| [github.com/sigstore/rekor](https://github.com/sigstore/rekor) | `1.5.3` | `1.5.4` |



Updates `cuelang.org/go` from 0.17.0 to 0.17.1
- [Release notes](https://github.com/cue-lang/cue/releases)
- [Commits](https://github.com/cue-lang/cue/compare/v0.17.0...v0.17.1)

Updates `github.com/go-jose/go-jose/v4` from 4.1.4 to 4.1.5
- [Release notes](https://github.com/go-jose/go-jose/releases)
- [Commits](https://github.com/go-jose/go-jose/compare/v4.1.4...v4.1.5)

Updates `github.com/go-openapi/runtime` from 0.33.0 to 0.33.2
- [Release notes](https://github.com/go-openapi/runtime/releases)
- [Commits](https://github.com/go-openapi/runtime/compare/v0.33.0...v0.33.2)

Updates `github.com/go-openapi/strfmt` from 0.27.0 to 0.27.1
- [Release notes](https://github.com/go-openapi/strfmt/releases)
- [Commits](https://github.com/go-openapi/strfmt/compare/v0.27.0...v0.27.1)

Updates `github.com/go-openapi/swag/conv` from 0.27.3 to 0.29.1
- [Release notes](https://github.com/go-openapi/swag/releases)
- [Commits](https://github.com/go-openapi/swag/compare/v0.27.3...v0.29.1)

Updates `github.com/open-policy-agent/opa` from 1.20.1 to 1.20.2
- [Release notes](https://github.com/open-policy-agent/opa/releases)
- [Changelog](https://github.com/open-policy-agent/opa/blob/main/CHANGELOG.md)
- [Commits](https://github.com/open-policy-agent/opa/compare/v1.20.1...v1.20.2)

Updates `github.com/secure-systems-lab/go-securesystemslib` from 0.11.0 to 0.11.1
- [Release notes](https://github.com/secure-systems-lab/go-securesystemslib/releases)
- [Commits](https://github.com/secure-systems-lab/go-securesystemslib/compare/v0.11.0...v0.11.1)

Updates `github.com/sigstore/protobuf-specs` from 0.5.1 to 0.5.2
- [Changelog](https://github.com/sigstore/protobuf-specs/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sigstore/protobuf-specs/compare/v0.5.1...v0.5.2)

Updates `github.com/sigstore/rekor` from 1.5.3 to 1.5.4
- [Release notes](https://github.com/sigstore/rekor/releases)
- [Changelog](https://github.com/sigstore/rekor/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sigstore/rekor/compare/v1.5.3...v1.5.4)

Updates `github.com/sigstore/sigstore` from 1.10.8 to 1.10.9
- [Release notes](https://github.com/sigstore/sigstore/releases)
- [Commits](https://github.com/sigstore/sigstore/compare/v1.10.8...v1.10.9)

Updates `github.com/sigstore/sigstore/pkg/signature/kms/aws` from 1.10.8 to 1.10.9
- [Release notes](https://github.com/sigstore/sigstore/releases)
- [Commits](https://github.com/sigstore/sigstore/compare/v1.10.8...v1.10.9)

Updates `github.com/sigstore/sigstore/pkg/signature/kms/azure` from 1.10.8 to 1.10.9
- [Release notes](https://github.com/sigstore/sigstore/releases)
- [Commits](https://github.com/sigstore/sigstore/compare/v1.10.8...v1.10.9)

Updates `github.com/sigstore/sigstore/pkg/signature/kms/gcp` from 1.10.8 to 1.10.9
- [Release notes](https://github.com/sigstore/sigstore/releases)
- [Commits](https://github.com/sigstore/sigstore/compare/v1.10.8...v1.10.9)

Updates `github.com/sigstore/sigstore/pkg/signature/kms/hashivault` from 1.10.8 to 1.10.9
- [Release notes](https://github.com/sigstore/sigstore/releases)
- [Commits](https://github.com/sigstore/sigstore/compare/v1.10.8...v1.10.9)

Updates `github.com/stretchr/testify` from 1.11.1 to 1.12.1
- [Release notes](https://github.com/stretchr/testify/releases)
- [Commits](https://github.com/stretchr/testify/compare/v1.11.1...v1.12.1)

Updates `google.golang.org/api` from 0.284.0 to 0.290.0
- [Release notes](https://github.com/googleapis/google-api-go-client/releases)
- [Changelog](https://github.com/googleapis/google-api-go-client/blob/main/CHANGES.md)
- [Commits](https://github.com/googleapis/google-api-go-client/compare/v0.284.0...v0.290.0)

Updates `google.golang.org/protobuf` from 1.36.12-0.20260120151049-f2248ac996af to 1.36.12

---
updated-dependencies:
- dependency-name: cuelang.org/go
  dependency-version: 0.17.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gomod
- dependency-name: github.com/go-jose/go-jose/v4
  dependency-version: 4.1.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gomod
- dependency-name: github.com/go-openapi/runtime
  dependency-version: 0.33.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gomod
- dependency-name: github.com/go-openapi/strfmt
  dependency-version: 0.27.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gomod
- dependency-name: github.com/go-openapi/swag/conv
  dependency-version: 0.29.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: gomod
- dependency-name: github.com/open-policy-agent/opa
  dependency-version: 1.20.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gomod
- dependency-name: github.com/secure-systems-lab/go-securesystemslib
  dependency-version: 0.11.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gomod
- dependency-name: github.com/sigstore/protobuf-specs
  dependency-version: 0.5.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gomod
- dependency-name: github.com/sigstore/rekor
  dependency-version: 1.5.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gomod
- dependency-name: github.com/sigstore/sigstore
  dependency-version: 1.10.9
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gomod
- dependency-name: github.com/sigstore/sigstore/pkg/signature/kms/aws
  dependency-version: 1.10.9
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gomod
- dependency-name: github.com/sigstore/sigstore/pkg/signature/kms/azure
  dependency-version: 1.10.9
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gomod
- dependency-name: github.com/sigstore/sigstore/pkg/signature/kms/gcp
  dependency-version: 1.10.9
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gomod
- dependency-name: github.com/sigstore/sigstore/pkg/signature/kms/hashivault
  dependency-version: 1.10.9
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gomod
- dependency-name: github.com/stretchr/testify
  dependency-version: 1.12.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: gomod
- dependency-name: google.golang.org/api
  dependency-version: 0.290.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: gomod
- dependency-name: google.golang.org/protobuf
  dependency-version: 1.36.12
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gomod
...

Signed-off-by: dependabot[bot] <support@github.com>

* update mock interface

Signed-off-by: Bob Callaway <bcallaway@google.com>

* fix linter errors

Signed-off-by: Bob Callaway <bcallaway@google.com>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Bob Callaway <bcallaway@google.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Bob Callaway <bcallaway@google.com>
2026-09-08 15:36:42 -04:00
Aaron Lew
d39ab7c812 Align privacy statement prompt behavior (#5076)
* fix: evaluate tlog upload for all signers

Signed-off-by: Aaron Lew <64337293+aaronlew02@users.noreply.github.com>

* refactor: extract privacy statement logic from ShouldUploadToTlog

Signed-off-by: Aaron Lew <64337293+aaronlew02@users.noreply.github.com>

* refactor: generalize public good URL detection for Rekor and Fulcio

Signed-off-by: Aaron Lew <64337293+aaronlew02@users.noreply.github.com>

* fix: only show privacy statement for public Sigstore services

Signed-off-by: Aaron Lew <64337293+aaronlew02@users.noreply.github.com>

* refactor: rename shouldUpload to uploadToTlog

Signed-off-by: Aaron Lew <64337293+aaronlew02@users.noreply.github.com>

---------

Signed-off-by: Aaron Lew <64337293+aaronlew02@users.noreply.github.com>
2026-09-08 15:25:10 -04:00
dependabot[bot]
b918f9d67c chore(deps): bump the all group across 1 directory with 2 updates (#5067)
* chore(deps): bump the all group across 1 directory with 2 updates

Bumps the all group with 2 updates in the / directory: golang and golangci/golangci-lint.


Updates `golang` from 1.26.5 to 1.27.0

Updates `golangci/golangci-lint` from v2.12.2 to v2.13.1

---
updated-dependencies:
- dependency-name: golang
  dependency-version: 1.27.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: all
- dependency-name: golangci/golangci-lint
  dependency-version: v2.13.1
  dependency-type: direct:production
  dependency-group: all
...

Signed-off-by: dependabot[bot] <support@github.com>

* address lints

Signed-off-by: Bob Callaway <bcallaway@google.com>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Bob Callaway <bcallaway@google.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Bob Callaway <bcallaway@google.com>
2026-09-08 13:33:49 +00:00
dependabot[bot]
93902e5796 chore(deps): bump the actions group across 1 directory with 6 updates (#5105)
Bumps the actions group with 6 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [actions/checkout](https://github.com/actions/checkout) | `7.0.0` | `7.0.1` |
| [chainguard-dev/actions/donotsubmit](https://github.com/chainguard-dev/actions) | `1.6.32` | `1.6.34` |
| [chainguard-dev/actions/setup-mirror](https://github.com/chainguard-dev/actions) | `1.6.32` | `1.6.34` |
| [chainguard-dev/actions/kind-diag](https://github.com/chainguard-dev/actions) | `1.6.32` | `1.6.34` |
| [chainguard-dev/actions/trailing-space](https://github.com/chainguard-dev/actions) | `1.6.32` | `1.6.34` |
| [chainguard-dev/actions/eof-newline](https://github.com/chainguard-dev/actions) | `1.6.32` | `1.6.34` |



Updates `actions/checkout` from 7.0.0 to 7.0.1
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](9c091bb21b...3d3c42e5aa)

Updates `chainguard-dev/actions/donotsubmit` from 1.6.32 to 1.6.34
- [Release notes](https://github.com/chainguard-dev/actions/releases)
- [Commits](7bd1e94b2a...a9d4aa7202)

Updates `chainguard-dev/actions/setup-mirror` from 1.6.32 to 1.6.34
- [Release notes](https://github.com/chainguard-dev/actions/releases)
- [Commits](7bd1e94b2a...a9d4aa7202)

Updates `chainguard-dev/actions/kind-diag` from 1.6.32 to 1.6.34
- [Release notes](https://github.com/chainguard-dev/actions/releases)
- [Commits](7bd1e94b2a...a9d4aa7202)

Updates `chainguard-dev/actions/trailing-space` from 1.6.32 to 1.6.34
- [Release notes](https://github.com/chainguard-dev/actions/releases)
- [Commits](7bd1e94b2a...a9d4aa7202)

Updates `chainguard-dev/actions/eof-newline` from 1.6.32 to 1.6.34
- [Release notes](https://github.com/chainguard-dev/actions/releases)
- [Commits](7bd1e94b2a...a9d4aa7202)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: 7.0.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: actions
- dependency-name: chainguard-dev/actions/donotsubmit
  dependency-version: 1.6.34
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: actions
- dependency-name: chainguard-dev/actions/eof-newline
  dependency-version: 1.6.34
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: actions
- dependency-name: chainguard-dev/actions/kind-diag
  dependency-version: 1.6.34
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: actions
- dependency-name: chainguard-dev/actions/setup-mirror
  dependency-version: 1.6.34
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: actions
- dependency-name: chainguard-dev/actions/trailing-space
  dependency-version: 1.6.34
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: actions
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-08 13:23:10 +00:00
dependabot[bot]
0e676d9033 chore(deps): bump actions/setup-go from 6.5.0 to 7.0.0 (#5106)
Bumps [actions/setup-go](https://github.com/actions/setup-go) from 6.5.0 to 7.0.0.
- [Release notes](https://github.com/actions/setup-go/releases)
- [Commits](924ae3a1cd...b7ad1dad31)

---
updated-dependencies:
- dependency-name: actions/setup-go
  dependency-version: 7.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-08 13:16:44 +00:00
Bob Callaway
559c58cffc copy annotations by key instead of copying obj (#5103)
Signed-off-by: Bob Callaway <bcallaway@google.com>
2026-09-08 08:12:40 -04:00
dependabot[bot]
1ab7015bbd chore(deps): bump codecov/codecov-action from 6.0.1 to 7.0.0 (#4955)
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 6.0.1 to 7.0.0.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](e79a6962e0...fb8b3582c8)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-version: 7.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-06 13:23:17 +00:00
dependabot[bot]
49a9ba0c82 chore(deps): bump github.com/spiffe/go-spiffe/v2 from 2.7.0 to 2.8.1 (#4987)
Bumps [github.com/spiffe/go-spiffe/v2](https://github.com/spiffe/go-spiffe) from 2.7.0 to 2.8.1.
- [Release notes](https://github.com/spiffe/go-spiffe/releases)
- [Changelog](https://github.com/spiffe/go-spiffe/blob/main/CHANGELOG.md)
- [Commits](https://github.com/spiffe/go-spiffe/compare/v2.7.0...v2.8.1)

---
updated-dependencies:
- dependency-name: github.com/spiffe/go-spiffe/v2
  dependency-version: 2.8.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-06 13:21:56 +00:00
dependabot[bot]
059c22b843 chore(deps): bump github.com/open-policy-agent/opa from 1.17.1 to 1.20.1 (#4986)
Bumps [github.com/open-policy-agent/opa](https://github.com/open-policy-agent/opa) from 1.17.1 to 1.20.1.
- [Release notes](https://github.com/open-policy-agent/opa/releases)
- [Changelog](https://github.com/open-policy-agent/opa/blob/main/CHANGELOG.md)
- [Commits](https://github.com/open-policy-agent/opa/compare/v1.17.1...v1.20.1)

---
updated-dependencies:
- dependency-name: github.com/open-policy-agent/opa
  dependency-version: 1.18.2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-06 13:19:47 +00:00
CAOShurong
f69dd35784 docs: fix two dead links in README (#5072)
- chainguard-images/static was folded into the chainguard-images/images
  monorepo; point the Dockerfile source comment at the static image's new
  home (github.com/chainguard-images/static now 404s)
- notaryproject/nv2 was archived and its issue tracker moved to
  notaryproject/notation; the referenced payload-format discussion is the
  same issue #40 under the new repo

Signed-off-by: Shurong Cao <CAOShurong@users.noreply.github.com>
Co-authored-by: Shurong Cao <CAOShurong@users.noreply.github.com>
2026-09-06 13:15:53 +00:00
Ralph Bean
37cf1bc499 Add org.opencontainers.image.title annotation to attestation layers (#4498)
Add the org.opencontainers.image.title annotation to layer descriptors
in attestation manifests to enable tools like 'oras pull' to download
attestation bundles with meaningful, collision-free filenames.

The annotation format is {algorithm}-{hex}.sigstore.json where the
hyphen separator ensures cross-platform filename compatibility,
particularly for Windows which forbids colons in filenames.

Changes:
- Add Annotations field to layer descriptors in WriteReferrer
- Update tests to verify annotation is set correctly
- Document the optional layer annotation in BUNDLE_SPEC.md

Fixes #4497

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Signed-off-by: Ralph Bean <rbean@redhat.com>
Co-authored-by: Claude <noreply@anthropic.com>
2026-09-06 09:01:18 -04:00
dependabot[bot]
cd5817d927 chore(deps): bump cuelang.org/go from 0.16.1 to 0.17.0 (#4989)
Bumps [cuelang.org/go](https://github.com/cue-lang/cue) from 0.16.1 to 0.17.0.
- [Release notes](https://github.com/cue-lang/cue/releases)
- [Commits](https://github.com/cue-lang/cue/compare/v0.16.1...v0.17.0)

---
updated-dependencies:
- dependency-name: cuelang.org/go
  dependency-version: 0.17.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-06 08:51:49 -04:00
dependabot[bot]
bbdd0a6082 chore(deps): bump actions/checkout from 6.0.3 to 7.0.0 (#5010)
Bumps [actions/checkout](https://github.com/actions/checkout) from 6.0.3 to 7.0.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](df4cb1c069...9c091bb21b)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: 7.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-06 08:51:12 -04:00
dependabot[bot]
10438c24ef chore(deps): bump actions/cache from 5.0.5 to 6.1.0 (#5011)
Bumps [actions/cache](https://github.com/actions/cache) from 5.0.5 to 6.1.0.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](27d5ce7f10...55cc834586)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-version: 6.1.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-06 08:50:47 -04:00
Aaron Lew
3684926c30 test: remove redundant TUF fetch in TestValidateAndUnpackCertWithSCT (#5097)
Signed-off-by: Aaron Lew <64337293+aaronlew02@users.noreply.github.com>
2026-09-06 08:49:29 -04:00
Aaron Lew
6785e0e3b4 test: isolate TUF cache in TestGetCTLogPubKeys (#5096)
Signed-off-by: Aaron Lew <64337293+aaronlew02@users.noreply.github.com>
2026-09-06 08:48:56 -04:00
dependabot[bot]
b5c3d2702e chore(deps): bump the actions group across 1 directory with 8 updates (#5069)
Bumps the actions group with 8 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [docker/login-action](https://github.com/docker/login-action) | `4.4.0` | `4.6.0` |
| [chainguard-dev/actions/donotsubmit](https://github.com/chainguard-dev/actions) | `1.6.26` | `1.6.32` |
| [chainguard-dev/actions/setup-mirror](https://github.com/chainguard-dev/actions) | `1.6.26` | `1.6.32` |
| [chainguard-dev/actions/kind-diag](https://github.com/chainguard-dev/actions) | `1.6.26` | `1.6.32` |
| [mikefarah/yq](https://github.com/mikefarah/yq) | `4.53.3` | `4.53.6` |
| [ossf/scorecard-action](https://github.com/ossf/scorecard-action) | `2.4.3` | `2.4.4` |
| [chainguard-dev/actions/trailing-space](https://github.com/chainguard-dev/actions) | `1.6.26` | `1.6.32` |
| [chainguard-dev/actions/eof-newline](https://github.com/chainguard-dev/actions) | `1.6.26` | `1.6.32` |



Updates `docker/login-action` from 4.4.0 to 4.6.0
- [Release notes](https://github.com/docker/login-action/releases)
- [Commits](af1e73f918...dbcb813823)

Updates `chainguard-dev/actions/donotsubmit` from 1.6.26 to 1.6.32
- [Release notes](https://github.com/chainguard-dev/actions/releases)
- [Commits](f0be69916b...7bd1e94b2a)

Updates `chainguard-dev/actions/setup-mirror` from 1.6.26 to 1.6.32
- [Release notes](https://github.com/chainguard-dev/actions/releases)
- [Commits](f0be69916b...7bd1e94b2a)

Updates `chainguard-dev/actions/kind-diag` from 1.6.26 to 1.6.32
- [Release notes](https://github.com/chainguard-dev/actions/releases)
- [Commits](f0be69916b...7bd1e94b2a)

Updates `mikefarah/yq` from 4.53.3 to 4.53.6
- [Release notes](https://github.com/mikefarah/yq/releases)
- [Changelog](https://github.com/mikefarah/yq/blob/master/release_notes.txt)
- [Commits](1b9b4ac518...c14f446382)

Updates `ossf/scorecard-action` from 2.4.3 to 2.4.4
- [Release notes](https://github.com/ossf/scorecard-action/releases)
- [Changelog](https://github.com/ossf/scorecard-action/blob/main/RELEASE.md)
- [Commits](4eaacf0543...2d1146689b)

Updates `chainguard-dev/actions/trailing-space` from 1.6.26 to 1.6.32
- [Release notes](https://github.com/chainguard-dev/actions/releases)
- [Commits](f0be69916b...7bd1e94b2a)

Updates `chainguard-dev/actions/eof-newline` from 1.6.26 to 1.6.32
- [Release notes](https://github.com/chainguard-dev/actions/releases)
- [Commits](f0be69916b...7bd1e94b2a)

---
updated-dependencies:
- dependency-name: docker/login-action
  dependency-version: 4.6.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: actions
- dependency-name: chainguard-dev/actions/donotsubmit
  dependency-version: 1.6.32
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: actions
- dependency-name: chainguard-dev/actions/setup-mirror
  dependency-version: 1.6.32
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: actions
- dependency-name: chainguard-dev/actions/kind-diag
  dependency-version: 1.6.32
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: actions
- dependency-name: mikefarah/yq
  dependency-version: 4.53.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: actions
- dependency-name: ossf/scorecard-action
  dependency-version: 2.4.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: actions
- dependency-name: chainguard-dev/actions/trailing-space
  dependency-version: 1.6.32
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: actions
- dependency-name: chainguard-dev/actions/eof-newline
  dependency-version: 1.6.32
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: actions
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-05 17:08:04 -04:00