Skip to content
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

ci(.github)[SEC-1084]: SLSA supply chain security controls #170

Merged
merged 2 commits into from
Apr 26, 2024

Conversation

saisatishkarra
Copy link
Contributor

@saisatishkarra saisatishkarra commented Apr 25, 2024

Summary

New

  • Refactor build pipeline to integrate below controls.
  • Perform image signing for master and tags only
  • Perform image provenance for release tags only
  • Perform scanning of container images for all workflow events within Kong org
  • Perform repository scanning for SCA for all events
  • All SBOMs produced from images and repository scanning will be updated as:
    • Github release / tag assets for release / tag event
    • GIthub workflow assets for push / pr

Clarifications Needed

  1. Is there a public facing documentation for consuming and verifying artifacts (images and sigs)? Otherwise, i can update the README.md with information on how to access and verify security assets.
  2. PR can be tuned to publish ONLY the image signatures (sha256:xxx.sig) && image provenance to DockerHub instead of GHCR to manage centrally. As of today, BOTH images and signatures are stored today in GHCR for kong/insomnia-mockbin
    • This is completely optional and is up-to the application team.
    • However this will require users to additional step export COSIGN_REPOSITORY=<notary-repo> during image signature verification against DockerHub that can be added to readme.
    • docker.io/kong/notary : public (for release tags)
    • docker.io/kong/notary-internal : private (for master / nightly builds) and any future internal / PR builds
  3. Image Provenance CANNOT be generated / produced / verified until a draft release / tag event is created. Quick glance reveals no tags / releases were made since 2 years. I would need assistance from someone to merge this PR into master and / or create a dummy tag / release branch to verify the slsa work.

Dependencies

  • Cosign and Sigstore are leveraged to perform keyless signing and image provenance using github id-token.

Solution Docs

https://konghq.atlassian.net/wiki/spaces/KS/pages/3563356245/Design+-+SBOM+-+SYFT
https://konghq.atlassian.net/wiki/spaces/KS/pages/3576725784/Design+-+Provenance
https://konghq.atlassian.net/wiki/spaces/KS/pages/3576987745/Design+-+Container+Image+Signing
https://konghq.atlassian.net/wiki/spaces/KS/pages/3563782196/Design+-+SAST+SCA

JIRA / Tickets

ci(.github)SEC-1109: container image signing
ci(.github)SEC-1110: container image provenance
ci(.github)SEC-1111: generate container image sbom
ci(.github)SEC-1115: perform sca analysis for code repository
ci(.github)SEC-1116: perform container vulnerability scanning

@saisatishkarra saisatishkarra force-pushed the feat/slsa branch 19 times, most recently from 50f22bf to 5c839cd Compare April 25, 2024 14:57
@saisatishkarra saisatishkarra marked this pull request as ready for review April 25, 2024 15:12
@saisatishkarra saisatishkarra force-pushed the feat/slsa branch 5 times, most recently from c83353b to 659de25 Compare April 25, 2024 17:32
ci(.github)[SEC-1109]: container image signing

ci(.github)[SEC-1110]: container image provenance

ci(.github)[SEC-1111]: generate container image sbom

ci(.github)[SEC-1115]: perform sca analysis for code repository

ci(.github)[SEC-1116]: perform container vulnerability scanning

doc(readme): Add SLSA assets access and verification steps
@saisatishkarra saisatishkarra requested review from vsofronievk and removed request for vsofronievk April 25, 2024 17:40
@filfreire filfreire merged commit f061d8e into master Apr 26, 2024
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants