Description
WHAT
As part of #95 we have now setup govulncheck
to run on each PR and periodically on master + stable release branches as part of verify
jobs.
govulncheck
has now added support for openvex: https://pkg.go.dev/golang.org/x/vuln@v1.1.2/internal/openvex
We should explore if it make sense to add VEX documents as part of each of our releases going forward.
WHY
This will partially solve the issue of k8s maintainers being requested to provide input on whether a specific CVE is affecting k/k or not by preemptively generating VEX documents for the CVEs where Kubernetes is unaffected. This will also allow us to codify the policy mentioned here: https://github.com/kubernetes/community/blob/6c75205e1b67a84d5784502dd27d1a0e04192021/contributors/devel/sig-release/cherry-picks.md?plain=1#L65
To illustrate the point, dependency updates that just aim to silence some scanners and do not fix any vulnerable code are NOT eligible for cherry-picks.
Some examples:
kubernetes/kubernetes#121370
kubernetes/kubernetes#122424
kubernetes/kubernetes#119227
kubernetes/kubernetes#122952
and many more before govulncheck
was introduced
HOW
We need a trusted way to generate the VEX document, where following properties are desired:
- The VEX document is auto-generated
- The VEX document can be modified if needed by a small trusted list of k8s org members
- The VEX document can not be tampered
- The VEX document generation or modification supports non-repudiation
- The VEX document can be version controlled with git
Open to ideas on the how and we can all explore possible options together.
WHO
This would need collaboration between SIG Security, Docs, Architecture and Release.
WHERE
We may potentially host it besides https://kubernetes.io/docs/reference/issues-security/official-cve-feed/ but of course other ideas or placements are welcome!
NOTES
Part of #3, related kubernetes/kubernetes#121454
Work being Done
- Bump govulncheck to 1.1.2 kubernetes#125864
- [1.30]Bump govulncheck to 1.1.2 kubernetes#125863
- [1.29]Bump govulncheck to 1.1.2 kubernetes#125865
/sig security architecture docs release
/area dependency
/kind feature