Skip to content

Add cryptographic provenance signing to all future releases #339

Description

@alibkaba

User Story:

As an OSCAL content consumer, I need release artifacts to include cryptographic provenance verification for all releases moving forward, so that downstream tooling can establish proof of origin before ingesting framework data.

Goals:

The SHA-256 checksums on the v1.5.0 release page verify download integrity but do not provide cryptographic proof of origin. Adding signed releases would allow downstream consumers to verify that artifacts were built and published by the OSCAL team's CI pipeline and have not been modified after publication.

Dr. Iorga suggested opening this issue to gather community preferences on the signing mechanism. Three options to consider:

Option 1: GitHub Attestations (recommended)
Uses actions/attest-build-provenance to produce SLSA v1.0 provenance attestations tied to the GitHub Actions workflow identity. There are no key generation, storage, or rotation required and consumers verify with gh attestation verify. This aligns with NIST supply chain integrity guidance (SSDF, SP 800-218).

Option 2: Sigstore cosign (keyless)
Uses OIDC-based ephemeral certificates via Fulcio with signatures logged in Rekor. There are no key management burden and consumers verify with cosign verify-blob. And this is widely adopted in the container and artifact signing ecosystem.

Option 3: GPG detached signatures
Publishes .sig files alongside release artifacts. Consumers verify with gpg --verify, it is well-understood but requires key generation, secure storage, rotation, and public key distribution.

Dependencies:

No prior issues required. The release workflow would need a new step to generate and upload the signature or attestation alongside existing artifacts.

Acceptance Criteria

  • All readme documentation affected by the changes in this issue have been updated.
  • A Pull Request (PR) is submitted that fully addresses the goals of this User Story. This issue is referenced in the PR.
  • The CI-CD build process runs without any reported errors on the PR. This can be confirmed by reviewing that all checks have passed in the PR.
  • The release workflow produces cryptographic signatures or attestations for all future releases automatically.
  • Verification instructions are documented in the repository README or release notes.

Metadata

Metadata

Assignees

No one assigned

    Labels

    User StoryThe issue is a user story for a development task.enhancementThe issue adds a new feature, capability, or artifact to the repository.

    Type

    No type
    No fields configured for issues without a type.

    Projects

    Status
    Needs Triage

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions