diff --git a/prowler/__main__.py b/prowler/__main__.py index 15e0c185..791dd8f4 100644 --- a/prowler/__main__.py +++ b/prowler/__main__.py @@ -58,6 +58,9 @@ def prowler(): severities = args.severity compliance_framework = args.compliance + if not args.no_banner: + print_banner(args) + # Set the audit info based on the selected provider audit_info = set_provider_audit_info(provider, args.__dict__) @@ -72,9 +75,6 @@ def prowler(): # Set Logger configuration set_logging_config(args.log_level, args.log_file, args.only_logs) - if not args.no_banner: - print_banner(args) - if args.list_services: print_services(list_services(provider)) sys.exit() diff --git a/prowler/lib/outputs/file_descriptors.py b/prowler/lib/outputs/file_descriptors.py index 5fda584e..e40b6d0d 100644 --- a/prowler/lib/outputs/file_descriptors.py +++ b/prowler/lib/outputs/file_descriptors.py @@ -100,6 +100,13 @@ def fill_file_descriptors(output_modes, output_directory, output_filename, audit ) file_descriptors.update({output_mode: file_descriptor}) + elif output_mode == "html": + filename = f"{output_directory}/{output_filename}{html_file_suffix}" + file_descriptor = initialize_file_descriptor( + filename, output_mode, audit_info + ) + file_descriptors.update({output_mode: file_descriptor}) + elif isinstance(audit_info, AWS_Audit_Info): if output_mode == "json-asff": filename = f"{output_directory}/{output_filename}{json_asff_file_suffix}" @@ -108,15 +115,6 @@ def fill_file_descriptors(output_modes, output_directory, output_filename, audit ) file_descriptors.update({output_mode: file_descriptor}) - elif output_mode == "html": - filename = ( - f"{output_directory}/{output_filename}{html_file_suffix}" - ) - file_descriptor = initialize_file_descriptor( - filename, output_mode, audit_info - ) - file_descriptors.update({output_mode: file_descriptor}) - elif output_mode == "ens_rd2022_aws": filename = f"{output_directory}/{output_filename}_ens_rd2022_aws{csv_file_suffix}" file_descriptor = initialize_file_descriptor( diff --git a/prowler/lib/outputs/html.py b/prowler/lib/outputs/html.py index 99b74d1d..a25aacf1 100644 --- a/prowler/lib/outputs/html.py +++ b/prowler/lib/outputs/html.py @@ -1,3 +1,4 @@ +import importlib import sys from os import path @@ -8,6 +9,7 @@ from prowler.config.config import ( prowler_version, timestamp, ) +from prowler.lib.check.models import Check_Report_AWS, Check_Report_GCP from prowler.lib.logger import logger from prowler.lib.outputs.models import ( get_check_compliance, @@ -16,18 +18,13 @@ from prowler.lib.outputs.models import ( unroll_tags, ) from prowler.lib.utils.utils import open_file +from prowler.providers.aws.lib.audit_info.models import AWS_Audit_Info +from prowler.providers.azure.lib.audit_info.models import Azure_Audit_Info +from prowler.providers.gcp.lib.audit_info.models import GCP_Audit_Info def add_html_header(file_descriptor, audit_info): try: - if not audit_info.profile: - audit_info.profile = "ENV" - if isinstance(audit_info.audited_regions, list): - audited_regions = " ".join(audit_info.audited_regions) - elif not audit_info.audited_regions: - audited_regions = "All Regions" - else: - audited_regions = audit_info.audited_regions file_descriptor.write( """ @@ -114,51 +111,9 @@ def add_html_header(file_descriptor, audit_info): - -