Skip to content

Conversation

@simonbaird
Copy link
Member

Signing the VSA might be something we don't need. Provide a way to skip the wrapping of the VSA predicate in a signed DSSE envelope. Also requires some related changes when reading the VSA to make sure we can handle the "unwrapped" versions.

This is pure Claude and I didn't actually test it, but will try to use it now and see how it goes.

Ref: https://issues.redhat.com/browse/EC-1546

Introduces the ability to upload raw VSA attestations without DSSE
envelope signing for cases where signature verification is not required.

Changes:
- Add --disable-vsa-signing flag to ec validate image command
- Modify VSA service to conditionally skip DSSE envelope creation
- Update upload logic to handle both signed envelopes and raw predicates
- Add validation to ensure proper flag combinations
- Enhance logging to distinguish between signed and unsigned modes

When --disable-vsa-signing is set, the VSA predicate is uploaded directly
without wrapping it in a signed DSSE envelope, while maintaining full
backwards compatibility with existing signed VSA workflows.

Co-Authored-By: Claude <[email protected]>

Ref: https://issues.redhat.com/browse/EC-1546
Enhances VSA validation to handle both signed DSSE envelopes and
unsigned raw VSA predicates, enabling validation of VSAs created
with --disable-vsa-signing.

Changes:
- Modify file retriever to auto-detect DSSE envelope vs raw
  predicate formats
- Add parseRawPredicate() to wrap raw predicates in minimal DSSE
  structure
- Update error handling and tests to reflect dual format support
- Maintain full backward compatibility with existing signed VSA
  workflows

When validating raw VSA predicates, use
--ignore-signature-verification to skip signature checks. The file
retriever transparently handles format differences, allowing the
rest of the validation pipeline to work unchanged.

Co-Authored-By: Claude <[email protected]>

Ref: https://issues.redhat.com/browse/EC-1546
@simonbaird simonbaird changed the title Optional vsa signing Provide a way to skip VSA signing/wrapping when creating VSAs Oct 31, 2025
@codecov
Copy link

codecov bot commented Oct 31, 2025

Codecov Report

❌ Patch coverage is 82.85714% with 12 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
cmd/validate/image.go 65.62% 11 Missing ⚠️
internal/validate/vsa/file_retriever.go 95.00% 1 Missing ⚠️
Flag Coverage Δ
generative 68.88% <82.85%> (+0.06%) ⬆️
integration 68.88% <82.85%> (+0.06%) ⬆️
unit 68.88% <82.85%> (+0.06%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
internal/validate/vsa/service.go 85.39% <100.00%> (+3.70%) ⬆️
internal/validate/vsa/file_retriever.go 94.11% <95.00%> (+0.11%) ⬆️
cmd/validate/image.go 87.87% <65.62%> (-1.28%) ⬇️
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@simonbaird simonbaird marked this pull request as draft November 4, 2025 14:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant