feat: Utilize NVD API#5978
Conversation
|
In order for these tests to pass we will likely need to store an NVD API key and use this during tests. |
|
This PR is getting closer to being finalized. Left to complete:
|
Co-authored-by: Hans Aikema <[email protected]>
aikebah
left a comment
There was a problem hiding this comment.
LGTM, assuming that no tests were broken by the latest review patches
|
I'd like to test the new method of scanning offline. I compiled the development version of Dependency Check 9 according to these steps: This generated the DB and created the following folder structure: My plan is to zip the required files inside the Would that work? Or would I have to use
If I really have to use vulnz, then how would I post-process the generated DB and where should I put it in order for Dependency Check to use it? Edit: |
|
Yes, you can continue to create and distribute the archive. In general, this is one of the better solutions to the offline problem. |
|
Dear Jeremy, I observed a few things that may be caused by my stupidity (maybe I'm trying to put things together in a way that they are not supposed to?) but I have looked in the documentation and code and couldn't find a solution.
Thanks again and best wishes, |
|
@humblekofe there were bugs in the nvd data feed implementation; commit jeremylong/DependencyCheck@3df710e should have resolved them all. |
You are amazing, thank you for your quick response and fix! |
|
@humblekofe what was the exact command line you used? I'm trying to understand the comment you made about the double slashes because in my testing everything is correct as is. |
|
I'm using the maven plugin and have the following configuration: My understanding is that in NvdApiDataSource.java
I hope that helps. |
|
@jeremylong : I figured out why I'm having this problem and you may not experience this: |
|
@humblekofe what I missed is that line 122 was: pattern = nvdDataFeedUrl.substring(lio);But should be: pattern = nvdDataFeedUrl.substring(lio + 1);I'll submit a PR shortly to fix this before publishing. |
|
You can also specify the data feed url like this: <nvdDatafeedUrl>http://internal-server:8081/nvd-api-mirror/</nvdDatafeedUrl> |
|
@jeremylong thanks a lot for the fix and also for the hint regarding the alternative configuration of nvdDatafeedUrl that will wirk with 9.0.0 as well. |
Fixes Issue #4732
Description of Change
Utilize the NVD API to retrieve the CVE data. This can also utilize the NVD API data feed that can be created using the vulnz-cli.