feat(gcp): add CIS 4.0 compliance framework (#7785)

This commit is contained in:
Pedro Martín
2025-05-21 12:38:34 +02:00
committed by GitHub
parent 1c1c58c975
commit 7d84d67935
5 changed files with 1903 additions and 14 deletions

View File

@@ -4,7 +4,7 @@ import sys
# Convert a CSV file following the CIS 1.5 AWS benchmark into a Prowler v3.0 Compliance JSON file
# CSV fields:
# Id, Title,Checks,Attributes_Section,Attributes_Level,Attributes_AssessmentStatus,Attributes_Description,Attributes_RationalStatement,Attributes_ImpactStatement,Attributes_RemediationProcedure,Attributes_AuditProcedure,Attributes_AdditionalInformation,Attributes_References
# ID Title Check Section # SubSection Profile Assessment Status Description Rationale Statement Impact Statement Remediation Procedure Audit Procedure Additional Information References Default Value
# get the CSV filename to convert from
file_name = sys.argv[1]
@@ -14,18 +14,36 @@ output = {"Framework": "CIS-AWS", "Version": "1.5", "Requirements": []}
with open(file_name, newline="", encoding="utf-8") as f:
reader = csv.reader(f, delimiter=",")
for row in reader:
attribute = {
"Section": row[3],
"Profile": row[4],
"AssessmentStatus": row[5],
"Description": row[6],
"RationaleStatement": row[7],
"ImpactStatement": row[8],
"RemediationProcedure": row[9],
"AuditProcedure": row[10],
"AdditionalInformation": row[11],
"References": row[12],
}
if len(row[4]) > 0:
attribute = {
"Section": row[3],
"SubSection": row[4],
"Profile": row[5],
"AssessmentStatus": row[6],
"Description": row[7],
"RationaleStatement": row[8],
"ImpactStatement": row[9],
"RemediationProcedure": row[10],
"AuditProcedure": row[11],
"AdditionalInformation": row[12],
"References": row[13],
"DefaultValue": row[14],
}
else:
attribute = {
"Section": row[3],
"Profile": row[5],
"AssessmentStatus": row[6],
"Description": row[7],
"RationaleStatement": row[8],
"ImpactStatement": row[9],
"RemediationProcedure": row[10],
"AuditProcedure": row[11],
"AdditionalInformation": row[12],
"References": row[13],
"DefaultValue": row[14],
}
output["Requirements"].append(
{
"Id": row[0],