{% extends "base.html" %} {% block title %}Analysis Report - Red Hat CVE Checker{% endblock %} {% block extra_css %} {% endblock %} {% block content %}

Analysis Report

New Analysis
Validation Score
{% set score = report.summary.validation_score %} {% if score >= 90 %} {% set score_class = "score-excellent" %} {% elif score >= 75 %} {% set score_class = "score-good" %} {% elif score >= 60 %} {% set score_class = "score-fair" %} {% else %} {% set score_class = "score-poor" %} {% endif %}
{{ "%.1f"|format(score) }}
{{ interpretation.rating }}

{{ interpretation.description }}

Summary Statistics
{{ report.summary.total_findings }}
Total
{{ report.summary.true_positives }}
True Positives
{{ report.summary.false_positives }}
False Positives
{{ report.summary.likely_false_positives }}
Likely FP
{{ report.summary.inconclusive }}
Inconclusive
{{ report.summary.not_applicable }}
N/A
{% if report.summary.scanned_targets %} {% set ocp_components = report.summary.scanned_targets|selectattr('target_type', 'equalto', 'ocp_component')|list %} {% set other_targets = report.summary.scanned_targets|rejectattr('target_type', 'equalto', 'ocp_component')|list %} {% if ocp_components %}
OpenShift Components {{ ocp_components|length }} components {{ ocp_components|sum(attribute='finding_count') }} total findings

These are individual OpenShift components extracted from ocp-v4.0-art-dev images, grouped by namespace for easier remediation targeting.

