Skip to content

Low number of findings compared to commercial tool #572

Open
@oheger-bosch

Description

@oheger-bosch

Hi all,

for OSS compliance and vulnerability reports we use the OSS review toolkit (ORT). The ORT advisor component currently supports querying vulnerability information from VulnerableCode and Sonatype Nexus IQ, which we both use. We host an instance of VulnerableCode and run the importers on a regular schedule.

With this setup in place for about half a year, I did an evaluation of the findings returned by VulnerableCode and Nexus IQ based on the results produced by ORT. The outcome is that the number of findings reported by VulnerableCode is significantly lower than for Nexus IQ, particularly for certain types of packages (NPM, Python, Maven). Find below an excerpt from the results. (The "Packages" column contains the number of packages for which at least one security vulnerability has been reported by one of the systems.)

Type     Packages  Findings IQ  Findings VC
Crate      23           19           17
Gem        22           67           25
Maven     929         2072         1044
NPM       644         1213           48
NuGet      40           42           29
PyPi       68          209           21
All      1729         3639         1184

The projects that have been scanned by ORT to produce these numbers are currently ongoing software development projects. I assume they use a typical set of library dependencies with up-to-date versions.

Now I am trying to investigate the reasons for these differences. What I have tried so far is the following:

  • I checked that the importers are actually running successfully and populate the database. At least, I did not see any suspicious logs during the execution. Here are some figures regarding the number of packages in our database generated by the command
SELECT vp."type" pt, COUNT(*)
FROM vulnerabilities_package vp
GROUP BY pt
Maven   21225
NPM     12077
PyPi    13768

Does this look plausible or do we miss relevant data from sources?

  • ORT queries VulnerableCode via the Bulk API passing in a list of PURLs for the packages in question. To rule out bugs in the interaction between these tools, I queried the VulnerableCode API manually, but came to similar results.
  • I tried to match the packages found by ORT directly in the VulnerableCode database, circumventing the API; but again, I did not find more matches.

So, the question is, do you have any ideas/suggestions what could be the cause for this low number of findings? Is our database corrupt or is VulnerableCode missing important sources of vulnerability information? Any help would be appreciated.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions