aws-cis-controls-assessment 1.1.3__tar.gz → 1.1.4__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (95) hide show
  1. {aws_cis_controls_assessment-1.1.3/aws_cis_controls_assessment.egg-info → aws_cis_controls_assessment-1.1.4}/PKG-INFO +1 -1
  2. {aws_cis_controls_assessment-1.1.3 → aws_cis_controls_assessment-1.1.4}/aws_cis_assessment/__init__.py +1 -1
  3. {aws_cis_controls_assessment-1.1.3 → aws_cis_controls_assessment-1.1.4}/aws_cis_assessment/reporters/html_reporter.py +9 -11
  4. {aws_cis_controls_assessment-1.1.3 → aws_cis_controls_assessment-1.1.4/aws_cis_controls_assessment.egg-info}/PKG-INFO +1 -1
  5. {aws_cis_controls_assessment-1.1.3 → aws_cis_controls_assessment-1.1.4}/LICENSE +0 -0
  6. {aws_cis_controls_assessment-1.1.3 → aws_cis_controls_assessment-1.1.4}/MANIFEST.in +0 -0
  7. {aws_cis_controls_assessment-1.1.3 → aws_cis_controls_assessment-1.1.4}/README.md +0 -0
  8. {aws_cis_controls_assessment-1.1.3 → aws_cis_controls_assessment-1.1.4}/aws_cis_assessment/cli/__init__.py +0 -0
  9. {aws_cis_controls_assessment-1.1.3 → aws_cis_controls_assessment-1.1.4}/aws_cis_assessment/cli/examples.py +0 -0
  10. {aws_cis_controls_assessment-1.1.3 → aws_cis_controls_assessment-1.1.4}/aws_cis_assessment/cli/main.py +0 -0
  11. {aws_cis_controls_assessment-1.1.3 → aws_cis_controls_assessment-1.1.4}/aws_cis_assessment/cli/utils.py +0 -0
  12. {aws_cis_controls_assessment-1.1.3 → aws_cis_controls_assessment-1.1.4}/aws_cis_assessment/config/__init__.py +0 -0
  13. {aws_cis_controls_assessment-1.1.3 → aws_cis_controls_assessment-1.1.4}/aws_cis_assessment/config/config_loader.py +0 -0
  14. {aws_cis_controls_assessment-1.1.3 → aws_cis_controls_assessment-1.1.4}/aws_cis_assessment/config/rules/cis_controls_ig1.yaml +0 -0
  15. {aws_cis_controls_assessment-1.1.3 → aws_cis_controls_assessment-1.1.4}/aws_cis_assessment/config/rules/cis_controls_ig2.yaml +0 -0
  16. {aws_cis_controls_assessment-1.1.3 → aws_cis_controls_assessment-1.1.4}/aws_cis_assessment/config/rules/cis_controls_ig3.yaml +0 -0
  17. {aws_cis_controls_assessment-1.1.3 → aws_cis_controls_assessment-1.1.4}/aws_cis_assessment/controls/__init__.py +0 -0
  18. {aws_cis_controls_assessment-1.1.3 → aws_cis_controls_assessment-1.1.4}/aws_cis_assessment/controls/base_control.py +0 -0
  19. {aws_cis_controls_assessment-1.1.3 → aws_cis_controls_assessment-1.1.4}/aws_cis_assessment/controls/ig1/__init__.py +0 -0
  20. {aws_cis_controls_assessment-1.1.3 → aws_cis_controls_assessment-1.1.4}/aws_cis_assessment/controls/ig1/control_1_1.py +0 -0
  21. {aws_cis_controls_assessment-1.1.3 → aws_cis_controls_assessment-1.1.4}/aws_cis_assessment/controls/ig1/control_2_2.py +0 -0
  22. {aws_cis_controls_assessment-1.1.3 → aws_cis_controls_assessment-1.1.4}/aws_cis_assessment/controls/ig1/control_3_3.py +0 -0
  23. {aws_cis_controls_assessment-1.1.3 → aws_cis_controls_assessment-1.1.4}/aws_cis_assessment/controls/ig1/control_3_4.py +0 -0
  24. {aws_cis_controls_assessment-1.1.3 → aws_cis_controls_assessment-1.1.4}/aws_cis_assessment/controls/ig1/control_4_1.py +0 -0
  25. {aws_cis_controls_assessment-1.1.3 → aws_cis_controls_assessment-1.1.4}/aws_cis_assessment/controls/ig1/control_access_keys.py +0 -0
  26. {aws_cis_controls_assessment-1.1.3 → aws_cis_controls_assessment-1.1.4}/aws_cis_assessment/controls/ig1/control_advanced_security.py +0 -0
  27. {aws_cis_controls_assessment-1.1.3 → aws_cis_controls_assessment-1.1.4}/aws_cis_assessment/controls/ig1/control_aws_backup_service.py +0 -0
  28. {aws_cis_controls_assessment-1.1.3 → aws_cis_controls_assessment-1.1.4}/aws_cis_assessment/controls/ig1/control_backup_recovery.py +0 -0
  29. {aws_cis_controls_assessment-1.1.3 → aws_cis_controls_assessment-1.1.4}/aws_cis_assessment/controls/ig1/control_cloudtrail_logging.py +0 -0
  30. {aws_cis_controls_assessment-1.1.3 → aws_cis_controls_assessment-1.1.4}/aws_cis_assessment/controls/ig1/control_critical_security.py +0 -0
  31. {aws_cis_controls_assessment-1.1.3 → aws_cis_controls_assessment-1.1.4}/aws_cis_assessment/controls/ig1/control_data_protection.py +0 -0
  32. {aws_cis_controls_assessment-1.1.3 → aws_cis_controls_assessment-1.1.4}/aws_cis_assessment/controls/ig1/control_iam_advanced.py +0 -0
  33. {aws_cis_controls_assessment-1.1.3 → aws_cis_controls_assessment-1.1.4}/aws_cis_assessment/controls/ig1/control_iam_governance.py +0 -0
  34. {aws_cis_controls_assessment-1.1.3 → aws_cis_controls_assessment-1.1.4}/aws_cis_assessment/controls/ig1/control_iam_policies.py +0 -0
  35. {aws_cis_controls_assessment-1.1.3 → aws_cis_controls_assessment-1.1.4}/aws_cis_assessment/controls/ig1/control_instance_optimization.py +0 -0
  36. {aws_cis_controls_assessment-1.1.3 → aws_cis_controls_assessment-1.1.4}/aws_cis_assessment/controls/ig1/control_network_enhancements.py +0 -0
  37. {aws_cis_controls_assessment-1.1.3 → aws_cis_controls_assessment-1.1.4}/aws_cis_assessment/controls/ig1/control_network_security.py +0 -0
  38. {aws_cis_controls_assessment-1.1.3 → aws_cis_controls_assessment-1.1.4}/aws_cis_assessment/controls/ig1/control_s3_enhancements.py +0 -0
  39. {aws_cis_controls_assessment-1.1.3 → aws_cis_controls_assessment-1.1.4}/aws_cis_assessment/controls/ig1/control_s3_security.py +0 -0
  40. {aws_cis_controls_assessment-1.1.3 → aws_cis_controls_assessment-1.1.4}/aws_cis_assessment/controls/ig1/control_vpc_security.py +0 -0
  41. {aws_cis_controls_assessment-1.1.3 → aws_cis_controls_assessment-1.1.4}/aws_cis_assessment/controls/ig2/__init__.py +0 -0
  42. {aws_cis_controls_assessment-1.1.3 → aws_cis_controls_assessment-1.1.4}/aws_cis_assessment/controls/ig2/control_3_10.py +0 -0
  43. {aws_cis_controls_assessment-1.1.3 → aws_cis_controls_assessment-1.1.4}/aws_cis_assessment/controls/ig2/control_3_11.py +0 -0
  44. {aws_cis_controls_assessment-1.1.3 → aws_cis_controls_assessment-1.1.4}/aws_cis_assessment/controls/ig2/control_4_5_6_access_configuration.py +0 -0
  45. {aws_cis_controls_assessment-1.1.3 → aws_cis_controls_assessment-1.1.4}/aws_cis_assessment/controls/ig2/control_5_2.py +0 -0
  46. {aws_cis_controls_assessment-1.1.3 → aws_cis_controls_assessment-1.1.4}/aws_cis_assessment/controls/ig2/control_8_audit_logging.py +0 -0
  47. {aws_cis_controls_assessment-1.1.3 → aws_cis_controls_assessment-1.1.4}/aws_cis_assessment/controls/ig2/control_advanced_encryption.py +0 -0
  48. {aws_cis_controls_assessment-1.1.3 → aws_cis_controls_assessment-1.1.4}/aws_cis_assessment/controls/ig2/control_aws_backup_ig2.py +0 -0
  49. {aws_cis_controls_assessment-1.1.3 → aws_cis_controls_assessment-1.1.4}/aws_cis_assessment/controls/ig2/control_codebuild_security.py +0 -0
  50. {aws_cis_controls_assessment-1.1.3 → aws_cis_controls_assessment-1.1.4}/aws_cis_assessment/controls/ig2/control_encryption_rest.py +0 -0
  51. {aws_cis_controls_assessment-1.1.3 → aws_cis_controls_assessment-1.1.4}/aws_cis_assessment/controls/ig2/control_encryption_transit.py +0 -0
  52. {aws_cis_controls_assessment-1.1.3 → aws_cis_controls_assessment-1.1.4}/aws_cis_assessment/controls/ig2/control_network_ha.py +0 -0
  53. {aws_cis_controls_assessment-1.1.3 → aws_cis_controls_assessment-1.1.4}/aws_cis_assessment/controls/ig2/control_remaining_encryption.py +0 -0
  54. {aws_cis_controls_assessment-1.1.3 → aws_cis_controls_assessment-1.1.4}/aws_cis_assessment/controls/ig2/control_remaining_rules.py +0 -0
  55. {aws_cis_controls_assessment-1.1.3 → aws_cis_controls_assessment-1.1.4}/aws_cis_assessment/controls/ig2/control_service_logging.py +0 -0
  56. {aws_cis_controls_assessment-1.1.3 → aws_cis_controls_assessment-1.1.4}/aws_cis_assessment/controls/ig3/__init__.py +0 -0
  57. {aws_cis_controls_assessment-1.1.3 → aws_cis_controls_assessment-1.1.4}/aws_cis_assessment/controls/ig3/control_12_8.py +0 -0
  58. {aws_cis_controls_assessment-1.1.3 → aws_cis_controls_assessment-1.1.4}/aws_cis_assessment/controls/ig3/control_13_1.py +0 -0
  59. {aws_cis_controls_assessment-1.1.3 → aws_cis_controls_assessment-1.1.4}/aws_cis_assessment/controls/ig3/control_3_14.py +0 -0
  60. {aws_cis_controls_assessment-1.1.3 → aws_cis_controls_assessment-1.1.4}/aws_cis_assessment/controls/ig3/control_7_1.py +0 -0
  61. {aws_cis_controls_assessment-1.1.3 → aws_cis_controls_assessment-1.1.4}/aws_cis_assessment/core/__init__.py +0 -0
  62. {aws_cis_controls_assessment-1.1.3 → aws_cis_controls_assessment-1.1.4}/aws_cis_assessment/core/accuracy_validator.py +0 -0
  63. {aws_cis_controls_assessment-1.1.3 → aws_cis_controls_assessment-1.1.4}/aws_cis_assessment/core/assessment_engine.py +0 -0
  64. {aws_cis_controls_assessment-1.1.3 → aws_cis_controls_assessment-1.1.4}/aws_cis_assessment/core/audit_trail.py +0 -0
  65. {aws_cis_controls_assessment-1.1.3 → aws_cis_controls_assessment-1.1.4}/aws_cis_assessment/core/aws_client_factory.py +0 -0
  66. {aws_cis_controls_assessment-1.1.3 → aws_cis_controls_assessment-1.1.4}/aws_cis_assessment/core/error_handler.py +0 -0
  67. {aws_cis_controls_assessment-1.1.3 → aws_cis_controls_assessment-1.1.4}/aws_cis_assessment/core/models.py +0 -0
  68. {aws_cis_controls_assessment-1.1.3 → aws_cis_controls_assessment-1.1.4}/aws_cis_assessment/core/scoring_engine.py +0 -0
  69. {aws_cis_controls_assessment-1.1.3 → aws_cis_controls_assessment-1.1.4}/aws_cis_assessment/reporters/__init__.py +0 -0
  70. {aws_cis_controls_assessment-1.1.3 → aws_cis_controls_assessment-1.1.4}/aws_cis_assessment/reporters/base_reporter.py +0 -0
  71. {aws_cis_controls_assessment-1.1.3 → aws_cis_controls_assessment-1.1.4}/aws_cis_assessment/reporters/csv_reporter.py +0 -0
  72. {aws_cis_controls_assessment-1.1.3 → aws_cis_controls_assessment-1.1.4}/aws_cis_assessment/reporters/json_reporter.py +0 -0
  73. {aws_cis_controls_assessment-1.1.3 → aws_cis_controls_assessment-1.1.4}/aws_cis_controls_assessment.egg-info/SOURCES.txt +0 -0
  74. {aws_cis_controls_assessment-1.1.3 → aws_cis_controls_assessment-1.1.4}/aws_cis_controls_assessment.egg-info/dependency_links.txt +0 -0
  75. {aws_cis_controls_assessment-1.1.3 → aws_cis_controls_assessment-1.1.4}/aws_cis_controls_assessment.egg-info/entry_points.txt +0 -0
  76. {aws_cis_controls_assessment-1.1.3 → aws_cis_controls_assessment-1.1.4}/aws_cis_controls_assessment.egg-info/requires.txt +0 -0
  77. {aws_cis_controls_assessment-1.1.3 → aws_cis_controls_assessment-1.1.4}/aws_cis_controls_assessment.egg-info/top_level.txt +0 -0
  78. {aws_cis_controls_assessment-1.1.3 → aws_cis_controls_assessment-1.1.4}/deprecation-package/aws_cis_assessment_deprecated/__init__.py +0 -0
  79. {aws_cis_controls_assessment-1.1.3 → aws_cis_controls_assessment-1.1.4}/docs/README.md +0 -0
  80. {aws_cis_controls_assessment-1.1.3 → aws_cis_controls_assessment-1.1.4}/docs/adding-aws-backup-controls.md +0 -0
  81. {aws_cis_controls_assessment-1.1.3 → aws_cis_controls_assessment-1.1.4}/docs/assessment-logic.md +0 -0
  82. {aws_cis_controls_assessment-1.1.3 → aws_cis_controls_assessment-1.1.4}/docs/cli-reference.md +0 -0
  83. {aws_cis_controls_assessment-1.1.3 → aws_cis_controls_assessment-1.1.4}/docs/config-rule-mappings.md +0 -0
  84. {aws_cis_controls_assessment-1.1.3 → aws_cis_controls_assessment-1.1.4}/docs/developer-guide.md +0 -0
  85. {aws_cis_controls_assessment-1.1.3 → aws_cis_controls_assessment-1.1.4}/docs/dual-scoring-implementation.md +0 -0
  86. {aws_cis_controls_assessment-1.1.3 → aws_cis_controls_assessment-1.1.4}/docs/html-report-improvements.md +0 -0
  87. {aws_cis_controls_assessment-1.1.3 → aws_cis_controls_assessment-1.1.4}/docs/installation.md +0 -0
  88. {aws_cis_controls_assessment-1.1.3 → aws_cis_controls_assessment-1.1.4}/docs/scoring-comparison-aws-config.md +0 -0
  89. {aws_cis_controls_assessment-1.1.3 → aws_cis_controls_assessment-1.1.4}/docs/scoring-methodology.md +0 -0
  90. {aws_cis_controls_assessment-1.1.3 → aws_cis_controls_assessment-1.1.4}/docs/troubleshooting.md +0 -0
  91. {aws_cis_controls_assessment-1.1.3 → aws_cis_controls_assessment-1.1.4}/docs/user-guide.md +0 -0
  92. {aws_cis_controls_assessment-1.1.3 → aws_cis_controls_assessment-1.1.4}/pyproject.toml +0 -0
  93. {aws_cis_controls_assessment-1.1.3 → aws_cis_controls_assessment-1.1.4}/pytest.ini +0 -0
  94. {aws_cis_controls_assessment-1.1.3 → aws_cis_controls_assessment-1.1.4}/requirements.txt +0 -0
  95. {aws_cis_controls_assessment-1.1.3 → aws_cis_controls_assessment-1.1.4}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: aws-cis-controls-assessment
