You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As a security project, an assessment about the SLSA Level of the project should be made and documented at SLSA.md.
Several best practices for supply chain provenance are already employed:
All the GitHub security features are already enabled for the repository
Users that are not members of the repository cannot trigger GitHub workflows
No static/long-lived credentials exist for the purpose of implementing this project (all the access and ID tokens used in the GitHub workflows are 1h-lived)
The pull request approval process is very strict, requiring all commits to be signed and three strong status checks to pass, covering: build, linting, tests, advanced static code analysis from GitHub, repository formatting and CI infrastructure planning
The dependencies of the project are restricted to a small set of strongly trusted sources: Go's base images, trusted GitHub Actions, Kubernetes and Google official libraries, the netlink library for adding the Google IP address to the loopback interface, and a few other very popular Go libraries with large communities
The go mod download build layer is pushed to ghcr.io on every build (useful for disaster recovery)
The GitHub workflows are built in a way that CI builds of the emulator are fully isolated
Dependencies are monitored and proactively updated by GitHub security tools like Dependabot
The main branch is protected with several rules including no deletion, no force push, administrators (except the owner) cannot bypass branch protection rules, etc.
All artifacts are cryptographically signed using Sigstore's cosign
Pull request authors cannot approve their own pull requests
The release GitHub workflow carries the images through their digests all the way from building to testing, pushing, signing, verifying and creating a GitHub release
GitHub Actions inputs are never interpolated inside shell scripts or commands (but rather passed as environment variables)
A few obvious items for achieving Level 3:
Pull request approval by at least two more people besides the author is still not enforced (but authors, including the owner, already cannot approve their own pull requests)
A general review of the core decisions and codebase by more people
Evaluate how much "hermetic" a build needs to be. Do we need to vendor dependencies?
Then a badge with the Level can be added to README.md.
The text was updated successfully, but these errors were encountered:
As a security project, an assessment about the SLSA Level of the project should be made and documented at
SLSA.md
.Several best practices for supply chain provenance are already employed:
go mod download
build layer is pushed toghcr.io
on every build (useful for disaster recovery)main
branch is protected with several rules including no deletion, no force push, administrators (except the owner) cannot bypass branch protection rules, etc.cosign
release
GitHub workflow carries the images through their digests all the way from building to testing, pushing, signing, verifying and creating a GitHub releaseA few obvious items for achieving Level 3:
Then a badge with the Level can be added to
README.md
.The text was updated successfully, but these errors were encountered: