Comment by zelphirkalt

Comment by zelphirkalt 9 days ago

2 replies

If the code cannot be reached, what is the point of having it as a dependency?

Does it know which part of a dependency has a vulnerability and check, if the execution reaches _that_ part? Then it would make sense.

FiloSottile 8 days ago

> Does it know which part of a dependency has a vulnerability and check, if the execution reaches _that_ part?

Yes, govulncheck does symbol-level reachability static analysis, and the vulndb is manually annotated with affected symbols for each vulnerability.

(So glad to see a comment about this at the top, I have sometimes feared we made a mistake in designing a low-noise vulnerability scanner, because I've often seen complaints that "it doesn't work" because it doesn't show as many vulnerabilities as its more popular, less accurate alternatives.)

chucky_z 9 days ago

My understanding is that the primary goal is to determine that if a program is pulling in a dependency, and only using a small part of it, to determine if that part is vulnerable or not. This allows a program owner to know if they need to do an emergency version bump in the face of a CVE or something like that. For some businesses doing emergency deployments is a massive deal.