fix(exit_code): change sys exit code to 1 in Critical Errors (#1853)

This commit is contained in:
Sergio Garcia
2023-02-07 11:43:14 +01:00
committed by GitHub
parent 54c16e3cdb
commit 33a25dcf0e
16 changed files with 36 additions and 36 deletions

View File

@@ -22,7 +22,7 @@ try:
except KeyError:
from prowler.lib.outputs.outputs import report
except Exception:
sys.exit()
sys.exit(1)
from prowler.lib.utils.utils import open_file, parse_json_file
from prowler.providers.common.models import Audit_Metadata
@@ -198,7 +198,7 @@ def print_checks(
logger.critical(
f"Check {error} was not found for the {provider.upper()} provider"
)
sys.exit()
sys.exit(1)
print(
f"\nThere are {Fore.YELLOW}{len(check_list)}{Style.RESET_ALL} available checks.\n"
@@ -252,10 +252,10 @@ def recover_checks_from_provider(provider: str, service: str = None) -> list[tup
checks.append(check_info)
except ModuleNotFoundError:
logger.critical(f"Service {service} was not found for the {provider} provider.")
sys.exit()
sys.exit(1)
except Exception as e:
logger.critical(f"{e.__class__.__name__}[{e.__traceback__.tb_lineno}]: {e}")
sys.exit()
sys.exit(1)
else:
return checks
@@ -354,7 +354,7 @@ def execute_checks(
logger.critical(
f"Check '{check_name}' was not found for the {provider.upper()} provider"
)
sys.exit()
sys.exit(1)
except Exception as error:
logger.error(
f"{check_name} - {error.__class__.__name__}[{error.__traceback__.tb_lineno}]: {error}"
@@ -397,7 +397,7 @@ def execute_checks(
f"Check '{check_name}' was not found for the {provider.upper()} provider"
)
bar.title = f"-> {Fore.RED}Scan was aborted!{Style.RESET_ALL}"
sys.exit()
sys.exit(1)
except Exception as error:
logger.error(
f"{check_name} - {error.__class__.__name__}[{error.__traceback__.tb_lineno}]: {error}"

View File

@@ -43,4 +43,4 @@ def update_checks_metadata_with_compliance(
return bulk_checks_metadata
except Exception as e:
logger.critical(f"{e.__class__.__name__}[{e.__traceback__.tb_lineno}] -- {e}")
sys.exit()
sys.exit(1)

View File

@@ -70,6 +70,6 @@ def load_compliance_framework(
logger.critical(
f"Compliance Framework Specification from {compliance_specification_file} is not valid: {error}"
)
sys.exit()
sys.exit(1)
else:
return compliance_framework

View File

@@ -136,6 +136,6 @@ def load_check_metadata(metadata_file: str) -> Check_Metadata_Model:
check_metadata = Check_Metadata_Model.parse_file(metadata_file)
except ValidationError as error:
logger.critical(f"Metadata from {metadata_file} is not valid: {error}")
sys.exit()
sys.exit(1)
else:
return check_metadata

View File

@@ -325,4 +325,4 @@ def display_compliance_table(
logger.critical(
f"{error.__class__.__name__}:{error.__traceback__.tb_lineno} -- {error}"
)
sys.exit()
sys.exit(1)

View File

@@ -261,7 +261,7 @@ def fill_html_overview_statistics(stats, output_filename, output_directory):
logger.critical(
f"{error.__class__.__name__}[{error.__traceback__.tb_lineno}] -- {error}"
)
sys.exit()
sys.exit(1)
def add_html_footer(output_filename, output_directory):
@@ -364,4 +364,4 @@ def add_html_footer(output_filename, output_directory):
logger.critical(
f"{error.__class__.__name__}[{error.__traceback__.tb_lineno}] -- {error}"
)
sys.exit()
sys.exit(1)

View File

@@ -80,4 +80,4 @@ def close_json(output_filename, output_directory, mode):
logger.critical(
f"{error.__class__.__name__}[{error.__traceback__.tb_lineno}] -- {error}"
)
sys.exit()
sys.exit(1)

View File

@@ -246,7 +246,7 @@ def generate_provider_output_json(provider: str, finding, audit_info, mode: str,
logger.critical(
f"{error.__class__.__name__}[{error.__traceback__.tb_lineno}]: {error}"
)
sys.exit()
sys.exit(1)
else:
return finding_output

View File

@@ -208,7 +208,7 @@ def send_to_s3_bucket(
logger.critical(
f"{error.__class__.__name__}[{error.__traceback__.tb_lineno}] -- {error}"
)
sys.exit()
sys.exit(1)
def extract_findings_statistics(findings: list) -> dict:

View File

@@ -120,7 +120,7 @@ def display_summary_table(
logger.critical(
f"{error.__class__.__name__}:{error.__traceback__.tb_lineno} -- {error}"
)
sys.exit()
sys.exit(1)
def add_service_to_table(findings_table, current):

View File

@@ -15,7 +15,7 @@ def open_file(input_file: str, mode: str = "r") -> TextIOWrapper:
logger.critical(
f"{input_file}: {e.__class__.__name__}[{e.__traceback__.tb_lineno}]"
)
sys.exit()
sys.exit(1)
else:
return f
@@ -28,7 +28,7 @@ def parse_json_file(input_file: TextIOWrapper) -> Any:
logger.critical(
f"{input_file.name}: {e.__class__.__name__}[{e.__traceback__.tb_lineno}]"
)
sys.exit()
sys.exit(1)
else:
return json_file
@@ -41,7 +41,7 @@ def file_exists(filename: str):
logger.critical(
f"{exists_filename.name}: {e.__class__.__name__}[{e.__traceback__.tb_lineno}]"
)
sys.exit()
sys.exit(1)
else:
return exists_filename

View File

@@ -54,7 +54,7 @@ class AWS_Provider:
return session.Session(profile_name=audit_info.profile)
except Exception as error:
logger.critical(f"{error.__class__.__name__} -- {error}")
sys.exit()
sys.exit(1)
# Refresh credentials method using assume role
# This method is called "adding ()" to the name, so it cannot accept arguments
@@ -97,7 +97,7 @@ def assume_role(session: session.Session, assumed_role_info: AWS_Assume_Role) ->
)
except Exception as error:
logger.critical(f"{error.__class__.__name__} -- {error}")
sys.exit()
sys.exit(1)
else:
return assumed_credentials

View File

@@ -78,13 +78,13 @@ def parse_allowlist_file(audit_info, allowlist_file):
logger.critical(
f"{error.__class__.__name__} -- Allowlist YAML is malformed - {error}[{error.__traceback__.tb_lineno}]"
)
sys.exit()
sys.exit(1)
return allowlist
except Exception as error:
logger.critical(
f"{error.__class__.__name__} -- {error}[{error.__traceback__.tb_lineno}]"
)
sys.exit()
sys.exit(1)
def is_allowlisted(allowlist, audited_account, check, region, resource):
@@ -106,7 +106,7 @@ def is_allowlisted(allowlist, audited_account, check, region, resource):
logger.critical(
f"{error.__class__.__name__} -- {error}[{error.__traceback__.tb_lineno}]"
)
sys.exit()
sys.exit(1)
def is_allowlisted_in_check(allowlist, audited_account, check, region, resource):
@@ -129,7 +129,7 @@ def is_allowlisted_in_check(allowlist, audited_account, check, region, resource)
logger.critical(
f"{error.__class__.__name__} -- {error}[{error.__traceback__.tb_lineno}]"
)
sys.exit()
sys.exit(1)
def is_allowlisted_in_region(allowlist, audited_account, check, region, resource):
@@ -158,4 +158,4 @@ def is_allowlisted_in_region(allowlist, audited_account, check, region, resource
logger.critical(
f"{error.__class__.__name__} -- {error}[{error.__traceback__.tb_lineno}]"
)
sys.exit()
sys.exit(1)

View File

@@ -57,7 +57,7 @@ class Azure_Provider:
logger.critical(
f"{error.__class__.__name__}[{error.__traceback__.tb_lineno}] -- {error}"
)
sys.exit()
sys.exit(1)
else:
credentials = InteractiveBrowserCredential()
@@ -72,7 +72,7 @@ class Azure_Provider:
logger.critical(
f"Azure provider: Missing environment variable {env_var} needed to autenticate against Azure"
)
sys.exit()
sys.exit(1)
def __set_identity_info__(
self,
@@ -170,7 +170,7 @@ class Azure_Provider:
logger.critical(
f"{error.__class__.__name__}[{error.__traceback__.tb_lineno}] -- {error}"
)
sys.exit()
sys.exit(1)
return identity

View File

@@ -32,7 +32,7 @@ class Audit_Info:
caller_identity = validate_credentials_client.get_caller_identity()
except Exception as error:
logger.critical(f"{error.__class__.__name__} -- {error}")
sys.exit()
sys.exit(1)
else:
return caller_identity
@@ -79,7 +79,7 @@ Caller Identity ARN: {Fore.YELLOW}[{audit_info.audited_identity_arn}]{Style.RESE
)
except Exception as error:
logger.critical(f"{error.__class__.__name__} -- {error}")
sys.exit()
sys.exit(1)
else:
# Convert Tags dictionary to String
account_details_tags = ""
@@ -162,7 +162,7 @@ Caller Identity ARN: {Fore.YELLOW}[{audit_info.audited_identity_arn}]{Style.RESE
except Exception as error:
logger.critical(f"{error.__class__.__name__} -- {error}")
sys.exit()
sys.exit(1)
else:
logger.info(
@@ -195,7 +195,7 @@ Caller Identity ARN: {Fore.YELLOW}[{audit_info.audited_identity_arn}]{Style.RESE
except Exception as error:
logger.critical(f"{error.__class__.__name__} -- {error}")
sys.exit()
sys.exit(1)
else:
logger.info(
@@ -299,7 +299,7 @@ def set_provider_audit_info(provider: str, arguments: dict):
logger.critical(
f"{error.__class__.__name__}[{error.__traceback__.tb_lineno}]: {error}"
)
sys.exit()
sys.exit(1)
else:
return provider_audit_info
@@ -332,6 +332,6 @@ def get_tagged_resources(input_resource_tags: list, current_audit_info: AWS_Audi
logger.critical(
f"{error.__class__.__name__}[{error.__traceback__.tb_lineno}]: {error}"
)
sys.exit()
sys.exit(1)
else:
return tagged_resources

View File

@@ -24,7 +24,7 @@ def set_provider_output_options(
logger.critical(
f"{error.__class__.__name__}[{error.__traceback__.tb_lineno}]: {error}"
)
sys.exit()
sys.exit(1)
else:
return provider_output_options