Skip to content

[govulncheck] Generate VEX documents from govulncheck output #116

Open
@PushkarJ

Description

@PushkarJ

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

/sig security architecture docs release
/area dependency
/kind feature

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/dependencyIssues or PRs related to dependency changeskind/featureCategorizes issue or PR as related to a new feature.sig/architectureCategorizes an issue or PR as relevant to SIG Architecture.sig/docsCategorizes an issue or PR as relevant to SIG Docs.sig/releaseCategorizes an issue or PR as relevant to SIG Release.sig/securityCategorizes an issue or PR as relevant to SIG Security.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions