-
Notifications
You must be signed in to change notification settings - Fork 17.8k
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
x/vuln: add support for silencing vulnerability findings with govulncheck #61211
Comments
govulncheck does not support ignoring a particular vulnerability. Since we're on ibc-go v6.2.x which has a vulnerability, CI will report a red X on all future PRs because govulncheck fails. This PR removes govulncheck. We can re-enable it when govulncheck adds support for ignoring a particular vulnerability. See: 1. golang/go#59507 1. golang/go#61211
@julieqiu is there someone working on this feature? Otherwise, I can try working on something to support this exclude flag :) Not sure I am the best person to, but happy to help! |
Although we don't currently have a plan of adding support for it, we thought if we add it then we'll use OpenVex format. This is also a recently added format for the output of govulncheck. Would OpenVex format work for what you are trying to suppress? |
not sure, tbh I don't know almost anything on OpenVex. My use case is simpler, this false positive started to appear and I need to ignore it on my pipelines while this is not fixed on DBs :) So is more like a "skip CVE" (a la go test -skip) |
OpenVEX is workable here, but kind of annoying for the same reasons the current output format struggles with: defining an appropriate purl is hard (I suppose worst case we could use a bogus placeholder, like govulncheck itself is doing) If we were to provide an input VEX, what would the VEX output look like? Would it just copy entries from the input verbatim for the output where relevant? |
Then OpenVex is fine here.
We are in the process of figuring out the product fields for OpenVex. That would need to be done first.
From the top of my head, we would take the <OSV, product> pairs that are classified as |
@zpavlinovic Suggestion on product fields:
|
Btw, for anyone trying this out for their golang projects, shared a few experiments with |
This seems to be in stark contrast to what has been recently proposed. IMO, what is proposed there makes more sense.
I think it is best for users to post-process the govulncheck output themselves. Customizing the output can turn into a rabbit hole with flags and different user needs. |
Hey all I am one of the OpenVEX maintainers. Thanks for getting this discussion going! I added some comments about the product/subcomponent values over in #68152 (comment) The TLDR: As @PushkarJ suggests the product, when govulncheck is looking at the source, the product should be the package URL (purl) of the main module. And the dependency with the vulnerability would go in the subcomponent. When it comes to analyzing a binary, just use a See the examples on the comment in #68152 |
This is a tracking issue to add support for silencing vulnerability findings with govulncheck.
#59507 is related.
The text was updated successfully, but these errors were encountered: