đŸ›Ąī¸ S3 Security Scanner Report

Comprehensive security analysis for AWS S3 buckets

Region: {{ summary.region }}
Account: {{ summary.account_id }}
Scan Time: {{ summary.scan_time }}
Total Buckets: {{ summary.total_buckets }}
{{ summary.total_buckets }}
Total Buckets
{{ summary.public_buckets }}
Public Buckets
{{ summary.high_severity_buckets }}
High Severity Issues
{{ "%.1f"|format(summary.average_security_score) }}
Avg Security Score
{{ summary.total_objects_scanned or 0 }}
Objects Scanned
{{ summary.total_sensitive_objects or 0 }}
Sensitive Objects
Security Score Distribution
{% set score_data = security_score_distribution %} {% set score_labels = ['0-20', '21-40', '41-60', '61-80', '81-100'] %} {% set score_colors = ['#dc2626', '#ea580c', '#d97706', '#059669', '#16a34a'] %} {% for i in range(5) %}
{{ score_labels[i] }}
{{ score_data[i] }}
{% endfor %}
Compliance Framework Status
{% for framework, percentage in zip(compliance_labels, compliance_percentages) %}
{{ framework }}
{{ "%.0f"|format(percentage) }}%
{% endfor %}
Issues by Severity
{% set severity_data = severity_counts %} {% set severity_labels = ['High', 'Medium', 'Low', 'Info'] %} {% set severity_colors = ['#dc2626', '#d97706', '#2563eb', '#059669'] %} {% set max_issues = severity_data|max if severity_data else 1 %} {% for i in range(4) %}
{{ severity_labels[i] }}
{{ severity_data[i] }}
{% endfor %}
Security Features Adoption
{% set feature_data = feature_adoption %} {% set feature_labels = ['Encryption', 'Versioning', 'Logging', 'Public Block', 'MFA Delete'] %} {% for i in range(5) %}
{{ feature_labels[i] }}
{{ "%.0f"|format(feature_data[i]) }}%
{% endfor %}
{% if summary.public_buckets > 0 %}
🚨 Critical: {{ summary.public_buckets }} bucket(s) are publicly accessible. This poses a significant security risk and should be addressed immediately.
{% endif %} {% if summary.high_severity_buckets > 0 %}
âš ī¸ Warning: {{ summary.high_severity_buckets }} bucket(s) have high severity security issues requiring attention.
{% endif %}
📋 Detailed Bucket Analysis
đŸ—ƒī¸ Buckets Overview
✅ Compliance Details
âš ī¸ Security Issues
{% for bucket in results %} {% endfor %}
Bucket Name Region Security Score Public Access Encryption Versioning Logging Issues Compliance
{{ bucket.bucket_name }} {% if bucket.creation_date %}
Created: {{ bucket.creation_date.strftime('%Y-%m-%d') if bucket.creation_date else 'Unknown' }} {% endif %}
{{ bucket.region or 'Unknown' }}
{{ bucket.security_score or 0 }}/100
{{ '🔓 Public' if bucket.is_public else '🔒 Private' }} {{ 'đŸ›Ąī¸ Enabled' if bucket.encryption.is_enabled else 'âš ī¸ Disabled' }} {{ '📋 Enabled' if bucket.versioning.is_enabled else '❌ Disabled' }} {{ '📝 Enabled' if bucket.logging.is_enabled else '❌ Disabled' }}
{% for issue in bucket.issues[:3] %}
{{ issue.severity }} {{ issue.description }}
{% endfor %} {% if bucket.issues|length > 3 %} +{{ bucket.issues|length - 3 }} more issues {% endif %}
{% set compliance = bucket.compliance_status %}
{% if compliance.CIS %}
CIS: {{ "%.0f"|format(compliance.CIS.compliance_percentage) }}%
{% endif %} {% if compliance['AWS-FSBP'] %}
AWS-FSBP: {{ "%.0f"|format(compliance['AWS-FSBP'].compliance_percentage) }}%
{% endif %} {% if compliance['PCI-DSS'] %}
PCI: {{ "%.0f"|format(compliance['PCI-DSS'].compliance_percentage) }}%
{% endif %} {% if compliance.HIPAA %}
HIPAA: {{ "%.0f"|format(compliance.HIPAA.compliance_percentage) }}%
{% endif %} {% if compliance.SOC2 %}
SOC2: {{ "%.0f"|format(compliance.SOC2.compliance_percentage) }}%
{% endif %} {% if compliance.ISO27001 %}
ISO27001: {{ "%.0f"|format(compliance.ISO27001.compliance_percentage) }}%
{% endif %} {% if compliance.ISO27017 %}
ISO27017: {{ "%.0f"|format(compliance.ISO27017.compliance_percentage) }}%
{% endif %} {% if compliance.ISO27018 %}
ISO27018: {{ "%.0f"|format(compliance.ISO27018.compliance_percentage) }}%
{% endif %}
{% for framework, stats in compliance_summary.items() %} {% endfor %}
Framework Compliant Buckets Total Buckets Compliance Rate Status
{{ framework }} {{ stats.compliant_buckets }} {{ stats.total_buckets }} {% set percentage = stats.average_compliance_percentage if 'average_compliance_percentage' in stats else stats.compliance_percentage %}
{{ "%.1f"|format(percentage) }}%
{% set percentage = (stats.compliant_buckets / stats.total_buckets * 100) if stats.total_buckets > 0 else 0 %} {% if percentage >= 90 %} ✅ Excellent {% elif percentage >= 75 %} âš ī¸ Good {% else %} ❌ Needs Work {% endif %}
{% for bucket in results %} {% for issue in bucket.issues %} {% endfor %} {% endfor %}
Bucket Severity âŦ†âŦ‡ Issue Type Description Recommendation
{{ bucket.bucket_name }} {{ '🚨' if issue.severity == 'HIGH' else ('âš ī¸' if issue.severity == 'MEDIUM' else 'â„šī¸') }} {{ issue.severity }} {{ issue.issue_type }} {{ issue.description }} {{ issue.recommendation }}