aboutcode-org / vulnerablecode

A free and open vulnerabilities database and the packages they impact. And the tools to aggregate and correlate these vulnerabilities. Sponsored by NLnet https://nlnet.nl/project/vulnerabilitydatabase/ for https://www.aboutcode.org/ Chat at https://gitter.im/aboutcode-org/vulnerablecode Docs at https://vulnerablecode.readthedocs.org/
https://public.vulnerablecode.io
Apache License 2.0
523 stars 190 forks source link

Handle Gitlab false positive #1447

Open pombredanne opened 6 months ago

pombredanne commented 6 months ago

This https://gitlab.com/gitlab-org/advisories-community/-/blob/main/maven/org.owasp.antisamy/antisamy/CVE-2023-49093.yml started as an advisory and then became a "False positive" Gitlab updates the description and title in these cases, and there are 150+ such advisories.

The outcome is invalid data. We should support these and update accordingly

See https://public.vulnerablecode.io/packages/pkg:maven/org.owasp.antisamy/antisamy@1.7.4?search=antisamy

There https://public.vulnerablecode.io/vulnerabilities/VCID-zx5k-4m3n-aaaj does NOT apply to antisamy

Screenshot 2024-03-26 at 12-38-37 VulnerableCode Package Details - pkg maven_org owasp antisamy_antisamy@1 7 4

See attached for a list of patterns found in GitLab advisories fp.txt

@julianthome gentle ping... do you know if there is a list of patterns we can track? Thanks!

In the same domain, we should also find is there are other related unstructured patterns in GitLab and also:

pombredanne commented 6 months ago

Some input from today's weekly call:

Hritik14 commented 5 months ago

Adding to above,

In the git based design, the original data sources persist in our storage. The import operations do not overwrite the existing data from the same data source, instead it maintains a diff-based (call it git?) record of all the changes an advisory goes through. This shows a timeline of the advisory as it grows.

The benefits are:

  1. Get to know how many times an advisory has changed and possibly flag such data sources. A change could potentially be a good thing about the data source if it slowly gets reflected over other sources for the same vulnerability over time. It could be a bad thing if only a single data source goes through the change or it goes through the change after every other possible data source has gone through it.
  2. Once the cat (advisory) is out of the box, it persists for eternity on the internet. We should have a record of such advisory even if it means only to mark it as "changed" or "updated". This will help with indexing from a search engine point of view.
  3. Hypothetically, an older revision of the advisory may be more accurate and there might be a need to revert back to this older version. This revert opinion can be driven by the decentralized project (FederatedCode). It gives a say to the users of FederatedCode about a change in an advisory.

The implementation of such a model needs to be discussed in detail after the idea sounds convincing enough.