3
- Version: 1.1.3
3
+ Version: 1.1.4
4
4
  Summary: Production-ready AWS CIS Controls compliance assessment framework with 145 comprehensive rules
5
5
  Author-email: AWS CIS Assessment Team <security@example.com>
6
6
  Maintainer-email: AWS CIS Assessment Team <security@example.com>
@@ -6,6 +6,6 @@ CIS Controls Implementation Groups (IG1, IG2, IG3). Implements 163 comprehensive
6
6
  across all implementation groups for complete security compliance assessment.
7
7
  """
8
8
 
9
- __version__ = "1.1.3"
9
+ __version__ = "1.1.4"
10
10
  __author__ = "AWS CIS Assessment Team"
11
11
  __description__ = "Production-ready AWS CIS Controls Compliance Assessment Framework"
@@ -1752,14 +1752,14 @@ class HTMLReporter(ReportGenerator):
1752
1752
 
1753
1753
  <div class="metric-card">
1754
1754
  <div class="metric-value">{exec_summary.get('total_resources', 0):,}</div>
1755
- <div class="metric-label">Resources Evaluated</div>
1756
- <div class="metric-trend trend-up">Across {len(metadata.get('regions_assessed', []))} regions</div>
1755
+ <div class="metric-label">Resource Evaluations</div>
1756
+ <div class="metric-trend trend-up">Across {len(metadata.get('regions_assessed', []))} regions and multiple controls</div>
1757
1757
  </div>
1758
1758
 
1759
1759
  <div class="metric-card">
1760
1760
  <div class="metric-value">{exec_summary.get('compliant_resources', 0):,}</div>
1761
- <div class="metric-label">Compliant Resources</div>
1762
- <div class="metric-trend trend-up">{(exec_summary.get('compliant_resources', 0) / max(exec_summary.get('total_resources', 1), 1) * 100):.1f}% of total</div>
1761
+ <div class="metric-label">Compliant Evaluations</div>
1762
+ <div class="metric-trend trend-up">{(exec_summary.get('compliant_resources', 0) / max(exec_summary.get('total_resources', 1), 1) * 100):.1f}% of evaluations</div>
1763
1763
  </div>
1764
1764
  """
