-
Notifications
You must be signed in to change notification settings - Fork 532
Generate more extensive CVE reports (e.g. for managers) #332
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
It would also be awesome if whatever we do here could also be used by csv2cve! |
Sounds interesting, I'll look into it |
@terriko I want to know if you are talking about CSV and JSON as the machine-readable logs? If yes. If no. |
|
The Project will consist of 3 parts
I'll start working on this project. I'll first get to know how the control will flow and which data I want to use. |
@terriko @pdxjohnny I want to share some screenshots of the template with dummy data. Please review This is the main dashboard for the output. After that, we will have a list of all the products with known vulnerability and on clicking any Product we will get list of CVEs present We will have an option "more info" which will show other details of the CVE |
I want to correct one thing |
From my use case of the cve-bin-tool, which is using it to scan whole repositories from several different projects, the most beneficial improvement to the report would be for it to indicate what files the CVEs are found in. For example, I use the cve-bin-tool to scan /repo-root/ , which contains /repo-root/versionx/cross-packages/package.tar.xz , which contains /versionx/subdir1/subdir2/ccl , which contains zlib 1.2.8 Currently to generate a usable report from the cve-bin-tool I have written the following wrapper script
This generates a report with entries like
Instead of what is currently reported |
Thanks, that's really helpful feedback. We aren't currently storing the filename anywhere so it can't percolate easily to the html report, but we could definitely store it in the data. @SinghHrmn did you want to take a stab at figuring out how best to do that? Maybe a second file -> component table stored during the scans (since obviously we output it we know at least that much) and then combined with the final data to give a list of affected files somewhere? |
@terriko I'll look into the issue and figure out what's the best way. I guess we have this as our priority |
@darcyshx @terriko I have been working on this enhancement and it looks like I'm on the right track. Here is an example output for given file structure file structure
Console Log INFO cve_bin_tool.VersionScanner - ../tar_files.tar.gz contains /tar_files/nessus-libraries-2.2.11-16.fc29.aarch64.rpm version_scanner.py:176
contains /usr/lib64/libnessus.so.2.2.11 is nessus 2.2.11
[21:39:09] INFO cve_bin_tool.VersionScanner - ../tar_files.tar.gz contains /tar_files/python3-3.8.2_rc1-1.fc33.aarch64.rpm contains version_scanner.py:176
/usr/bin/python3.8 is python 3.8.2 Example ScreenshotIs that what we want? Needs Opinions. |
@SinghHrmn you can also unpack directory tree instead of just unpacking extractable files. ../tar_files.tar.gz contains /tar_files/nessus-libraries-2.2.11-16.fc29.aarch64.rpm contains /usr/lib64/libnessus.so.2.2.11 is nessus 2.2.11 can be look like following ../tar_files.tar.gz contains tar_files contains nessus-libraries-2.2.11-16.fc29.aarch64.rpm contains usr contains lib64 contains libnessus.so.2.2.11 is nessus 2.2.11 Since that don't look visually appealing we can denote contains by '../tar_files.tar.gz -> tar_files -> nessus-libraries-2.2.11-16.fc29.aarch64.rpm -> usr -> lib64 -> libnessus.so.2.2.11 is nessus 2.2.11' We may have different color for directory, archive and file so that we can distinguish that. |
@SinghHrmn 's gsoc project has covered this extensively! |
I put this originally in #267 but it occurs to me that it's worth filing as a separate issue so it can be discussed outside of GSoC's context:
As I said in #324 (Adding a GUI), all signs I've had from our known users point to them wanting as little GUI as possible -- things are running on the command line, probably in CI systems like Github Actions or Travis. So we get requests for machine readable output, or we get requests for no output at all, only a pass-fail so a known cve will "break the build" as it were and alert people that something's wrong.
But I don't think that necessarily means people don't want good human readable output, just that it's probably not going to be desired in a "single user at a computer running a report for themselves" context. It's more likely "the build system will do the checks on its own time" and "maybe when the build fails we'll want to generate a report that can be emailed to the guilty parties" or "maybe when we investigate we'll need some nice reports to take to management so they can assign people to fix issues with appropriate priorities." I'm... honestly not sure what people are going to want here, but juding from what I see in similar tools, here's some ideas:
I'm guessing they'll want this in a format that can easily be emailed around, so probably html is the easiest if we're going past the plain-text output we have now (+svg for graphs?). But I'm not tied to that idea.
The text was updated successfully, but these errors were encountered: