📊 Scan Summary
{{ results|sum(attribute='total') }}
Total Tests
{{ results|sum(attribute='passed') }}
Passed
{{ results|sum(attribute='failures') }}
Failed
{{ results|sum(attribute='errors') }}
Errors
{{ results|sum(attribute='skipped') }}
Skipped
🔍 Scan Results
{% for result in results %}

{% if result.name == 'checkov' %}🔒{% elif result.name == 'trivy' %}🛡️{% elif result.name == 'tfsec' %}🔐{% else %}🔍{% endif %} {{ result.name|title }}

{{ result.total }}
Total
{{ result.passed }}
Passed
{{ result.failures }}
Failed
{{ result.errors }}
Errors
{{ result.skipped }}
Skipped
Success Rate {% if result.total > 0 %} {{ ((result.passed / result.total) * 100)|round(1) }}% {% else %} N/A {% endif %}
{% if result.total > 0 %}
{% endif %}
{% endfor %}
📋 Detailed Analysis
{% for result in results %}
{% if result.name == 'checkov' %}🔒{% elif result.name == 'trivy' %}🛡️{% elif result.name == 'tfsec' %}🔐{% else %}🔍{% endif %} {{ result.name|title }} Analysis
📊 Test Results Breakdown
Metric Count Percentage Status
Total Tests {{ result.total }} 100% {{ result.total }}
Passed {{ result.passed }} {% if result.total > 0 %} {{ ((result.passed / result.total) * 100)|round(1) }}% {% else %} 0% {% endif %} ✅ PASS
Failed {{ result.failures }} {% if result.total > 0 %} {{ ((result.failures / result.total) * 100)|round(1) }}% {% else %} 0% {% endif %} ❌ FAIL
Errors {{ result.errors }} {% if result.total > 0 %} {{ ((result.errors / result.total) * 100)|round(1) }}% {% else %} 0% {% endif %} ⚠️ ERROR
Skipped {{ result.skipped }} {% if result.total > 0 %} {{ ((result.skipped / result.total) * 100)|round(1) }}% {% else %} 0% {% endif %} ⏭️ SKIP
{% endfor %}