
Added new files for CVSSv3 scan report generation Added new files: new file: cve_policy_filter.py new file: template_v3.txt Change-Id: I93978825f973435eb34a0c8e6b3d18e1ac580595 Signed-off-by: Sanjay K Mukherjee <sanjay.k.mukherjee@intel.com>
128 lines
2.8 KiB
Plaintext
128 lines
2.8 KiB
Plaintext
<head></head>
|
|
<body>
|
|
<h1>Security report from vuls scan from {{title}}</h1>
|
|
<h2>CVEs to fix w/o a launchpad assigned: {{cves_to_fix | length}}</h2>
|
|
<table>
|
|
{% if cves_to_fix|length >= 1 %}
|
|
<tr>
|
|
{% for head in heads %}
|
|
<th>{{head}}</th>
|
|
{% endfor %}
|
|
</tr>
|
|
|
|
{% for cve in cves_to_fix %}
|
|
<tr>
|
|
<td>{{cve["id"]}}</td>
|
|
<td>{{cve["status"]}}</td>
|
|
<td>{{cve["cvss3Score"]}}</td>
|
|
<td>{{cve["av"]}}</td>
|
|
<td>{{cve["ac"]}}</td>
|
|
<td>{{cve["ui"]}}</td>
|
|
<td>{{cve["ai"]}}</td>
|
|
</tr>
|
|
{% endfor %}
|
|
{% endif %}
|
|
</table>
|
|
<h2>CVEs to fix w/ a launchpad assigend: {{cves_to_fix_lp | length}}</h2>
|
|
<table>
|
|
{% if cves_to_fix_lp|length >= 1 %}
|
|
<tr>
|
|
{% for head in heads %}
|
|
<th>{{head}}</th>
|
|
{% endfor %}
|
|
</tr>
|
|
|
|
{% for cve in cves_to_fix_lp %}
|
|
<tr>
|
|
<td>{{cve["id"]}}</td>
|
|
<td>{{cve["status"]}}</td>
|
|
<td>{{cve["cvss3Score"]}}</td>
|
|
<td>{{cve["av"]}}</td>
|
|
<td>{{cve["ac"]}}</td>
|
|
<td>{{cve["ui"]}}</td>
|
|
<td>{{cve["ai"]}}</td>
|
|
</tr>
|
|
{% endfor %}
|
|
{% endif %}
|
|
</table>
|
|
<h2> CVEs to track for incoming fix: {{cves_to_track | length}}</h2>
|
|
<table>
|
|
{% if cves_to_track|length >= 1 %}
|
|
<tr>
|
|
{% for head in heads %}
|
|
<th>{{head}}</th>
|
|
{% endfor %}
|
|
</tr>
|
|
|
|
{% for cve in cves_to_track %}
|
|
<tr>
|
|
<td>{{cve["id"]}}</td>
|
|
<td>{{cve["status"]}}</td>
|
|
<td>{{cve["cvss3Score"]}}</td>
|
|
<td>{{cve["av"]}}</td>
|
|
<td>{{cve["ac"]}}</td>
|
|
<td>{{cve["ui"]}}</td>
|
|
<td>{{cve["ai"]}}</td>
|
|
</tr>
|
|
{% endfor %}
|
|
{% endif %}
|
|
</table>
|
|
<h2> CVEs that are Invalid or Won't Fix: {{cves_wont_fix | length}}</h2>
|
|
<table>
|
|
{% if cves_wont_fix|length >= 1 %}
|
|
<tr>
|
|
{% for head in heads %}
|
|
<th>{{head}}</th>
|
|
{% endfor %}
|
|
</tr>
|
|
|
|
{% for cve in cves_wont_fix %}
|
|
<tr>
|
|
<td>{{cve["id"]}}</td>
|
|
<td>{{cve["status"]}}</td>
|
|
<td>{{cve["cvss3Score"]}}</td>
|
|
<td>{{cve["av"]}}</td>
|
|
<td>{{cve["ac"]}}</td>
|
|
<td>{{cve["ui"]}}</td>
|
|
<td>{{cve["ai"]}}</td>
|
|
</tr>
|
|
{% endfor %}
|
|
{% endif %}
|
|
</table>
|
|
|
|
<h2> CVEs to omit: {{cves_to_omit | length}}</h2>
|
|
<table>
|
|
{% if cves_to_omit|length >= 1 %}
|
|
<tr>
|
|
{% for head in heads %}
|
|
<th>{{head}}</th>
|
|
{% endfor %}
|
|
</tr>
|
|
|
|
{% for cve in cves_to_omit %}
|
|
<tr>
|
|
<td>{{cve["id"]}}</td>
|
|
<td>{{cve["status"]}}</td>
|
|
<td>{{cve["cvss3Score"]}}</td>
|
|
<td>{{cve["av"]}}</td>
|
|
<td>{{cve["ac"]}}</td>
|
|
<td>{{cve["ui"]}}</td>
|
|
<td>{{cve["ai"]}}</td>
|
|
</tr>
|
|
{% endfor %}
|
|
{% endif %}
|
|
</table>
|
|
|
|
<h2>ERROR: CVEs that have no cvss3Score or cvss2Vector:{{cves_w_errors | length}}</h2>
|
|
<table>
|
|
{% if cves_w_errors|length >= 1 %}
|
|
{% for cve in cves_w_errors %}
|
|
<tr>
|
|
<td>{{cve["id"]}}</td>
|
|
<td>{{cve["status"]}}</td>
|
|
</tr>
|
|
{% endfor %}
|
|
{% endif %}
|
|
</table>
|
|
</body>
|