Hi,

I'm new on this mailing list and this might not be the appropriate place to 
discuss ideas to extend the pom format, so please redirect me to the right 
place ;-)

We've recently had a lot of struggles with both false positives and false 
negatives with a vulnerability scanner, as there is no reliable way to derive a 
CPE string from Maven dependencies. This is mostly caused by the fact that 
groupIds and artifactIds can not be literally translated into CPE organization 
and product strings. In many cases, the product name is also the groupId (e.g. 
Jetty) with lots of artifacts being published under this groupId. Now a 
vulnerability in jetty:jetty might not affect jetty:jetty-util, however 
probabilistic CPE matching algorithms will still report a false positive.

Now one could argue that this is a problem of the vulnerability checker (I 
agree), however the only means they have is changing the confidence threshold 
(which would cause false negatives, defying the purpose) or maintaining an 
ever-growing list of false positives. Both are mere workarounds.

What could really solve this: Replacing those fuzzy matching algorithms, if 
there was a reliable way to determine the CPE string from a library. Ideally 
the library would carry this in its metadata itself. We could add custom 
properties to the pom.xml or the MANIFEST.MF, but I believe that adoption would 
benefit if there was an official standard.

Given that both published Maven artifacts as well as reported CVEs will only 
grow over time and the importance of correctly identifying vulnerabilities is 
no longer denied by anyone (at least not since log4shell), I hope CPE strings 
will find their place in official package metadata (not only in Maven). Can 
this be considered in the next pom xsd?

Cheers!
Sebastian
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
For additional commands, e-mail: dev-h...@maven.apache.org

Reply via email to