Skip to content

[PULP-2199] Add SLSA attestation verification support - #1327

Draft
jobselko wants to merge 3 commits into
pulp:mainfrom
jobselko:att_patch
Draft

jobselko wants to merge 3 commits into
pulp:mainfrom
jobselko:att_patch

Conversation

@jobselko

Copy link
Copy Markdown
Member

📜 Checklist

  • Commits are cleanly separated with meaningful messages (simple features and bug fixes should be squashed to one commit)
  • A changelog entry or entries has been added for any significant changes
  • Follows the Pulp policy on AI Usage
  • (For new features) - User documentation and test coverage has been added

See: Pull Request Walkthrough

@jobselko jobselko self-assigned this Aug 13, 2026
@github-actions github-actions Bot added no-changelog no-issue multi-commit Add to bypass single commit lint check labels Aug 13, 2026
@jobselko
jobselko force-pushed the att_patch branch 3 times, most recently from 3eb2c02 to 0f36075 Compare August 18, 2026 14:47
@jobselko jobselko changed the title [PULP-2199] Support custom attestation verification [PULP-2199] Add SLSA attestation verification support Aug 20, 2026
@jobselko
jobselko marked this pull request as ready for review August 20, 2026 14:29
@jobselko

Copy link
Copy Markdown
Member Author

The first commit contains the applied patch and tests, the second covers the changes needed to upstream it. I will squash them at the end.

@gerrod3 gerrod3 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm having second thoughts about moving this patch over. I think we should spend some more time thinking about the feature and what would be useful to more people.

Comment thread .ci/assets/keys/test-key-private.pem
standard Sigstore path. Attestations without certificates are verified
against a custom public key configured via ATTESTATION_VERIFICATION_KEY.
Currently, it supports RSA PKCS1v15 signatures and SLSA v0.2 provenance
publisher enrichment.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The publisher enrichment is technically a side-effect of the method. Not sure it's the best thing to copy.

stmt = _verify_statement_subject(attestation, dist)
_enrich_publisher_from_statement(stmt, publisher)
if verification_key:
_verify_signature(attestation, verification_key)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Only one key to verify against across all repositories and all domains. I wonder if we could do something better. What services has is custom built for their use-case, so I don't really want to just move it over as is.

@jobselko
jobselko marked this pull request as draft August 26, 2026 11:48
@coderabbitai

coderabbitai Bot commented Oct 1, 2026

Copy link
Copy Markdown

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true
  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Autopilot is currently an internal CodeRabbit preview.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

multi-commit Add to bypass single commit lint check no-changelog no-issue

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants