-
Notifications
You must be signed in to change notification settings - Fork 1
feat: add cosign signing for docker images in release pipeline #89
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
Co-authored-by: Mossaka <[email protected]>
Co-authored-by: Mossaka <[email protected]>
Co-authored-by: Mossaka <[email protected]>
Co-authored-by: Mossaka <[email protected]>
Co-authored-by: Mossaka <[email protected]>
Co-authored-by: Mossaka <[email protected]>
Test Coverage Report
Coverage ThresholdsThe project has the following coverage thresholds configured:
Coverage report generated by `npm run test:coverage` |
README.md
Outdated
| ### Docker Image Verification | ||
|
|
||
| All published Docker images are signed with [cosign](https://github.com/sigstore/cosign) using keyless signing. You can verify the signatures to ensure image authenticity and integrity: | ||
|
|
||
| ```bash | ||
| # Install cosign (recommended: use package manager) | ||
| # See https://docs.sigstore.dev/cosign/installation/ for all installation options | ||
|
|
||
| # Homebrew (macOS/Linux) | ||
| # brew install cosign |
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.
remove all of those from README. README should be concise and all of these instrucitons should go to docs. @copilot
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.
Moved to docs/image-verification.md with a concise reference in README. (751f365)
docs/RELEASE_TEMPLATE.md
Outdated
| ### Image Verification | ||
|
|
||
| All container images are signed with [cosign](https://github.com/sigstore/cosign) for authenticity and integrity verification: | ||
|
|
||
| ```bash | ||
| # Install cosign (recommended: use package manager) | ||
| # See https://docs.sigstore.dev/cosign/installation/ | ||
|
|
||
| # Homebrew: brew install cosign | ||
| # Debian/Ubuntu: sudo apt install cosign | ||
| # For other options, see the official documentation | ||
|
|
||
| # Direct download (⚠️ Verify checksums from GitHub release page for production use) | ||
| curl -sSfL https://github.com/sigstore/cosign/releases/latest/download/cosign-linux-amd64 -o cosign | ||
| chmod +x cosign && sudo mv cosign /usr/local/bin/ | ||
|
|
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.
Unbloat this @copilot
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.
Simplified to show just one example with a link to full docs. (751f365)
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.
Pull request overview
This PR enhances the security of published Docker images by adding cryptographic signing and SBOM (Software Bill of Materials) attestation using sigstore/cosign with keyless OIDC signing via GitHub Actions.
Key Changes:
- Added cosign signing and SBOM attestation to the release pipeline for both squid and agent Docker images
- Updated documentation with comprehensive verification instructions for users
- Implemented supply chain security best practices by pinning GitHub Actions to commit hashes
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
.github/workflows/release.yml |
Added cosign installation, image signing steps, SBOM generation via anchore/sbom-action, and SBOM attestation for both squid and agent images; added id-token: write permission for keyless signing |
README.md |
Added Docker Image Verification section with cosign installation instructions and command examples for verifying image signatures and SBOM attestations |
docs/RELEASE_TEMPLATE.md |
Added Image Verification section to release template with verification commands and installation guidance |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| uses: docker/setup-buildx-action@v3 | ||
|
|
||
| - name: Install cosign | ||
| uses: sigstore/cosign-installer@59acb6260d9c0ba8f4a2f9d9b48431a222b68e20 # v3.5.0 |
Copilot
AI
Dec 3, 2025
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.
The version comment indicates v3.5.0, but the PR description mentions v3.7.0 (visible in the firewall blocked URLs). Please verify that the commit hash 59acb6260d9c0ba8f4a2f9d9b48431a222b68e20 corresponds to the intended version and update the comment accordingly to avoid confusion.
| uses: sigstore/cosign-installer@59acb6260d9c0ba8f4a2f9d9b48431a222b68e20 # v3.5.0 | |
| uses: sigstore/cosign-installer@b2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2 # v3.7.0 |
Co-authored-by: Mossaka <[email protected]>
Adds cryptographic signing and SBOM attestation to published Docker images using sigstore/cosign with keyless OIDC signing.
Changes
Release Pipeline (
.github/workflows/release.yml):id-token: writepermission for GitHub OIDC token generation59acb6260d9c0ba8f4a2f9d9b48431a222b68e20)cosign sign --yesanchore/sbom-action(pinned tod94f46e13c6c62f59525ac9a1e147a99dc0b9bf5)cosign attest --type spdxjsonDocumentation:
docs/image-verification.mdwith comprehensive verification instructionsVerification Example
All signatures are recorded in Sigstore's Rekor transparency log. GitHub Actions are pinned to commit hashes for supply chain security.
Original prompt
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.