1765
1765
 
@@ -1947,7 +1947,8 @@ class HTMLReporter(ReportGenerator):
1947
1947
  <h4>Assessment Scope</h4>
1948
1948
  <p>AWS Account: {metadata.get('account_id', 'Unknown')}</p>
1949
1949
  <p>Regions: {', '.join(metadata.get('regions_assessed', []))}</p>
1950
- <p>Total Resources: {metadata.get('total_resources_evaluated', 0):,}</p>
1950
+ <p>Resource Evaluations: {metadata.get('total_resources_evaluated', 0):,}</p>
1951
+ <p style="font-size: 0.85em; color: #999; margin-top: 5px;">Note: Same resource may be evaluated by multiple controls</p>
1951
1952
  </div>
1952
1953
  <div class="footer-section">
1953
1954
  <h4>About CIS Controls</h4>
@@ -2559,6 +2560,8 @@ class HTMLReporter(ReportGenerator):
2559
2560
  for resource_type, stats in sorted(resource_type_stats.items()):
2560
2561
  type_compliance = (stats["compliant"] / stats["total"] * 100) if stats["total"] > 0 else 0
2561
2562
  status_class = self._get_status_class(type_compliance)
2563
+ # Ensure minimum width of 5% for visibility when compliance is 0%
2564
+ display_width = max(type_compliance, 5.0) if type_compliance < 5.0 else type_compliance
2562
2565
 
