aws-cis-controls-assessment 1.0.7__tar.gz → 1.0.9__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.
- {aws_cis_controls_assessment-1.0.7/aws_cis_controls_assessment.egg-info → aws_cis_controls_assessment-1.0.9}/PKG-INFO +6 -1
- {aws_cis_controls_assessment-1.0.7 → aws_cis_controls_assessment-1.0.9}/README.md +5 -0
- {aws_cis_controls_assessment-1.0.7 → aws_cis_controls_assessment-1.0.9}/aws_cis_assessment/__init__.py +1 -1
- {aws_cis_controls_assessment-1.0.7 → aws_cis_controls_assessment-1.0.9}/aws_cis_assessment/controls/ig1/control_advanced_security.py +2 -2
- {aws_cis_controls_assessment-1.0.7 → aws_cis_controls_assessment-1.0.9}/aws_cis_assessment/core/assessment_engine.py +4 -0
- {aws_cis_controls_assessment-1.0.7 → aws_cis_controls_assessment-1.0.9}/aws_cis_assessment/core/models.py +1 -0
- {aws_cis_controls_assessment-1.0.7 → aws_cis_controls_assessment-1.0.9}/aws_cis_assessment/core/scoring_engine.py +30 -0
- {aws_cis_controls_assessment-1.0.7 → aws_cis_controls_assessment-1.0.9}/aws_cis_assessment/reporters/base_reporter.py +2 -0
- {aws_cis_controls_assessment-1.0.7 → aws_cis_controls_assessment-1.0.9}/aws_cis_assessment/reporters/html_reporter.py +826 -45
- {aws_cis_controls_assessment-1.0.7 → aws_cis_controls_assessment-1.0.9/aws_cis_controls_assessment.egg-info}/PKG-INFO +6 -1
- {aws_cis_controls_assessment-1.0.7 → aws_cis_controls_assessment-1.0.9}/aws_cis_controls_assessment.egg-info/SOURCES.txt +4 -0
- {aws_cis_controls_assessment-1.0.7 → aws_cis_controls_assessment-1.0.9}/docs/README.md +1 -0
- aws_cis_controls_assessment-1.0.9/docs/dual-scoring-implementation.md +303 -0
- aws_cis_controls_assessment-1.0.9/docs/html-report-improvements.md +422 -0
- {aws_cis_controls_assessment-1.0.7 → aws_cis_controls_assessment-1.0.9}/docs/installation.md +78 -27
- aws_cis_controls_assessment-1.0.9/docs/scoring-comparison-aws-config.md +379 -0
- aws_cis_controls_assessment-1.0.9/docs/scoring-methodology.md +350 -0
- {aws_cis_controls_assessment-1.0.7 → aws_cis_controls_assessment-1.0.9}/docs/user-guide.md +7 -1
- {aws_cis_controls_assessment-1.0.7 → aws_cis_controls_assessment-1.0.9}/LICENSE +0 -0
- {aws_cis_controls_assessment-1.0.7 → aws_cis_controls_assessment-1.0.9}/MANIFEST.in +0 -0
- {aws_cis_controls_assessment-1.0.7 → aws_cis_controls_assessment-1.0.9}/aws_cis_assessment/cli/__init__.py +0 -0
- {aws_cis_controls_assessment-1.0.7 → aws_cis_controls_assessment-1.0.9}/aws_cis_assessment/cli/examples.py +0 -0
- {aws_cis_controls_assessment-1.0.7 → aws_cis_controls_assessment-1.0.9}/aws_cis_assessment/cli/main.py +0 -0
- {aws_cis_controls_assessment-1.0.7 → aws_cis_controls_assessment-1.0.9}/aws_cis_assessment/cli/utils.py +0 -0
- {aws_cis_controls_assessment-1.0.7 → aws_cis_controls_assessment-1.0.9}/aws_cis_assessment/config/__init__.py +0 -0
- {aws_cis_controls_assessment-1.0.7 → aws_cis_controls_assessment-1.0.9}/aws_cis_assessment/config/config_loader.py +0 -0
- {aws_cis_controls_assessment-1.0.7 → aws_cis_controls_assessment-1.0.9}/aws_cis_assessment/config/rules/cis_controls_ig1.yaml +0 -0
- {aws_cis_controls_assessment-1.0.7 → aws_cis_controls_assessment-1.0.9}/aws_cis_assessment/config/rules/cis_controls_ig2.yaml +0 -0
- {aws_cis_controls_assessment-1.0.7 → aws_cis_controls_assessment-1.0.9}/aws_cis_assessment/config/rules/cis_controls_ig3.yaml +0 -0
- {aws_cis_controls_assessment-1.0.7 → aws_cis_controls_assessment-1.0.9}/aws_cis_assessment/controls/__init__.py +0 -0
- {aws_cis_controls_assessment-1.0.7 → aws_cis_controls_assessment-1.0.9}/aws_cis_assessment/controls/base_control.py +0 -0
- {aws_cis_controls_assessment-1.0.7 → aws_cis_controls_assessment-1.0.9}/aws_cis_assessment/controls/ig1/__init__.py +0 -0
- {aws_cis_controls_assessment-1.0.7 → aws_cis_controls_assessment-1.0.9}/aws_cis_assessment/controls/ig1/control_1_1.py +0 -0
- {aws_cis_controls_assessment-1.0.7 → aws_cis_controls_assessment-1.0.9}/aws_cis_assessment/controls/ig1/control_2_2.py +0 -0
- {aws_cis_controls_assessment-1.0.7 → aws_cis_controls_assessment-1.0.9}/aws_cis_assessment/controls/ig1/control_3_3.py +0 -0
- {aws_cis_controls_assessment-1.0.7 → aws_cis_controls_assessment-1.0.9}/aws_cis_assessment/controls/ig1/control_3_4.py +0 -0
- {aws_cis_controls_assessment-1.0.7 → aws_cis_controls_assessment-1.0.9}/aws_cis_assessment/controls/ig1/control_4_1.py +0 -0
- {aws_cis_controls_assessment-1.0.7 → aws_cis_controls_assessment-1.0.9}/aws_cis_assessment/controls/ig1/control_access_keys.py +0 -0
- {aws_cis_controls_assessment-1.0.7 → aws_cis_controls_assessment-1.0.9}/aws_cis_assessment/controls/ig1/control_backup_recovery.py +0 -0
- {aws_cis_controls_assessment-1.0.7 → aws_cis_controls_assessment-1.0.9}/aws_cis_assessment/controls/ig1/control_cloudtrail_logging.py +0 -0
- {aws_cis_controls_assessment-1.0.7 → aws_cis_controls_assessment-1.0.9}/aws_cis_assessment/controls/ig1/control_critical_security.py +0 -0
- {aws_cis_controls_assessment-1.0.7 → aws_cis_controls_assessment-1.0.9}/aws_cis_assessment/controls/ig1/control_data_protection.py +0 -0
- {aws_cis_controls_assessment-1.0.7 → aws_cis_controls_assessment-1.0.9}/aws_cis_assessment/controls/ig1/control_iam_advanced.py +0 -0
- {aws_cis_controls_assessment-1.0.7 → aws_cis_controls_assessment-1.0.9}/aws_cis_assessment/controls/ig1/control_iam_governance.py +0 -0
- {aws_cis_controls_assessment-1.0.7 → aws_cis_controls_assessment-1.0.9}/aws_cis_assessment/controls/ig1/control_iam_policies.py +0 -0
- {aws_cis_controls_assessment-1.0.7 → aws_cis_controls_assessment-1.0.9}/aws_cis_assessment/controls/ig1/control_instance_optimization.py +0 -0
- {aws_cis_controls_assessment-1.0.7 → aws_cis_controls_assessment-1.0.9}/aws_cis_assessment/controls/ig1/control_network_enhancements.py +0 -0
- {aws_cis_controls_assessment-1.0.7 → aws_cis_controls_assessment-1.0.9}/aws_cis_assessment/controls/ig1/control_network_security.py +0 -0
- {aws_cis_controls_assessment-1.0.7 → aws_cis_controls_assessment-1.0.9}/aws_cis_assessment/controls/ig1/control_s3_enhancements.py +0 -0
- {aws_cis_controls_assessment-1.0.7 → aws_cis_controls_assessment-1.0.9}/aws_cis_assessment/controls/ig1/control_s3_security.py +0 -0
- {aws_cis_controls_assessment-1.0.7 → aws_cis_controls_assessment-1.0.9}/aws_cis_assessment/controls/ig1/control_vpc_security.py +0 -0
- {aws_cis_controls_assessment-1.0.7 → aws_cis_controls_assessment-1.0.9}/aws_cis_assessment/controls/ig2/__init__.py +0 -0
- {aws_cis_controls_assessment-1.0.7 → aws_cis_controls_assessment-1.0.9}/aws_cis_assessment/controls/ig2/control_3_10.py +0 -0
- {aws_cis_controls_assessment-1.0.7 → aws_cis_controls_assessment-1.0.9}/aws_cis_assessment/controls/ig2/control_3_11.py +0 -0
- {aws_cis_controls_assessment-1.0.7 → aws_cis_controls_assessment-1.0.9}/aws_cis_assessment/controls/ig2/control_5_2.py +0 -0
- {aws_cis_controls_assessment-1.0.7 → aws_cis_controls_assessment-1.0.9}/aws_cis_assessment/controls/ig2/control_advanced_encryption.py +0 -0
- {aws_cis_controls_assessment-1.0.7 → aws_cis_controls_assessment-1.0.9}/aws_cis_assessment/controls/ig2/control_codebuild_security.py +0 -0
- {aws_cis_controls_assessment-1.0.7 → aws_cis_controls_assessment-1.0.9}/aws_cis_assessment/controls/ig2/control_encryption_rest.py +0 -0
- {aws_cis_controls_assessment-1.0.7 → aws_cis_controls_assessment-1.0.9}/aws_cis_assessment/controls/ig2/control_encryption_transit.py +0 -0
- {aws_cis_controls_assessment-1.0.7 → aws_cis_controls_assessment-1.0.9}/aws_cis_assessment/controls/ig2/control_network_ha.py +0 -0
- {aws_cis_controls_assessment-1.0.7 → aws_cis_controls_assessment-1.0.9}/aws_cis_assessment/controls/ig2/control_remaining_encryption.py +0 -0
- {aws_cis_controls_assessment-1.0.7 → aws_cis_controls_assessment-1.0.9}/aws_cis_assessment/controls/ig2/control_remaining_rules.py +0 -0
- {aws_cis_controls_assessment-1.0.7 → aws_cis_controls_assessment-1.0.9}/aws_cis_assessment/controls/ig2/control_service_logging.py +0 -0
- {aws_cis_controls_assessment-1.0.7 → aws_cis_controls_assessment-1.0.9}/aws_cis_assessment/controls/ig3/__init__.py +0 -0
- {aws_cis_controls_assessment-1.0.7 → aws_cis_controls_assessment-1.0.9}/aws_cis_assessment/controls/ig3/control_12_8.py +0 -0
- {aws_cis_controls_assessment-1.0.7 → aws_cis_controls_assessment-1.0.9}/aws_cis_assessment/controls/ig3/control_13_1.py +0 -0
- {aws_cis_controls_assessment-1.0.7 → aws_cis_controls_assessment-1.0.9}/aws_cis_assessment/controls/ig3/control_3_14.py +0 -0
- {aws_cis_controls_assessment-1.0.7 → aws_cis_controls_assessment-1.0.9}/aws_cis_assessment/controls/ig3/control_7_1.py +0 -0
- {aws_cis_controls_assessment-1.0.7 → aws_cis_controls_assessment-1.0.9}/aws_cis_assessment/core/__init__.py +0 -0
- {aws_cis_controls_assessment-1.0.7 → aws_cis_controls_assessment-1.0.9}/aws_cis_assessment/core/accuracy_validator.py +0 -0
- {aws_cis_controls_assessment-1.0.7 → aws_cis_controls_assessment-1.0.9}/aws_cis_assessment/core/audit_trail.py +0 -0
- {aws_cis_controls_assessment-1.0.7 → aws_cis_controls_assessment-1.0.9}/aws_cis_assessment/core/aws_client_factory.py +0 -0
- {aws_cis_controls_assessment-1.0.7 → aws_cis_controls_assessment-1.0.9}/aws_cis_assessment/core/error_handler.py +0 -0
- {aws_cis_controls_assessment-1.0.7 → aws_cis_controls_assessment-1.0.9}/aws_cis_assessment/reporters/__init__.py +0 -0
- {aws_cis_controls_assessment-1.0.7 → aws_cis_controls_assessment-1.0.9}/aws_cis_assessment/reporters/csv_reporter.py +0 -0
- {aws_cis_controls_assessment-1.0.7 → aws_cis_controls_assessment-1.0.9}/aws_cis_assessment/reporters/json_reporter.py +0 -0
- {aws_cis_controls_assessment-1.0.7 → aws_cis_controls_assessment-1.0.9}/aws_cis_controls_assessment.egg-info/dependency_links.txt +0 -0
- {aws_cis_controls_assessment-1.0.7 → aws_cis_controls_assessment-1.0.9}/aws_cis_controls_assessment.egg-info/entry_points.txt +0 -0
- {aws_cis_controls_assessment-1.0.7 → aws_cis_controls_assessment-1.0.9}/aws_cis_controls_assessment.egg-info/requires.txt +0 -0
- {aws_cis_controls_assessment-1.0.7 → aws_cis_controls_assessment-1.0.9}/aws_cis_controls_assessment.egg-info/top_level.txt +0 -0
- {aws_cis_controls_assessment-1.0.7 → aws_cis_controls_assessment-1.0.9}/deprecation-package/aws_cis_assessment_deprecated/__init__.py +0 -0
- {aws_cis_controls_assessment-1.0.7 → aws_cis_controls_assessment-1.0.9}/docs/assessment-logic.md +0 -0
- {aws_cis_controls_assessment-1.0.7 → aws_cis_controls_assessment-1.0.9}/docs/cli-reference.md +0 -0
- {aws_cis_controls_assessment-1.0.7 → aws_cis_controls_assessment-1.0.9}/docs/config-rule-mappings.md +0 -0
- {aws_cis_controls_assessment-1.0.7 → aws_cis_controls_assessment-1.0.9}/docs/developer-guide.md +0 -0
- {aws_cis_controls_assessment-1.0.7 → aws_cis_controls_assessment-1.0.9}/docs/troubleshooting.md +0 -0
- {aws_cis_controls_assessment-1.0.7 → aws_cis_controls_assessment-1.0.9}/pyproject.toml +0 -0
- {aws_cis_controls_assessment-1.0.7 → aws_cis_controls_assessment-1.0.9}/pytest.ini +0 -0
- {aws_cis_controls_assessment-1.0.7 → aws_cis_controls_assessment-1.0.9}/requirements.txt +0 -0
- {aws_cis_controls_assessment-1.0.7 → aws_cis_controls_assessment-1.0.9}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: aws-cis-controls-assessment
|
|
3
|
-
Version: 1.0.
|
|
3
|
+
Version: 1.0.9
|
|
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>
|
|
@@ -64,6 +64,7 @@ A production-ready, enterprise-grade framework for evaluating AWS account config
|
|
|
64
64
|
## 🎯 Key Features
|
|
65
65
|
|
|
66
66
|
- **✅ Complete Coverage**: 131/131 CIS Controls rules implemented (100% coverage)
|
|
67
|
+
- **✅ Dual Scoring System**: Both weighted and AWS Config-style scoring methodologies
|
|
67
68
|
- **✅ Enterprise Ready**: Production-tested with enterprise-grade architecture
|
|
68
69
|
- **✅ Performance Optimized**: Handles large-scale assessments efficiently
|
|
69
70
|
- **✅ Multi-Format Reports**: JSON, HTML, and CSV with detailed remediation guidance
|
|
@@ -208,12 +209,16 @@ aws-cis-assess assess --output-format json
|
|
|
208
209
|
- **[Installation Guide](docs/installation.md)**: Detailed installation instructions and requirements
|
|
209
210
|
- **[User Guide](docs/user-guide.md)**: Comprehensive user manual and best practices
|
|
210
211
|
- **[CLI Reference](docs/cli-reference.md)**: Complete command-line interface documentation
|
|
212
|
+
- **[Dual Scoring Guide](docs/dual-scoring-implementation.md)**: Weighted vs AWS Config scoring methodologies
|
|
213
|
+
- **[Scoring Methodology](docs/scoring-methodology.md)**: Detailed explanation of weighted scoring
|
|
214
|
+
- **[AWS Config Comparison](docs/scoring-comparison-aws-config.md)**: Comparison with AWS Config approach
|
|
211
215
|
- **[Troubleshooting Guide](docs/troubleshooting.md)**: Common issues and solutions
|
|
212
216
|
- **[Developer Guide](docs/developer-guide.md)**: Development and contribution guidelines
|
|
213
217
|
|
|
214
218
|
### Technical Documentation
|
|
215
219
|
- **[Assessment Logic](docs/assessment-logic.md)**: How compliance assessments work
|
|
216
220
|
- **[Config Rule Mappings](docs/config-rule-mappings.md)**: CIS Controls to AWS Config rule mappings
|
|
221
|
+
- **[HTML Report Improvements](docs/html-report-improvements.md)**: Enhanced HTML report features and customization
|
|
217
222
|
|
|
218
223
|
## 🤝 Support & Community
|
|
219
224
|
|
|
@@ -7,6 +7,7 @@ A production-ready, enterprise-grade framework for evaluating AWS account config
|
|
|
7
7
|
## 🎯 Key Features
|
|
8
8
|
|
|
9
9
|
- **✅ Complete Coverage**: 131/131 CIS Controls rules implemented (100% coverage)
|
|
10
|
+
- **✅ Dual Scoring System**: Both weighted and AWS Config-style scoring methodologies
|
|
10
11
|
- **✅ Enterprise Ready**: Production-tested with enterprise-grade architecture
|
|
11
12
|
- **✅ Performance Optimized**: Handles large-scale assessments efficiently
|
|
12
13
|
- **✅ Multi-Format Reports**: JSON, HTML, and CSV with detailed remediation guidance
|
|
@@ -151,12 +152,16 @@ aws-cis-assess assess --output-format json
|
|
|
151
152
|
- **[Installation Guide](docs/installation.md)**: Detailed installation instructions and requirements
|
|
152
153
|
- **[User Guide](docs/user-guide.md)**: Comprehensive user manual and best practices
|
|
153
154
|
- **[CLI Reference](docs/cli-reference.md)**: Complete command-line interface documentation
|
|
155
|
+
- **[Dual Scoring Guide](docs/dual-scoring-implementation.md)**: Weighted vs AWS Config scoring methodologies
|
|
156
|
+
- **[Scoring Methodology](docs/scoring-methodology.md)**: Detailed explanation of weighted scoring
|
|
157
|
+
- **[AWS Config Comparison](docs/scoring-comparison-aws-config.md)**: Comparison with AWS Config approach
|
|
154
158
|
- **[Troubleshooting Guide](docs/troubleshooting.md)**: Common issues and solutions
|
|
155
159
|
- **[Developer Guide](docs/developer-guide.md)**: Development and contribution guidelines
|
|
156
160
|
|
|
157
161
|
### Technical Documentation
|
|
158
162
|
- **[Assessment Logic](docs/assessment-logic.md)**: How compliance assessments work
|
|
159
163
|
- **[Config Rule Mappings](docs/config-rule-mappings.md)**: CIS Controls to AWS Config rule mappings
|
|
164
|
+
- **[HTML Report Improvements](docs/html-report-improvements.md)**: Enhanced HTML report features and customization
|
|
160
165
|
|
|
161
166
|
## 🤝 Support & Community
|
|
162
167
|
|
|
@@ -6,6 +6,6 @@ CIS Controls Implementation Groups (IG1, IG2, IG3). Implements 145 comprehensive
|
|
|
6
6
|
across all implementation groups for complete security compliance assessment.
|
|
7
7
|
"""
|
|
8
8
|
|
|
9
|
-
__version__ = "1.0.
|
|
9
|
+
__version__ = "1.0.9"
|
|
10
10
|
__author__ = "AWS CIS Assessment Team"
|
|
11
11
|
__description__ = "Production-ready AWS CIS Controls Compliance Assessment Framework"
|
|
@@ -68,8 +68,8 @@ class EC2ManagedInstanceAssociationComplianceStatusCheckAssessment(BaseConfigRul
|
|
|
68
68
|
# Get association compliance status
|
|
69
69
|
try:
|
|
70
70
|
compliance_response = ssm_client.list_compliance_items(
|
|
71
|
-
|
|
72
|
-
|
|
71
|
+
ResourceIds=[instance_id],
|
|
72
|
+
ResourceTypes=['ManagedInstance']
|
|
73
73
|
)
|
|
74
74
|
|
|
75
75
|
compliance_items = compliance_response.get('ComplianceItems', [])
|
|
@@ -702,12 +702,16 @@ class AssessmentEngine:
|
|
|
702
702
|
# Calculate overall score using scoring engine
|
|
703
703
|
overall_score = self.scoring_engine.calculate_overall_score(ig_scores)
|
|
704
704
|
|
|
705
|
+
# Calculate AWS Config-style unweighted score
|
|
706
|
+
aws_config_score = self.scoring_engine.calculate_aws_config_style_score(ig_scores)
|
|
707
|
+
|
|
705
708
|
# Create final assessment result
|
|
706
709
|
assessment_result = AssessmentResult(
|
|
707
710
|
account_id=account_id,
|
|
708
711
|
regions_assessed=self.aws_factory.regions.copy(),
|
|
709
712
|
timestamp=datetime.now(),
|
|
710
713
|
overall_score=overall_score,
|
|
714
|
+
aws_config_score=aws_config_score, # Add AWS Config score
|
|
711
715
|
ig_scores=ig_scores,
|
|
712
716
|
total_resources_evaluated=len(all_results),
|
|
713
717
|
assessment_duration=self.progress.elapsed_time
|
|
@@ -126,6 +126,7 @@ class AssessmentResult:
|
|
|
126
126
|
regions_assessed: List[str]
|
|
127
127
|
timestamp: datetime
|
|
128
128
|
overall_score: float
|
|
129
|
+
aws_config_score: float = 0.0 # AWS Config Conformance Pack style score
|
|
129
130
|
ig_scores: Dict[str, IGScore] = field(default_factory=dict)
|
|
130
131
|
total_resources_evaluated: int = 0
|
|
131
132
|
assessment_duration: Optional[timedelta] = None
|
|
@@ -47,6 +47,36 @@ class ScoringEngine:
|
|
|
47
47
|
|
|
48
48
|
logger.info("ScoringEngine initialized with control and IG weights")
|
|
49
49
|
|
|
50
|
+
def calculate_aws_config_style_score(self, ig_scores: Dict[str, IGScore]) -> float:
|
|
51
|
+
"""Calculate compliance score using AWS Config Conformance Pack approach.
|
|
52
|
+
|
|
53
|
+
This is a simple unweighted calculation:
|
|
54
|
+
Score = Total Compliant Resources / Total Resources
|
|
55
|
+
|
|
56
|
+
Args:
|
|
57
|
+
ig_scores: Dictionary of IG scores
|
|
58
|
+
|
|
59
|
+
Returns:
|
|
60
|
+
Unweighted compliance percentage (0-100)
|
|
61
|
+
"""
|
|
62
|
+
total_compliant = 0
|
|
63
|
+
total_resources = 0
|
|
64
|
+
|
|
65
|
+
# Sum all compliant and total resources across all IGs and controls
|
|
66
|
+
for ig_score in ig_scores.values():
|
|
67
|
+
for control_score in ig_score.control_scores.values():
|
|
68
|
+
total_compliant += control_score.compliant_resources
|
|
69
|
+
total_resources += control_score.total_resources
|
|
70
|
+
|
|
71
|
+
if total_resources > 0:
|
|
72
|
+
aws_config_score = (total_compliant / total_resources) * 100
|
|
73
|
+
else:
|
|
74
|
+
aws_config_score = 0.0
|
|
75
|
+
|
|
76
|
+
logger.info(f"AWS Config style score: {aws_config_score:.1f}% "
|
|
77
|
+
f"({total_compliant}/{total_resources} resources compliant)")
|
|
78
|
+
return aws_config_score
|
|
79
|
+
|
|
50
80
|
def calculate_control_score(self, control_id: str, rule_results: List[ComplianceResult],
|
|
51
81
|
control_title: str = "", implementation_group: str = "") -> ControlScore:
|
|
52
82
|
"""Calculate compliance score for individual CIS Control.
|
|
@@ -110,6 +110,8 @@ class ReportGenerator(ABC):
|
|
|
110
110
|
},
|
|
111
111
|
'executive_summary': {
|
|
112
112
|
'overall_compliance_percentage': compliance_summary.overall_compliance_percentage,
|
|
113
|
+
'aws_config_style_score': assessment_result.aws_config_score, # Add AWS Config score
|
|
114
|
+
'score_difference': compliance_summary.overall_compliance_percentage - assessment_result.aws_config_score, # Show difference
|
|
113
115
|
'ig1_compliance_percentage': compliance_summary.ig1_compliance_percentage,
|
|
114
116
|
'ig2_compliance_percentage': compliance_summary.ig2_compliance_percentage,
|
|
115
117
|
'ig3_compliance_percentage': compliance_summary.ig3_compliance_percentage,
|