feat(validate-metadata): Validate Check's metadata and list checks (#1215)

This commit is contained in:
Pepe Fagoaga
2022-06-22 10:12:55 +02:00
committed by GitHub
parent b07b7f3f26
commit 6ac6ef359f
15 changed files with 501 additions and 271 deletions

View File

@@ -4,9 +4,9 @@
"cat2"
],
"CheckAlias": "extra764",
"CheckID": "iam-check-credentials-expiration-30-days",
"CheckName": "iam-check-credentials-expiration-30-days",
"CheckTitle": "IAM Access Analyzer Enabled",
"CheckID": "iam_disable_30_days_credentials",
"CheckName": "iam_disable_30_days_credentials",
"CheckTitle": "Ensure credentials unused for 30 days or greater are disabled",
"CheckType": "Software and Configuration Checks",
"Compliance": [
{
@@ -25,7 +25,7 @@
"othercheck1",
"othercheck2"
],
"Description": "If Security groups are not properly configured the attack surface is increased.",
"Description": "Ensure credentials unused for 30 days or greater are disabled",
"Notes": "additional information",
"Provider": "aws",
"RelatedTo": [

View File

@@ -1,6 +1,6 @@
from datetime import datetime
from lib.check.check import Check, Check_Report
from lib.check.models import Check, Check_Report
from providers.aws.services.iam.iam_service import iam_client
maximum_expiration_days = 30
@@ -32,9 +32,7 @@ class iam_disable_30_days_credentials(Check):
pass
else:
report.status = "PASS"
report.result_extended = (
f"User {user['UserName']} has not a console password or is unused."
)
report.result_extended = f"User {user['UserName']} has not a console password or is unused."
report.region = "us-east-1"
# Append report
@@ -46,4 +44,4 @@ class iam_disable_30_days_credentials(Check):
report.region = "us-east-1"
findings.append(report)
return findings
return findings

View File

@@ -4,9 +4,9 @@
"cat2"
],
"CheckAlias": "extra764",
"CheckID": "iam-check-credentials-expiration-90-days",
"CheckName": "iam-check-credentials-expiration-90-days",
"CheckTitle": "IAM Access Analyzer Enabled",
"CheckID": "iam_disable_90_days_credentials",
"CheckName": "iam_disable_90_days_credentials",
"CheckTitle": "Ensure credentials unused for 90 days or greater are disabled",
"CheckType": "Software and Configuration Checks",
"Compliance": [
{
@@ -25,7 +25,7 @@
"othercheck1",
"othercheck2"
],
"Description": "If Security groups are not properly configured the attack surface is increased.",
"Description": "Ensure credentials unused for 90 days or greater are disabled",
"Notes": "additional information",
"Provider": "aws",
"RelatedTo": [

View File

@@ -1,6 +1,6 @@
from datetime import datetime
from lib.check.check import Check, Check_Report
from lib.check.models import Check, Check_Report
from providers.aws.services.iam.iam_service import iam_client
maximum_expiration_days = 90
@@ -32,9 +32,7 @@ class iam_disable_90_days_credentials(Check):
pass
else:
report.status = "PASS"
report.result_extended = (
f"User {user['UserName']} has not a console password or is unused."
)
report.result_extended = f"User {user['UserName']} has not a console password or is unused."
report.region = "us-east-1"
# Append report
@@ -45,4 +43,4 @@ class iam_disable_90_days_credentials(Check):
report.result_extended = "There is no IAM users"
report.region = "us-east-1"
return findings
return findings