{% extends 'base_template.html' %} {% import "_macros.html" as macros %} {% block content %}
{{ macros.report_introduction(report_details) }} {{ macros.network_summary(network_summary) }} {% if site_filter %} {{ macros.per_site_summary(site_summary, site_filter) }} {% endif %}
1

Device Overview {% if site_filter %} for site {{ site_filter }} {% endif %}

Summary of devices and their vulnerability status
{% for device in cve_summary %} {% endfor %}
Hostname Vendor Family Version CVE Count
{{ device.hostname }} {{ device.vendor }} {{ device.family }} {{ device.version }} {{ device.cve_count }}
{% if total_cves == 0 %}
Information: No vulnerabilities were found for any of the devices in the network{% if site_filter %} at site {{ site_filter }}{% endif %}. This could mean either:
{% endif %}
2

Summary Vulnerability Analysis {% if site_filter %} for site {{ site_filter }} {% endif %}

{{ macros.stats_grid([ {'label': 'Total CVEs', 'value': total_cves}, {'label': 'Critical/High CVEs', 'value': critical_high_cves}, {'label': 'Avg CVSS Score', 'value': avg_cvss_score|round(2)} ]) }}

Vulnerability Severity Distribution

{% for severity in severity_stats %} {% endfor %}
Severity Count Percentage
{{ severity.level }} {{ severity.count }} {{ severity.percentage }}%
3

Detailed Vulnerability Analysis {% if site_filter %} for site {{ site_filter }} {% endif %}

{% for os in cve_details %}

{{ os.vendor|upper }} {{ os.family|upper }} ( {{ os.version }} ) Details

Affected Hostnames:

[{% for hostname in os.hostname_list %}{{ ', ' if not loop.first }}{{ hostname }}{% endfor %}]

CVE List:

[{% for cve in os.cves %}{{ ', ' if not loop.first }}{{ cve.cve_id }}{% endfor %}]

CVE Details:

{% for cve in os.cves %}
CVE ID: {{ cve.cve_id }}
Severity: {%- if cve.v3_baseSeverity -%}  metric_v3 {{ cve.v3_baseSeverity }} {%- elif cve.v2_baseSeverity -%}  metric_v2 {{ cve.v2_baseSeverity }} {%- else -%}  N/A {%- endif -%}
Impact Score: {%- if cve.v3_impactScore is not none and cve.v3_impactScore|string != 'nan' -%}  metric_v3 {{ cve.v3_impactScore|float|round(2) }} {%- elif cve.v2_impactScore is not none and cve.v2_impactScore|string != 'nan' -%}  metric_v2 {{ cve.v2_impactScore|float|round(2) }} {%- else -%}  N/A {%- endif -%}
URL: {% if cve.url %}{{ cve.url }}{% else %}N/A{% endif %}
Description
{{ cve.description }}
{% endfor %}
{% endfor %}
{% endblock %}