2563
2566
  resource_type_breakdown += f"""
2564
2567
  <div class="resource-type-stat">
@@ -2567,7 +2570,7 @@ class HTMLReporter(ReportGenerator):
2567
2570
  <span class="resource-type-count">{stats['compliant']}/{stats['total']}</span>
2568
2571
  </div>
2569
2572
  <div class="progress-container">
2570
- <div class="progress-bar {status_class}" data-width="{type_compliance}">
2573
+ <div class="progress-bar {status_class}" data-width="{display_width}">
2571
2574
  <span class="progress-text">{type_compliance:.1f}%</span>
2572
2575
  </div>
2573
2576
  </div>
@@ -2641,11 +2644,6 @@ class HTMLReporter(ReportGenerator):
2641
2644
  </tbody>
2642
2645
  </table>
2643
2646
  </div>
2644
-
2645
- <div class="resource-export">
2646
- <button onclick="exportResourcesToCSV()" class="export-btn">Export to CSV</button>
2647
- <button onclick="exportResourcesToJSON()" class="export-btn">Export to JSON</button>
2648
- </div>
2649
2647
  </section>
2650
2648
  """
2651
2649
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: aws-cis-controls-assessment
3
- Version: 1.1.3
3
+ Version: 1.1.4
4
4
  Summary: Production-ready AWS CIS Controls compliance assessment framework with 145 comprehensive rules
5
5
  Author-email: AWS CIS Assessment Team <security@example.com>
6
6
  Maintainer-email: AWS CIS Assessment Team <security@example.com>