-
Notifications
You must be signed in to change notification settings - Fork 43
Add SLSA v1.0 provenance attestation support #3055
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
PR Compliance Guide 🔍Below is a summary of compliance checks for this PR:
Compliance status legend🟢 - Fully Compliant🟡 - Partial Compliant 🔴 - Not Compliant ⚪ - Requires Further Human Verification 🏷️ - Compliance label |
||||||||||||||||||||||||
PR Code Suggestions ✨Explore these optional code suggestions:
|
|||||||||||||||||
Codecov Report❌ Patch coverage is
Flags with carried forward coverage won't be shown. Click here to find out more.
... and 3 files with indirect coverage changes 🚀 New features to boost your workflow:
|
9eb54bf to
12ce1a1
Compare
Implement parser and schema validation for SLSA v1.0 provenance attestations to support the updated SLSA specification while maintaining backward compatibility with v0.2. Co-authored-by: Claude Code <noreply@anthropic.com> Ref: https://issues.redhat.com/browse/EC-1581
12ce1a1 to
0211271
Compare
Extends acceptance test framework to create and verify SLSA v1 attestations, enabling end-to-end testing of v1 provenance support. Co-authored-by: Claude Code <noreply@anthropic.com> Ref: https://issues.redhat.com/browse/EC-1581
Document the cli codebase for agent and developer reference. Co-authored-by: Claude Code <noreply@anthropic.com> Ref: https://issues.redhat.com/browse/EC-1581
Remove MarshalJSON methods from slsaProvenance, slsaProvenanceV1, and provenance types as they are never invoked during JSON serialization. These attestation objects are wrapped in AttestationResult struct, that provides its own structure, so the custom MarshalJSON methods on the inner attestation types are never called by json.Marshal(). The attestation objects themselves are only used internally for policy evaluation and are never directly serialized to JSON in the current codebase. Co-authored-by: Claude Code <noreply@anthropic.com> Ref: https://issues.redhat.com/browse/EC-1581
Add schema validation to SLSA v0.2 and v1.0 attestation parsers to ensure incoming attestations conform to their respective schemas before being accepted. Co-authored-by: Claude Code <noreply@anthropic.com> Ref: https://issues.redhat.com/browse/EC-1581
0211271 to
e118e9d
Compare
simonbaird
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Lgtm.
User description
Add support for SLSA v1.0 provenance attestations while maintaining backward compatibility with v0.2
Co-authored-by: Claude Code noreply@anthropic.com
Ref: https://issues.redhat.com/browse/EC-1581
PR Type
Enhancement, Tests
Description
Add SLSA v1.0 provenance attestation parsing and validation support
SLSAProvenanceFromSignatureV1parser for v1 attestationsExtend acceptance test framework for SLSA v1 attestations
CreateAndPushV1Attestationtest helper functionUpdate policy evaluation to handle both SLSA versions
Add comprehensive AGENTS.md documentation for developers
Diagram Walkthrough
File Walkthrough
6 files
Add SLSA v1 statement creation and signing functionsRefactor attestation creation to support v0.2 and v1Implement SLSA v1 provenance attestation parserAdd SLSA v1 attestation validation in evaluation pipelineRegister SLSA v1 JSON schema for validationUpdate Rego policies to support SLSA v0.2 and v12 files
Add comprehensive unit tests for SLSA v1 parsingAdd acceptance test scenario for SLSA v1 attestations3 files
Add SLSA v1.0 JSON schema definitionAdd comprehensive developer and agent instructionsAdd reference to AGENTS.md documentation