{% for target in ocp_components[:20] %} {% endfor %}
Component (Namespace) Cluster Findings
{{ target.name }} {{ target.cluster|default('-') }} {{ target.finding_count }}
{% if ocp_components|length > 20 %}
{% for target in ocp_components[20:] %} {% endfor %}
{{ target.name }} {{ target.cluster|default('-') }} {{ target.finding_count }}
{% endif %}
{% endif %} {% if other_targets %}
Scanned Target{% if other_targets|length > 1 %}s{% endif %}
{% if other_targets|length == 1 %} {% set target = other_targets[0] %}
{{ target.target_type|default('image') }} {% if target.registry %}{{ target.registry }}/{% endif %}{{ target.repository|default(target.name) }}{% if target.tag %}:{{ target.tag }}{% endif %} ({{ target.finding_count }} findings)
{% if target.detected_product %}
Product {{ target.detected_product }} {% if target.detection_method and target.detection_method.startswith('ai:') %} AI detected {% endif %}
Your Version {{ target.detected_version }}
Status {% if target.lifecycle_status == 'full_support' %} Full Support {% elif target.lifecycle_status == 'maintenance' %} Maintenance {% elif target.lifecycle_status == 'extended' %} Extended Support {% elif target.lifecycle_status == 'end_of_life' %} End of Life {% else %} Unknown {% endif %}
{% if target.latest_version and target.versions_behind is not none %}
Latest Version {{ target.latest_version }} {% if target.versions_behind > 0 %} {{ target.versions_behind }} {% if target.versions_behind == 1 %}release{% else %}releases{% endif %} behind {% else %} current {% endif %} {% if target.release_notes_url %} Release Notes {% endif %}
{% endif %} {% if target.support_ends %}
Support Ends {{ target.support_ends }}
{% endif %}
{% if target.lifecycle_recommendation %}
{% if 'CRITICAL' in target.lifecycle_recommendation %}
{{ target.lifecycle_recommendation }}
{% elif 'WARNING' in target.lifecycle_recommendation %}
{{ target.lifecycle_recommendation }}
{% else %}
{{ target.lifecycle_recommendation }}
{% endif %}
{% endif %}
{% endif %} {% else %} {% set has_lifecycle = other_targets|selectattr('detected_product')|list|length > 0 %}
{% if has_lifecycle %} {% endif %} {% for target in other_targets[:5] %} {% if has_lifecycle %} {% endif %} {% endfor %}
Target RegistryProduct StatusFindings
{{ target.repository|default(target.name) }}{% if target.tag %}:{{ target.tag }}{% endif %} {{ target.registry|default('-') }} {% if target.detected_product %} {{ target.detected_product }} {{ target.detected_version }} {% else %}-{% endif %} {% if target.lifecycle_status == 'full_support' %} Full Support {% elif target.lifecycle_status == 'maintenance' %} Maintenance {% elif target.lifecycle_status == 'extended' %} Extended {% elif target.lifecycle_status == 'end_of_life' %} EOL {% else %} - {% endif %} {{ target.finding_count }}
{% if other_targets|length > 5 %} ... and {{ other_targets|length - 5 }} more targets {% endif %}
{% endif %}
{% endif %} {% endif %} {% set seen_warnings = [] %} {% set unique_warnings = [] %} {% for warning in report.summary.lifecycle_warnings %} {% if warning not in seen_warnings %} {% set _ = seen_warnings.append(warning) %} {% set _ = unique_warnings.append(warning) %} {% endif %} {% endfor %} {% if unique_warnings %}
Lifecycle Warnings
{% for warning in unique_warnings %} {% if 'CRITICAL' in warning %}
{{ warning }}
{% elif 'WARNING' in warning %}
{{ warning }}
{% elif 'releases behind' in warning %}
{{ warning }}
{% else %}
{{ warning }}
{% endif %} {% endfor %}
{% endif %}
Fix Availability
{% set fix_status = report.summary.by_severity_fix_status %} {% set total_fixed = fix_status.critical_fixed + fix_status.high_fixed + fix_status.medium_fixed + fix_status.low_fixed + fix_status.unknown_fixed %} {% set total_unfixed = fix_status.critical_unfixed + fix_status.high_unfixed + fix_status.medium_unfixed + fix_status.low_unfixed + fix_status.unknown_unfixed %} {% set will_not_fix = report.summary.will_not_fix %} {% set unfixed_excl_wnf = [total_unfixed - will_not_fix, 0]|max %} {% set total_findings = total_fixed + total_unfixed %}
{{ total_fixed }}
Fixed
{{ unfixed_excl_wnf }}
Unfixed
{% if will_not_fix > 0 %}
{{ will_not_fix }}
Won't Fix
{% endif %}
{% if total_findings > 0 %}
{% if total_fixed / total_findings > 0.15 %}{{ (total_fixed / total_findings * 100)|round(0)|int }}%{% endif %}
{% if unfixed_excl_wnf / total_findings > 0.15 %}{{ (unfixed_excl_wnf / total_findings * 100)|round(0)|int }}%{% endif %}
{% if will_not_fix > 0 %}
{% if will_not_fix / total_findings > 0.15 %}{{ (will_not_fix / total_findings * 100)|round(0)|int }}%{% endif %}
{% endif %}
Has RHSA Fix {% if will_not_fix > 0 %} Won't Fix {% endif %} No Fix
{% endif %}
Fix Status by Severity (actionable insights)
Issues Detected
Severity Mismatches {{ report.summary.severity_mismatches }}
CVSS Score Mismatches {{ report.summary.cvss_mismatches }}
Likely Non-RH Software {{ report.summary.non_rh_software_likely }}
VEX Data Not Found {{ report.summary.vex_data_not_found }}
Non-CVE Findings (GHSA, etc.) {{ report.summary.non_cve_findings }}
Severity Distribution
{% if interpretation.recommendations %}
Recommendations
{% endif %}
Findings ({{ report.findings|length }} total)
CVE ID Package Component Scanner Severity Red Hat Severity Remediation RH Probability Verdict Flags

Source File: {{ report.filename or 'Unknown' }}

Scanner: {{ report.summary.scanner_name or 'Auto-detected' }}

Analyzed: {{ report.analyzed_at or 'Unknown' }}

{% endblock %} {% block extra_js %} {% endblock %}