prowler 5.7.4__py3-none-any.whl → 5.14.2__py3-none-any.whl
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.
- dashboard/__main__.py +2 -1
- dashboard/assets/markdown-styles.css +34 -0
- dashboard/common_methods.py +350 -0
- dashboard/compliance/c5_aws.py +43 -0
- dashboard/compliance/c5_azure.py +43 -0
- dashboard/compliance/ccc_aws.py +36 -0
- dashboard/compliance/ccc_azure.py +36 -0
- dashboard/compliance/ccc_gcp.py +36 -0
- dashboard/compliance/cis_1_11_kubernetes.py +24 -0
- dashboard/compliance/cis_3_0_oci.py +41 -0
- dashboard/compliance/cis_4_0_azure.py +25 -0
- dashboard/compliance/cis_4_0_gcp.py +24 -0
- dashboard/compliance/fedramp_20x_ksi_low_aws.py +46 -0
- dashboard/compliance/fedramp_20x_ksi_low_azure.py +46 -0
- dashboard/compliance/fedramp_20x_ksi_low_gcp.py +46 -0
- dashboard/compliance/hipaa_gcp.py +25 -0
- dashboard/compliance/iso27001_2022_m365.py +23 -0
- dashboard/compliance/nis2_aws.py +43 -0
- dashboard/compliance/nis2_azure.py +43 -0
- dashboard/compliance/nis2_gcp.py +43 -0
- dashboard/compliance/nist_csf_2_0_aws.py +24 -0
- dashboard/compliance/prowler_threatscore_aws.py +7 -3
- dashboard/compliance/prowler_threatscore_azure.py +7 -3
- dashboard/compliance/prowler_threatscore_gcp.py +7 -3
- dashboard/compliance/prowler_threatscore_kubernetes.py +28 -0
- dashboard/compliance/prowler_threatscore_m365.py +7 -3
- dashboard/compliance/soc2_azure.py +24 -0
- dashboard/lib/cards.py +4 -1
- dashboard/lib/dropdowns.py +25 -0
- dashboard/lib/layouts.py +27 -8
- dashboard/pages/compliance.py +114 -62
- dashboard/pages/overview.py +177 -57
- prowler/AGENTS.md +366 -0
- prowler/CHANGELOG.md +523 -114
- prowler/__main__.py +254 -43
- prowler/compliance/aws/aws_account_security_onboarding_aws.json +1 -0
- prowler/compliance/aws/aws_audit_manager_control_tower_guardrails_aws.json +1 -0
- prowler/compliance/aws/aws_foundational_security_best_practices_aws.json +2 -1
- prowler/compliance/aws/aws_foundational_technical_review_aws.json +3 -2
- prowler/compliance/aws/aws_well_architected_framework_reliability_pillar_aws.json +1 -0
- prowler/compliance/aws/aws_well_architected_framework_security_pillar_aws.json +3 -2
- prowler/compliance/aws/c5_aws.json +10744 -0
- prowler/compliance/aws/ccc_aws.json +6206 -0
- prowler/compliance/aws/cis_1.4_aws.json +1 -0
- prowler/compliance/aws/cis_1.5_aws.json +1 -0
- prowler/compliance/aws/cis_2.0_aws.json +1 -0
- prowler/compliance/aws/cis_3.0_aws.json +1 -0
- prowler/compliance/aws/cis_4.0_aws.json +1 -0
- prowler/compliance/aws/cis_5.0_aws.json +1 -0
- prowler/compliance/aws/cisa_aws.json +1 -0
- prowler/compliance/aws/ens_rd2022_aws.json +1 -0
- prowler/compliance/aws/fedramp_20x_ksi_low_aws.json +347 -0
- prowler/compliance/aws/fedramp_low_revision_4_aws.json +1 -0
- prowler/compliance/aws/fedramp_moderate_revision_4_aws.json +1 -0
- prowler/compliance/aws/ffiec_aws.json +1 -0
- prowler/compliance/aws/gdpr_aws.json +1 -0
- prowler/compliance/aws/gxp_21_cfr_part_11_aws.json +1 -0
- prowler/compliance/aws/gxp_eu_annex_11_aws.json +1 -0
- prowler/compliance/aws/hipaa_aws.json +1 -0
- prowler/compliance/aws/iso27001_2013_aws.json +1 -0
- prowler/compliance/aws/iso27001_2022_aws.json +7 -6
- prowler/compliance/aws/kisa_isms_p_2023_aws.json +1183 -924
- prowler/compliance/aws/kisa_isms_p_2023_korean_aws.json +1308 -1034
- prowler/compliance/aws/mitre_attack_aws.json +297 -21
- prowler/compliance/aws/nis2_aws.json +2105 -0
- prowler/compliance/aws/nist_800_171_revision_2_aws.json +1 -0
- prowler/compliance/aws/nist_800_53_revision_4_aws.json +1 -0
- prowler/compliance/aws/nist_800_53_revision_5_aws.json +1 -0
- prowler/compliance/aws/nist_csf_1.1_aws.json +1 -0
- prowler/compliance/aws/nist_csf_2.0_aws.json +1781 -0
- prowler/compliance/aws/pci_3.2.1_aws.json +2 -1
- prowler/compliance/aws/pci_4.0_aws.json +1 -0
- prowler/compliance/aws/prowler_threatscore_aws.json +680 -573
- prowler/compliance/aws/rbi_cyber_security_framework_aws.json +2 -1
- prowler/compliance/aws/soc2_aws.json +3 -2
- prowler/compliance/azure/c5_azure.json +9471 -0
- prowler/compliance/azure/ccc_azure.json +6147 -0
- prowler/compliance/azure/cis_2.0_azure.json +1 -0
- prowler/compliance/azure/cis_2.1_azure.json +1 -0
- prowler/compliance/azure/cis_3.0_azure.json +1 -0
- prowler/compliance/azure/cis_4.0_azure.json +3088 -0
- prowler/compliance/azure/ens_rd2022_azure.json +1 -0
- prowler/compliance/azure/fedramp_20x_ksi_low_azure.json +358 -0
- prowler/compliance/azure/iso27001_2022_azure.json +1 -0
- prowler/compliance/azure/mitre_attack_azure.json +131 -5
- prowler/compliance/azure/nis2_azure.json +1899 -0
- prowler/compliance/azure/pci_4.0_azure.json +1 -0
- prowler/compliance/azure/prowler_threatscore_azure.json +157 -97
- prowler/compliance/azure/soc2_azure.json +624 -0
- prowler/compliance/gcp/c5_gcp.json +9401 -0
- prowler/compliance/gcp/ccc_gcp.json +6077 -0
- prowler/compliance/gcp/cis_2.0_gcp.json +1 -0
- prowler/compliance/gcp/cis_3.0_gcp.json +1 -0
- prowler/compliance/gcp/cis_4.0_gcp.json +1847 -0
- prowler/compliance/gcp/ens_rd2022_gcp.json +1 -0
- prowler/compliance/gcp/fedramp_20x_ksi_low_gcp.json +293 -0
- prowler/compliance/gcp/hipaa_gcp.json +415 -0
- prowler/compliance/gcp/iso27001_2022_gcp.json +1 -0
- prowler/compliance/gcp/mitre_attack_gcp.json +288 -11
- prowler/compliance/gcp/nis2_gcp.json +1493 -0
- prowler/compliance/gcp/pci_4.0_gcp.json +1 -0
- prowler/compliance/gcp/prowler_threatscore_gcp.json +115 -57
- prowler/compliance/gcp/soc2_gcp.json +1 -0
- prowler/compliance/github/cis_1.0_github.json +846 -848
- prowler/compliance/kubernetes/cis_1.10_kubernetes.json +131 -130
- prowler/compliance/kubernetes/cis_1.11_kubernetes.json +2981 -0
- prowler/compliance/kubernetes/cis_1.8_kubernetes.json +131 -130
- prowler/compliance/kubernetes/iso27001_2022_kubernetes.json +1 -0
- prowler/compliance/kubernetes/pci_4.0_kubernetes.json +2 -1
- prowler/compliance/kubernetes/prowler_threatscore_kubernetes.json +1269 -0
- prowler/compliance/m365/cis_4.0_m365.json +10 -3
- prowler/compliance/m365/iso27001_2022_m365.json +897 -0
- prowler/compliance/m365/prowler_threatscore_m365.json +152 -70
- prowler/compliance/mongodbatlas/__init__.py +0 -0
- prowler/compliance/nhn/iso27001_2022_nhn.json +1 -0
- prowler/compliance/oraclecloud/__init__.py +0 -0
- prowler/compliance/oraclecloud/cis_3.0_oraclecloud.json +1141 -0
- prowler/config/aws_mutelist_example.yaml +1 -16
- prowler/config/config.py +64 -4
- prowler/config/config.yaml +78 -0
- prowler/config/llm_config.yaml +175015 -0
- prowler/config/m365_mutelist_example.yaml +0 -3
- prowler/config/mongodbatlas_mutelist_example.yaml +32 -0
- prowler/config/oraclecloud_mutelist_example.yaml +61 -0
- prowler/lib/check/check.py +53 -1
- prowler/lib/check/checks_loader.py +76 -9
- prowler/lib/check/compliance.py +1 -0
- prowler/lib/check/compliance_models.py +56 -21
- prowler/lib/check/models.py +232 -19
- prowler/lib/check/utils.py +8 -0
- prowler/lib/cli/parser.py +26 -7
- prowler/lib/mutelist/mutelist.py +40 -20
- prowler/lib/outputs/asff/asff.py +2 -2
- prowler/lib/outputs/compliance/aws_well_architected/aws_well_architected.py +7 -2
- prowler/lib/outputs/compliance/aws_well_architected/models.py +4 -2
- prowler/lib/outputs/compliance/c5/__init__.py +0 -0
- prowler/lib/outputs/compliance/c5/c5.py +98 -0
- prowler/lib/outputs/compliance/c5/c5_aws.py +92 -0
- prowler/lib/outputs/compliance/c5/c5_azure.py +92 -0
- prowler/lib/outputs/compliance/c5/c5_gcp.py +92 -0
- prowler/lib/outputs/compliance/c5/models.py +84 -0
- prowler/lib/outputs/compliance/ccc/__init__.py +0 -0
- prowler/lib/outputs/compliance/ccc/ccc_aws.py +96 -0
- prowler/lib/outputs/compliance/ccc/ccc_azure.py +96 -0
- prowler/lib/outputs/compliance/ccc/ccc_gcp.py +96 -0
- prowler/lib/outputs/compliance/ccc/models.py +90 -0
- prowler/lib/outputs/compliance/cis/cis_aws.py +7 -2
- prowler/lib/outputs/compliance/cis/cis_azure.py +7 -2
- prowler/lib/outputs/compliance/cis/cis_gcp.py +7 -2
- prowler/lib/outputs/compliance/cis/cis_github.py +7 -4
- prowler/lib/outputs/compliance/cis/cis_kubernetes.py +7 -4
- prowler/lib/outputs/compliance/cis/cis_m365.py +7 -2
- prowler/lib/outputs/compliance/cis/cis_oraclecloud.py +106 -0
- prowler/lib/outputs/compliance/cis/models.py +66 -10
- prowler/lib/outputs/compliance/compliance.py +10 -0
- prowler/lib/outputs/compliance/compliance_output.py +4 -1
- prowler/lib/outputs/compliance/ens/ens_aws.py +7 -2
- prowler/lib/outputs/compliance/ens/ens_azure.py +7 -2
- prowler/lib/outputs/compliance/ens/ens_gcp.py +7 -2
- prowler/lib/outputs/compliance/ens/models.py +7 -1
- prowler/lib/outputs/compliance/generic/generic.py +7 -2
- prowler/lib/outputs/compliance/generic/models.py +8 -6
- prowler/lib/outputs/compliance/iso27001/iso27001_aws.py +7 -2
- prowler/lib/outputs/compliance/iso27001/iso27001_azure.py +7 -2
- prowler/lib/outputs/compliance/iso27001/iso27001_gcp.py +7 -2
- prowler/lib/outputs/compliance/iso27001/iso27001_kubernetes.py +7 -2
- prowler/lib/outputs/compliance/iso27001/iso27001_m365.py +92 -0
- prowler/lib/outputs/compliance/iso27001/iso27001_nhn.py +7 -2
- prowler/lib/outputs/compliance/iso27001/models.py +38 -1
- prowler/lib/outputs/compliance/kisa_ismsp/kisa_ismsp.py +20 -1
- prowler/lib/outputs/compliance/kisa_ismsp/kisa_ismsp_aws.py +7 -2
- prowler/lib/outputs/compliance/kisa_ismsp/models.py +7 -5
- prowler/lib/outputs/compliance/mitre_attack/mitre_attack_aws.py +7 -2
- prowler/lib/outputs/compliance/mitre_attack/mitre_attack_azure.py +7 -2
- prowler/lib/outputs/compliance/mitre_attack/mitre_attack_gcp.py +7 -2
- prowler/lib/outputs/compliance/mitre_attack/models.py +7 -1
- prowler/lib/outputs/compliance/prowler_threatscore/models.py +46 -5
- prowler/lib/outputs/compliance/prowler_threatscore/prowler_threatscore.py +67 -17
- prowler/lib/outputs/compliance/prowler_threatscore/prowler_threatscore_aws.py +9 -2
- prowler/lib/outputs/compliance/prowler_threatscore/prowler_threatscore_azure.py +9 -2
- prowler/lib/outputs/compliance/prowler_threatscore/prowler_threatscore_gcp.py +9 -2
- prowler/lib/outputs/compliance/prowler_threatscore/prowler_threatscore_kubernetes.py +98 -0
- prowler/lib/outputs/compliance/prowler_threatscore/prowler_threatscore_m365.py +9 -2
- prowler/lib/outputs/csv/csv.py +3 -0
- prowler/lib/outputs/finding.py +74 -6
- prowler/lib/outputs/html/html.py +350 -17
- prowler/lib/outputs/jira/exceptions/exceptions.py +11 -0
- prowler/lib/outputs/jira/jira.py +1337 -452
- prowler/lib/outputs/ocsf/ocsf.py +4 -7
- prowler/lib/outputs/outputs.py +9 -1
- prowler/lib/outputs/summary_table.py +22 -0
- prowler/lib/powershell/powershell.py +12 -11
- prowler/lib/scan/scan.py +105 -24
- prowler/lib/scan_filters/scan_filters.py +1 -1
- prowler/lib/utils/utils.py +1 -1
- prowler/providers/aws/aws_provider.py +35 -20
- prowler/providers/aws/aws_regions_by_service.json +643 -75
- prowler/providers/aws/lib/arn/models.py +2 -2
- prowler/providers/aws/lib/mutelist/mutelist.py +1 -1
- prowler/providers/aws/lib/quick_inventory/quick_inventory.py +4 -1
- prowler/providers/aws/lib/s3/exceptions/exceptions.py +11 -0
- prowler/providers/aws/lib/s3/s3.py +223 -24
- prowler/providers/aws/lib/security_hub/security_hub.py +405 -58
- prowler/providers/aws/lib/session/aws_set_up_session.py +10 -9
- prowler/providers/aws/services/accessanalyzer/accessanalyzer_enabled/accessanalyzer_enabled.metadata.json +27 -13
- prowler/providers/aws/services/accessanalyzer/accessanalyzer_enabled_without_findings/accessanalyzer_enabled_without_findings.metadata.json +32 -13
- prowler/providers/aws/services/accessanalyzer/accessanalyzer_service.py +1 -1
- prowler/providers/aws/services/account/account_maintain_current_contact_details/account_maintain_current_contact_details.metadata.json +23 -11
- prowler/providers/aws/services/account/account_maintain_different_contact_details_to_security_billing_and_operations/account_maintain_different_contact_details_to_security_billing_and_operations.metadata.json +24 -12
- prowler/providers/aws/services/account/account_security_contact_information_is_registered/account_security_contact_information_is_registered.metadata.json +19 -11
- prowler/providers/aws/services/account/account_security_questions_are_registered_in_the_aws_account/account_security_questions_are_registered_in_the_aws_account.metadata.json +14 -10
- prowler/providers/aws/services/account/account_service.py +5 -5
- prowler/providers/aws/services/acm/acm_certificates_expiration_check/acm_certificates_expiration_check.metadata.json +17 -9
- prowler/providers/aws/services/acm/acm_certificates_transparency_logs_enabled/acm_certificates_transparency_logs_enabled.metadata.json +16 -12
- prowler/providers/aws/services/acm/acm_certificates_with_secure_key_algorithms/acm_certificates_with_secure_key_algorithms.metadata.json +21 -12
- prowler/providers/aws/services/acm/acm_service.py +2 -2
- prowler/providers/aws/services/apigateway/apigateway_restapi_authorizers_enabled/apigateway_restapi_authorizers_enabled.metadata.json +23 -16
- prowler/providers/aws/services/apigateway/apigateway_restapi_cache_encrypted/apigateway_restapi_cache_encrypted.metadata.json +22 -12
- prowler/providers/aws/services/apigateway/apigateway_restapi_client_certificate_enabled/apigateway_restapi_client_certificate_enabled.metadata.json +26 -18
- prowler/providers/aws/services/apigateway/apigateway_restapi_logging_enabled/apigateway_restapi_logging_enabled.metadata.json +30 -19
- prowler/providers/aws/services/apigateway/apigateway_restapi_public/apigateway_restapi_public.metadata.json +24 -16
- prowler/providers/aws/services/apigateway/apigateway_restapi_public_with_authorizer/apigateway_restapi_public_with_authorizer.metadata.json +31 -18
- prowler/providers/aws/services/apigateway/apigateway_restapi_tracing_enabled/apigateway_restapi_tracing_enabled.metadata.json +20 -12
- prowler/providers/aws/services/apigateway/apigateway_restapi_waf_acl_attached/apigateway_restapi_waf_acl_attached.metadata.json +24 -18
- prowler/providers/aws/services/apigateway/apigateway_service.py +5 -5
- prowler/providers/aws/services/apigatewayv2/apigatewayv2_api_access_logging_enabled/apigatewayv2_api_access_logging_enabled.metadata.json +19 -13
- prowler/providers/aws/services/apigatewayv2/apigatewayv2_api_authorizers_enabled/apigatewayv2_api_authorizers_enabled.metadata.json +22 -13
- prowler/providers/aws/services/apigatewayv2/apigatewayv2_service.py +1 -1
- prowler/providers/aws/services/appstream/appstream_fleet_default_internet_access_disabled/appstream_fleet_default_internet_access_disabled.metadata.json +23 -15
- prowler/providers/aws/services/appstream/appstream_fleet_maximum_session_duration/appstream_fleet_maximum_session_duration.metadata.json +15 -12
- prowler/providers/aws/services/appstream/appstream_fleet_session_disconnect_timeout/appstream_fleet_session_disconnect_timeout.metadata.json +17 -14
- prowler/providers/aws/services/appstream/appstream_fleet_session_idle_disconnect_timeout/appstream_fleet_session_idle_disconnect_timeout.metadata.json +20 -15
- prowler/providers/aws/services/appstream/appstream_service.py +1 -1
- prowler/providers/aws/services/appsync/appsync_field_level_logging_enabled/appsync_field_level_logging_enabled.metadata.json +21 -12
- prowler/providers/aws/services/appsync/appsync_graphql_api_no_api_key_authentication/appsync_graphql_api_no_api_key_authentication.metadata.json +20 -13
- prowler/providers/aws/services/appsync/appsync_service.py +1 -1
- prowler/providers/aws/services/athena/athena_service.py +1 -1
- prowler/providers/aws/services/athena/athena_workgroup_encryption/athena_workgroup_encryption.metadata.json +24 -12
- prowler/providers/aws/services/athena/athena_workgroup_enforce_configuration/athena_workgroup_enforce_configuration.metadata.json +20 -13
- prowler/providers/aws/services/athena/athena_workgroup_logging_enabled/athena_workgroup_logging_enabled.metadata.json +21 -12
- prowler/providers/aws/services/autoscaling/autoscaling_find_secrets_ec2_launch_configuration/autoscaling_find_secrets_ec2_launch_configuration.metadata.json +15 -10
- prowler/providers/aws/services/autoscaling/autoscaling_group_capacity_rebalance_enabled/autoscaling_group_capacity_rebalance_enabled.metadata.json +20 -13
- prowler/providers/aws/services/autoscaling/autoscaling_group_elb_health_check_enabled/autoscaling_group_elb_health_check_enabled.metadata.json +20 -12
- prowler/providers/aws/services/autoscaling/autoscaling_group_launch_configuration_no_public_ip/autoscaling_group_launch_configuration_no_public_ip.metadata.json +20 -13
- prowler/providers/aws/services/autoscaling/autoscaling_group_launch_configuration_requires_imdsv2/autoscaling_group_launch_configuration_requires_imdsv2.metadata.json +26 -14
- prowler/providers/aws/services/autoscaling/autoscaling_group_multiple_az/autoscaling_group_multiple_az.metadata.json +22 -13
- prowler/providers/aws/services/autoscaling/autoscaling_group_multiple_instance_types/autoscaling_group_multiple_instance_types.metadata.json +21 -13
- prowler/providers/aws/services/autoscaling/autoscaling_group_using_ec2_launch_template/autoscaling_group_using_ec2_launch_template.metadata.json +19 -12
- prowler/providers/aws/services/autoscaling/autoscaling_service.py +2 -2
- prowler/providers/aws/services/awslambda/awslambda_function_inside_vpc/awslambda_function_inside_vpc.metadata.json +26 -13
- prowler/providers/aws/services/awslambda/awslambda_function_invoke_api_operations_cloudtrail_logging_enabled/awslambda_function_invoke_api_operations_cloudtrail_logging_enabled.metadata.json +20 -13
- prowler/providers/aws/services/awslambda/awslambda_function_no_secrets_in_code/awslambda_function_no_secrets_in_code.metadata.json +18 -9
- prowler/providers/aws/services/awslambda/awslambda_function_no_secrets_in_variables/awslambda_function_no_secrets_in_variables.metadata.json +20 -12
- prowler/providers/aws/services/awslambda/awslambda_function_not_publicly_accessible/awslambda_function_not_publicly_accessible.metadata.json +21 -12
- prowler/providers/aws/services/awslambda/awslambda_function_url_cors_policy/awslambda_function_url_cors_policy.metadata.json +24 -13
- prowler/providers/aws/services/awslambda/awslambda_function_url_public/awslambda_function_url_public.metadata.json +22 -12
- prowler/providers/aws/services/awslambda/awslambda_function_using_supported_runtimes/awslambda_function_using_supported_runtimes.metadata.json +21 -12
- prowler/providers/aws/services/awslambda/awslambda_function_vpc_multi_az/awslambda_function_vpc_multi_az.metadata.json +23 -13
- prowler/providers/aws/services/awslambda/awslambda_service.py +5 -5
- prowler/providers/aws/services/backup/backup_plans_exist/backup_plans_exist.metadata.json +22 -15
- prowler/providers/aws/services/backup/backup_recovery_point_encrypted/backup_recovery_point_encrypted.metadata.json +21 -12
- prowler/providers/aws/services/backup/backup_reportplans_exist/backup_reportplans_exist.metadata.json +19 -15
- prowler/providers/aws/services/backup/backup_service.py +7 -7
- prowler/providers/aws/services/backup/backup_vaults_encrypted/backup_vaults_encrypted.metadata.json +24 -13
- prowler/providers/aws/services/backup/backup_vaults_exist/backup_vaults_exist.metadata.json +19 -15
- prowler/providers/aws/services/bedrock/bedrock_api_key_no_administrative_privileges/__init__.py +0 -0
- prowler/providers/aws/services/bedrock/bedrock_api_key_no_administrative_privileges/bedrock_api_key_no_administrative_privileges.metadata.json +36 -0
- prowler/providers/aws/services/bedrock/bedrock_api_key_no_administrative_privileges/bedrock_api_key_no_administrative_privileges.py +57 -0
- prowler/providers/aws/services/bedrock/bedrock_api_key_no_long_term_credentials/__init__.py +0 -0
- prowler/providers/aws/services/bedrock/bedrock_api_key_no_long_term_credentials/bedrock_api_key_no_long_term_credentials.metadata.json +36 -0
- prowler/providers/aws/services/bedrock/bedrock_api_key_no_long_term_credentials/bedrock_api_key_no_long_term_credentials.py +49 -0
- prowler/providers/aws/services/bedrock/bedrock_service.py +3 -3
- prowler/providers/aws/services/cloudformation/cloudformation_service.py +1 -1
- prowler/providers/aws/services/cloudformation/cloudformation_stack_cdktoolkit_bootstrap_version/cloudformation_stack_cdktoolkit_bootstrap_version.metadata.json +24 -13
- prowler/providers/aws/services/cloudformation/cloudformation_stack_outputs_find_secrets/cloudformation_stack_outputs_find_secrets.metadata.json +22 -12
- prowler/providers/aws/services/cloudformation/cloudformation_stacks_termination_protection_enabled/cloudformation_stacks_termination_protection_enabled.metadata.json +21 -12
- prowler/providers/aws/services/cloudfront/cloudfront_distributions_custom_ssl_certificate/cloudfront_distributions_custom_ssl_certificate.metadata.json +21 -12
- prowler/providers/aws/services/cloudfront/cloudfront_distributions_default_root_object/cloudfront_distributions_default_root_object.metadata.json +19 -12
- prowler/providers/aws/services/cloudfront/cloudfront_distributions_field_level_encryption_enabled/cloudfront_distributions_field_level_encryption_enabled.metadata.json +19 -12
- prowler/providers/aws/services/cloudfront/cloudfront_distributions_geo_restrictions_enabled/cloudfront_distributions_geo_restrictions_enabled.metadata.json +22 -13
- prowler/providers/aws/services/cloudfront/cloudfront_distributions_https_enabled/cloudfront_distributions_https_enabled.metadata.json +21 -12
- prowler/providers/aws/services/cloudfront/cloudfront_distributions_https_sni_enabled/cloudfront_distributions_https_sni_enabled.metadata.json +20 -12
- prowler/providers/aws/services/cloudfront/cloudfront_distributions_logging_enabled/cloudfront_distributions_logging_enabled.metadata.json +22 -13
- prowler/providers/aws/services/cloudfront/cloudfront_distributions_multiple_origin_failover_configured/cloudfront_distributions_multiple_origin_failover_configured.metadata.json +21 -16
- prowler/providers/aws/services/cloudfront/cloudfront_distributions_origin_traffic_encrypted/cloudfront_distributions_origin_traffic_encrypted.metadata.json +27 -14
- prowler/providers/aws/services/cloudfront/cloudfront_distributions_s3_origin_access_control/cloudfront_distributions_s3_origin_access_control.metadata.json +24 -14
- prowler/providers/aws/services/cloudfront/cloudfront_distributions_s3_origin_non_existent_bucket/cloudfront_distributions_s3_origin_non_existent_bucket.metadata.json +18 -11
- prowler/providers/aws/services/cloudfront/cloudfront_distributions_using_deprecated_ssl_protocols/cloudfront_distributions_using_deprecated_ssl_protocols.metadata.json +20 -12
- prowler/providers/aws/services/cloudfront/cloudfront_distributions_using_waf/cloudfront_distributions_using_waf.metadata.json +21 -12
- prowler/providers/aws/services/cloudfront/cloudfront_service.py +12 -12
- prowler/providers/aws/services/cloudtrail/cloudtrail_bucket_requires_mfa_delete/cloudtrail_bucket_requires_mfa_delete.metadata.json +16 -11
- prowler/providers/aws/services/cloudtrail/cloudtrail_cloudwatch_logging_enabled/cloudtrail_cloudwatch_logging_enabled.metadata.json +19 -15
- prowler/providers/aws/services/cloudtrail/cloudtrail_insights_exist/cloudtrail_insights_exist.metadata.json +19 -14
- prowler/providers/aws/services/cloudtrail/cloudtrail_kms_encryption_enabled/cloudtrail_kms_encryption_enabled.metadata.json +19 -14
- prowler/providers/aws/services/cloudtrail/cloudtrail_log_file_validation_enabled/cloudtrail_log_file_validation_enabled.metadata.json +20 -13
- prowler/providers/aws/services/cloudtrail/cloudtrail_logs_s3_bucket_access_logging_enabled/cloudtrail_logs_s3_bucket_access_logging_enabled.metadata.json +18 -13
- prowler/providers/aws/services/cloudtrail/cloudtrail_logs_s3_bucket_is_not_publicly_accessible/cloudtrail_logs_s3_bucket_is_not_publicly_accessible.metadata.json +24 -16
- prowler/providers/aws/services/cloudtrail/cloudtrail_multi_region_enabled/cloudtrail_multi_region_enabled.metadata.json +17 -13
- prowler/providers/aws/services/cloudtrail/cloudtrail_multi_region_enabled_logging_management_events/cloudtrail_multi_region_enabled_logging_management_events.metadata.json +19 -12
- prowler/providers/aws/services/cloudtrail/cloudtrail_s3_dataevents_read_enabled/cloudtrail_s3_dataevents_read_enabled.metadata.json +22 -12
- prowler/providers/aws/services/cloudtrail/cloudtrail_s3_dataevents_write_enabled/cloudtrail_s3_dataevents_write_enabled.metadata.json +21 -11
- prowler/providers/aws/services/cloudtrail/cloudtrail_service.py +1 -1
- prowler/providers/aws/services/cloudtrail/cloudtrail_threat_detection_enumeration/cloudtrail_threat_detection_enumeration.metadata.json +22 -11
- prowler/providers/aws/services/cloudtrail/cloudtrail_threat_detection_enumeration/cloudtrail_threat_detection_enumeration.py +2 -0
- prowler/providers/aws/services/cloudtrail/cloudtrail_threat_detection_llm_jacking/cloudtrail_threat_detection_llm_jacking.metadata.json +25 -12
- prowler/providers/aws/services/cloudtrail/cloudtrail_threat_detection_privilege_escalation/cloudtrail_threat_detection_privilege_escalation.metadata.json +18 -10
- prowler/providers/aws/services/cloudwatch/cloudwatch_alarm_actions_alarm_state_configured/cloudwatch_alarm_actions_alarm_state_configured.metadata.json +23 -12
- prowler/providers/aws/services/cloudwatch/cloudwatch_alarm_actions_enabled/cloudwatch_alarm_actions_enabled.metadata.json +21 -12
- prowler/providers/aws/services/cloudwatch/cloudwatch_changes_to_network_acls_alarm_configured/cloudwatch_changes_to_network_acls_alarm_configured.metadata.json +23 -12
- prowler/providers/aws/services/cloudwatch/cloudwatch_changes_to_network_gateways_alarm_configured/cloudwatch_changes_to_network_gateways_alarm_configured.metadata.json +24 -12
- prowler/providers/aws/services/cloudwatch/cloudwatch_changes_to_network_route_tables_alarm_configured/cloudwatch_changes_to_network_route_tables_alarm_configured.metadata.json +21 -12
- prowler/providers/aws/services/cloudwatch/cloudwatch_changes_to_vpcs_alarm_configured/cloudwatch_changes_to_vpcs_alarm_configured.metadata.json +17 -11
- prowler/providers/aws/services/cloudwatch/cloudwatch_cross_account_sharing_disabled/cloudwatch_cross_account_sharing_disabled.metadata.json +20 -12
- prowler/providers/aws/services/cloudwatch/cloudwatch_log_group_kms_encryption_enabled/cloudwatch_log_group_kms_encryption_enabled.metadata.json +22 -13
- prowler/providers/aws/services/cloudwatch/cloudwatch_log_group_no_secrets_in_logs/cloudwatch_log_group_no_secrets_in_logs.metadata.json +22 -17
- prowler/providers/aws/services/cloudwatch/cloudwatch_log_group_not_publicly_accessible/cloudwatch_log_group_not_publicly_accessible.metadata.json +18 -12
- prowler/providers/aws/services/cloudwatch/cloudwatch_log_group_retention_policy_specific_days_enabled/cloudwatch_log_group_retention_policy_specific_days_enabled.metadata.json +27 -13
- prowler/providers/aws/services/cloudwatch/cloudwatch_log_metric_filter_and_alarm_for_aws_config_configuration_changes_enabled/cloudwatch_log_metric_filter_and_alarm_for_aws_config_configuration_changes_enabled.metadata.json +20 -12
- prowler/providers/aws/services/cloudwatch/cloudwatch_log_metric_filter_and_alarm_for_cloudtrail_configuration_changes_enabled/cloudwatch_log_metric_filter_and_alarm_for_cloudtrail_configuration_changes_enabled.metadata.json +22 -12
- prowler/providers/aws/services/cloudwatch/cloudwatch_log_metric_filter_authentication_failures/cloudwatch_log_metric_filter_authentication_failures.metadata.json +25 -12
- prowler/providers/aws/services/cloudwatch/cloudwatch_log_metric_filter_aws_organizations_changes/cloudwatch_log_metric_filter_aws_organizations_changes.metadata.json +23 -12
- prowler/providers/aws/services/cloudwatch/cloudwatch_log_metric_filter_disable_or_scheduled_deletion_of_kms_cmk/cloudwatch_log_metric_filter_disable_or_scheduled_deletion_of_kms_cmk.metadata.json +17 -12
- prowler/providers/aws/services/cloudwatch/cloudwatch_log_metric_filter_for_s3_bucket_policy_changes/cloudwatch_log_metric_filter_for_s3_bucket_policy_changes.metadata.json +21 -12
- prowler/providers/aws/services/cloudwatch/cloudwatch_log_metric_filter_policy_changes/cloudwatch_log_metric_filter_policy_changes.metadata.json +21 -12
- prowler/providers/aws/services/cloudwatch/cloudwatch_log_metric_filter_root_usage/cloudwatch_log_metric_filter_root_usage.metadata.json +27 -12
- prowler/providers/aws/services/cloudwatch/cloudwatch_log_metric_filter_security_group_changes/cloudwatch_log_metric_filter_security_group_changes.metadata.json +22 -12
- prowler/providers/aws/services/cloudwatch/cloudwatch_log_metric_filter_sign_in_without_mfa/cloudwatch_log_metric_filter_sign_in_without_mfa.metadata.json +26 -12
- prowler/providers/aws/services/cloudwatch/cloudwatch_log_metric_filter_unauthorized_api_calls/cloudwatch_log_metric_filter_unauthorized_api_calls.metadata.json +25 -12
- prowler/providers/aws/services/cloudwatch/cloudwatch_service.py +4 -4
- prowler/providers/aws/services/codeartifact/codeartifact_packages_external_public_publishing_disabled/codeartifact_packages_external_public_publishing_disabled.metadata.json +20 -11
- prowler/providers/aws/services/codeartifact/codeartifact_service.py +2 -2
- prowler/providers/aws/services/codebuild/codebuild_project_logging_enabled/codebuild_project_logging_enabled.metadata.json +22 -12
- prowler/providers/aws/services/codebuild/codebuild_project_no_secrets_in_variables/codebuild_project_no_secrets_in_variables.metadata.json +28 -12
- prowler/providers/aws/services/codebuild/codebuild_project_not_publicly_accessible/__init__.py +0 -0
- prowler/providers/aws/services/codebuild/codebuild_project_not_publicly_accessible/codebuild_project_not_publicly_accessible.metadata.json +40 -0
- prowler/providers/aws/services/codebuild/codebuild_project_not_publicly_accessible/codebuild_project_not_publicly_accessible.py +26 -0
- prowler/providers/aws/services/codebuild/codebuild_project_older_90_days/codebuild_project_older_90_days.metadata.json +15 -10
- prowler/providers/aws/services/codebuild/codebuild_project_s3_logs_encrypted/codebuild_project_s3_logs_encrypted.metadata.json +19 -11
- prowler/providers/aws/services/codebuild/codebuild_project_source_repo_url_no_sensitive_credentials/codebuild_project_source_repo_url_no_sensitive_credentials.metadata.json +21 -12
- prowler/providers/aws/services/codebuild/codebuild_project_user_controlled_buildspec/codebuild_project_user_controlled_buildspec.metadata.json +19 -12
- prowler/providers/aws/services/codebuild/codebuild_project_uses_allowed_github_organizations/codebuild_project_uses_allowed_github_organizations.metadata.json +41 -0
- prowler/providers/aws/services/codebuild/codebuild_project_uses_allowed_github_organizations/codebuild_project_uses_allowed_github_organizations.py +57 -0
- prowler/providers/aws/services/codebuild/codebuild_report_group_export_encrypted/codebuild_report_group_export_encrypted.metadata.json +35 -13
- prowler/providers/aws/services/codebuild/codebuild_service.py +12 -8
- prowler/providers/aws/services/codepipeline/__init__.py +0 -0
- prowler/providers/aws/services/codepipeline/codepipeline_client.py +6 -0
- prowler/providers/aws/services/codepipeline/codepipeline_project_repo_private/__init__.py +0 -0
- prowler/providers/aws/services/codepipeline/codepipeline_project_repo_private/codepipeline_project_repo_private.metadata.json +30 -0
- prowler/providers/aws/services/codepipeline/codepipeline_project_repo_private/codepipeline_project_repo_private.py +95 -0
- prowler/providers/aws/services/codepipeline/codepipeline_service.py +164 -0
- prowler/providers/aws/services/cognito/cognito_service.py +1 -1
- prowler/providers/aws/services/cognito/cognito_user_pool_self_registration_disabled/cognito_user_pool_self_registration_disabled.py +4 -1
- prowler/providers/aws/services/config/config_recorder_all_regions_enabled/config_recorder_all_regions_enabled.metadata.json +20 -12
- prowler/providers/aws/services/config/config_recorder_using_aws_service_role/config_recorder_using_aws_service_role.metadata.json +20 -13
- prowler/providers/aws/services/config/config_service.py +1 -1
- prowler/providers/aws/services/datasync/datasync_service.py +1 -1
- prowler/providers/aws/services/directconnect/directconnect_connection_redundancy/directconnect_connection_redundancy.metadata.json +19 -13
- prowler/providers/aws/services/directconnect/directconnect_service.py +1 -1
- prowler/providers/aws/services/directconnect/directconnect_virtual_interface_redundancy/directconnect_virtual_interface_redundancy.metadata.json +19 -13
- prowler/providers/aws/services/directoryservice/directoryservice_directory_log_forwarding_enabled/directoryservice_directory_log_forwarding_enabled.metadata.json +20 -11
- prowler/providers/aws/services/directoryservice/directoryservice_directory_monitor_notifications/directoryservice_directory_monitor_notifications.metadata.json +19 -11
- prowler/providers/aws/services/directoryservice/directoryservice_directory_snapshots_limit/directoryservice_directory_snapshots_limit.metadata.json +19 -10
- prowler/providers/aws/services/directoryservice/directoryservice_ldap_certificate_expiration/directoryservice_ldap_certificate_expiration.metadata.json +20 -11
- prowler/providers/aws/services/directoryservice/directoryservice_radius_server_security_protocol/directoryservice_radius_server_security_protocol.metadata.json +23 -12
- prowler/providers/aws/services/directoryservice/directoryservice_service.py +1 -1
- prowler/providers/aws/services/directoryservice/directoryservice_supported_mfa_radius_enabled/directoryservice_supported_mfa_radius_enabled.metadata.json +23 -12
- prowler/providers/aws/services/dlm/dlm_ebs_snapshot_lifecycle_policy_exists/dlm_ebs_snapshot_lifecycle_policy_exists.metadata.json +19 -13
- prowler/providers/aws/services/dlm/dlm_service.py +1 -1
- prowler/providers/aws/services/dms/dms_endpoint_mongodb_authentication_enabled/dms_endpoint_mongodb_authentication_enabled.metadata.json +20 -13
- prowler/providers/aws/services/dms/dms_endpoint_neptune_iam_authorization_enabled/dms_endpoint_neptune_iam_authorization_enabled.metadata.json +19 -12
- prowler/providers/aws/services/dms/dms_endpoint_redis_in_transit_encryption_enabled/dms_endpoint_redis_in_transit_encryption_enabled.metadata.json +23 -13
- prowler/providers/aws/services/dms/dms_endpoint_ssl_enabled/dms_endpoint_ssl_enabled.metadata.json +27 -19
- prowler/providers/aws/services/dms/dms_instance_minor_version_upgrade_enabled/dms_instance_minor_version_upgrade_enabled.metadata.json +22 -12
- prowler/providers/aws/services/dms/dms_instance_multi_az_enabled/dms_instance_multi_az_enabled.metadata.json +20 -13
- prowler/providers/aws/services/dms/dms_instance_no_public_access/dms_instance_no_public_access.metadata.json +22 -11
- prowler/providers/aws/services/dms/dms_replication_task_source_logging_enabled/dms_replication_task_source_logging_enabled.metadata.json +21 -13
- prowler/providers/aws/services/dms/dms_replication_task_target_logging_enabled/dms_replication_task_target_logging_enabled.metadata.json +22 -13
- prowler/providers/aws/services/dms/dms_replication_task_target_logging_enabled/dms_replication_task_target_logging_enabled.py +39 -37
- prowler/providers/aws/services/dms/dms_service.py +1 -2
- prowler/providers/aws/services/documentdb/documentdb_cluster_backup_enabled/documentdb_cluster_backup_enabled.metadata.json +25 -14
- prowler/providers/aws/services/documentdb/documentdb_cluster_cloudwatch_log_export/documentdb_cluster_cloudwatch_log_export.metadata.json +23 -13
- prowler/providers/aws/services/documentdb/documentdb_cluster_deletion_protection/documentdb_cluster_deletion_protection.metadata.json +24 -13
- prowler/providers/aws/services/documentdb/documentdb_cluster_multi_az_enabled/documentdb_cluster_multi_az_enabled.metadata.json +19 -13
- prowler/providers/aws/services/documentdb/documentdb_cluster_public_snapshot/documentdb_cluster_public_snapshot.metadata.json +20 -10
- prowler/providers/aws/services/documentdb/documentdb_cluster_storage_encrypted/documentdb_cluster_storage_encrypted.metadata.json +26 -13
- prowler/providers/aws/services/documentdb/documentdb_service.py +1 -1
- prowler/providers/aws/services/drs/drs_job_exist/drs_job_exist.metadata.json +20 -10
- prowler/providers/aws/services/drs/drs_service.py +1 -1
- prowler/providers/aws/services/dynamodb/dynamodb_accelerator_cluster_encryption_enabled/dynamodb_accelerator_cluster_encryption_enabled.metadata.json +18 -11
- prowler/providers/aws/services/dynamodb/dynamodb_accelerator_cluster_in_transit_encryption_enabled/dynamodb_accelerator_cluster_in_transit_encryption_enabled.metadata.json +16 -11
- prowler/providers/aws/services/dynamodb/dynamodb_accelerator_cluster_multi_az/dynamodb_accelerator_cluster_multi_az.metadata.json +21 -13
- prowler/providers/aws/services/dynamodb/dynamodb_service.py +1 -1
- prowler/providers/aws/services/dynamodb/dynamodb_table_autoscaling_enabled/dynamodb_table_autoscaling_enabled.metadata.json +20 -12
- prowler/providers/aws/services/dynamodb/dynamodb_table_cross_account_access/dynamodb_table_cross_account_access.metadata.json +17 -10
- prowler/providers/aws/services/dynamodb/dynamodb_table_deletion_protection_enabled/dynamodb_table_deletion_protection_enabled.metadata.json +21 -13
- prowler/providers/aws/services/dynamodb/dynamodb_table_protected_by_backup_plan/dynamodb_table_protected_by_backup_plan.metadata.json +18 -12
- prowler/providers/aws/services/dynamodb/dynamodb_tables_kms_cmk_encryption_enabled/dynamodb_tables_kms_cmk_encryption_enabled.metadata.json +18 -12
- prowler/providers/aws/services/dynamodb/dynamodb_tables_pitr_enabled/dynamodb_tables_pitr_enabled.metadata.json +19 -12
- prowler/providers/aws/services/ec2/ec2_ami_public/ec2_ami_public.py +11 -10
- prowler/providers/aws/services/ec2/ec2_instance_with_outdated_ami/__init__.py +0 -0
- prowler/providers/aws/services/ec2/ec2_instance_with_outdated_ami/ec2_instance_with_outdated_ami.metadata.json +30 -0
- prowler/providers/aws/services/ec2/ec2_instance_with_outdated_ami/ec2_instance_with_outdated_ami.py +52 -0
- prowler/providers/aws/services/ec2/ec2_launch_template_imdsv2_required/ec2_launch_template_imdsv2_required.py +4 -1
- prowler/providers/aws/services/ec2/ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_ftp_20_21/__init__.py +0 -0
- prowler/providers/aws/services/ec2/{ec2_securitygroup_allow_ingress_from_internet_to_tcp_ftp_port_20_21/ec2_securitygroup_allow_ingress_from_internet_to_tcp_ftp_port_20_21.metadata.json → ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_ftp_20_21/ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_ftp_20_21.metadata.json} +4 -1
- prowler/providers/aws/services/ec2/{ec2_securitygroup_allow_ingress_from_internet_to_tcp_ftp_port_20_21/ec2_securitygroup_allow_ingress_from_internet_to_tcp_ftp_port_20_21.py → ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_ftp_20_21/ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_ftp_20_21.py} +1 -1
- prowler/providers/aws/services/ec2/ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_mongodb_27017_27018/__init__.py +0 -0
- prowler/providers/aws/services/ec2/{ec2_securitygroup_allow_ingress_from_internet_to_port_mongodb_27017_27018/ec2_securitygroup_allow_ingress_from_internet_to_port_mongodb_27017_27018.metadata.json → ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_mongodb_27017_27018/ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_mongodb_27017_27018.metadata.json} +4 -1
- prowler/providers/aws/services/ec2/{ec2_securitygroup_allow_ingress_from_internet_to_port_mongodb_27017_27018/ec2_securitygroup_allow_ingress_from_internet_to_port_mongodb_27017_27018.py → ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_mongodb_27017_27018/ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_mongodb_27017_27018.py} +3 -1
- prowler/providers/aws/services/ec2/ec2_service.py +27 -15
- prowler/providers/aws/services/ec2/lib/security_groups.py +7 -0
- prowler/providers/aws/services/ecr/ecr_registry_scan_images_on_push_enabled/ecr_registry_scan_images_on_push_enabled.metadata.json +16 -11
- prowler/providers/aws/services/ecr/ecr_repositories_lifecycle_policy_enabled/ecr_repositories_lifecycle_policy_enabled.metadata.json +22 -13
- prowler/providers/aws/services/ecr/ecr_repositories_not_publicly_accessible/ecr_repositories_not_publicly_accessible.metadata.json +19 -13
- prowler/providers/aws/services/ecr/ecr_repositories_scan_images_on_push_enabled/ecr_repositories_scan_images_on_push_enabled.metadata.json +21 -13
- prowler/providers/aws/services/ecr/ecr_repositories_scan_vulnerabilities_in_latest_image/ecr_repositories_scan_vulnerabilities_in_latest_image.metadata.json +22 -12
- prowler/providers/aws/services/ecr/ecr_repositories_tag_immutability/ecr_repositories_tag_immutability.metadata.json +20 -12
- prowler/providers/aws/services/ecr/ecr_service.py +1 -1
- prowler/providers/aws/services/ecs/ecs_cluster_container_insights_enabled/ecs_cluster_container_insights_enabled.metadata.json +21 -11
- prowler/providers/aws/services/ecs/ecs_cluster_container_insights_enabled/ecs_cluster_container_insights_enabled.py +3 -4
- prowler/providers/aws/services/ecs/ecs_service.py +2 -1
- prowler/providers/aws/services/ecs/ecs_service_fargate_latest_platform_version/ecs_service_fargate_latest_platform_version.metadata.json +20 -11
- prowler/providers/aws/services/ecs/ecs_service_no_assign_public_ip/ecs_service_no_assign_public_ip.metadata.json +18 -12
- prowler/providers/aws/services/ecs/ecs_task_definitions_containers_readonly_access/ecs_task_definitions_containers_readonly_access.metadata.json +20 -13
- prowler/providers/aws/services/ecs/ecs_task_definitions_host_namespace_not_shared/ecs_task_definitions_host_namespace_not_shared.metadata.json +21 -13
- prowler/providers/aws/services/ecs/ecs_task_definitions_host_networking_mode_users/ecs_task_definitions_host_networking_mode_users.metadata.json +26 -13
- prowler/providers/aws/services/ecs/ecs_task_definitions_logging_block_mode/ecs_task_definitions_logging_block_mode.metadata.json +19 -12
- prowler/providers/aws/services/ecs/ecs_task_definitions_logging_enabled/ecs_task_definitions_logging_enabled.metadata.json +18 -12
- prowler/providers/aws/services/ecs/ecs_task_definitions_no_environment_secrets/ecs_task_definitions_no_environment_secrets.metadata.json +16 -12
- prowler/providers/aws/services/ecs/ecs_task_definitions_no_privileged_containers/ecs_task_definitions_no_privileged_containers.metadata.json +21 -14
- prowler/providers/aws/services/ecs/ecs_task_set_no_assign_public_ip/ecs_task_set_no_assign_public_ip.metadata.json +19 -13
- prowler/providers/aws/services/efs/efs_access_point_enforce_root_directory/efs_access_point_enforce_root_directory.metadata.json +19 -13
- prowler/providers/aws/services/efs/efs_access_point_enforce_user_identity/efs_access_point_enforce_user_identity.metadata.json +23 -13
- prowler/providers/aws/services/efs/efs_encryption_at_rest_enabled/efs_encryption_at_rest_enabled.metadata.json +23 -13
- prowler/providers/aws/services/efs/efs_have_backup_enabled/efs_have_backup_enabled.metadata.json +20 -14
- prowler/providers/aws/services/efs/efs_mount_target_not_publicly_accessible/efs_mount_target_not_publicly_accessible.metadata.json +18 -12
- prowler/providers/aws/services/efs/efs_multi_az_enabled/efs_multi_az_enabled.metadata.json +21 -13
- prowler/providers/aws/services/efs/efs_not_publicly_accessible/efs_not_publicly_accessible.metadata.json +17 -13
- prowler/providers/aws/services/efs/efs_service.py +1 -1
- prowler/providers/aws/services/eks/eks_cluster_deletion_protection_enabled/__init__.py +0 -0
- prowler/providers/aws/services/eks/eks_cluster_deletion_protection_enabled/eks_cluster_deletion_protection_enabled.metadata.json +39 -0
- prowler/providers/aws/services/eks/eks_cluster_deletion_protection_enabled/eks_cluster_deletion_protection_enabled.py +21 -0
- prowler/providers/aws/services/eks/eks_cluster_kms_cmk_encryption_in_secrets_enabled/eks_cluster_kms_cmk_encryption_in_secrets_enabled.metadata.json +20 -13
- prowler/providers/aws/services/eks/eks_cluster_network_policy_enabled/eks_cluster_network_policy_enabled.metadata.json +20 -14
- prowler/providers/aws/services/eks/eks_cluster_not_publicly_accessible/eks_cluster_not_publicly_accessible.metadata.json +22 -13
- prowler/providers/aws/services/eks/eks_cluster_private_nodes_enabled/eks_cluster_private_nodes_enabled.metadata.json +19 -13
- prowler/providers/aws/services/eks/eks_cluster_uses_a_supported_version/eks_cluster_uses_a_supported_version.metadata.json +21 -12
- prowler/providers/aws/services/eks/eks_cluster_uses_a_supported_version/eks_cluster_uses_a_supported_version.py +4 -0
- prowler/providers/aws/services/eks/eks_control_plane_logging_all_types_enabled/eks_control_plane_logging_all_types_enabled.metadata.json +20 -13
- prowler/providers/aws/services/eks/eks_service.py +6 -1
- prowler/providers/aws/services/elasticache/elasticache_cluster_uses_public_subnet/elasticache_cluster_uses_public_subnet.metadata.json +20 -12
- prowler/providers/aws/services/elasticache/elasticache_redis_cluster_auto_minor_version_upgrades/elasticache_redis_cluster_auto_minor_version_upgrades.metadata.json +21 -12
- prowler/providers/aws/services/elasticache/elasticache_redis_cluster_automatic_failover_enabled/elasticache_redis_cluster_automatic_failover_enabled.metadata.json +20 -13
- prowler/providers/aws/services/elasticache/elasticache_redis_cluster_backup_enabled/elasticache_redis_cluster_backup_enabled.metadata.json +23 -13
- prowler/providers/aws/services/elasticache/elasticache_redis_cluster_in_transit_encryption_enabled/elasticache_redis_cluster_in_transit_encryption_enabled.metadata.json +21 -12
- prowler/providers/aws/services/elasticache/elasticache_redis_cluster_multi_az_enabled/elasticache_redis_cluster_multi_az_enabled.metadata.json +22 -14
- prowler/providers/aws/services/elasticache/elasticache_redis_cluster_rest_encryption_enabled/elasticache_redis_cluster_rest_encryption_enabled.metadata.json +20 -11
- prowler/providers/aws/services/elasticache/elasticache_redis_replication_group_auth_enabled/elasticache_redis_replication_group_auth_enabled.metadata.json +23 -13
- prowler/providers/aws/services/elasticache/elasticache_service.py +1 -1
- prowler/providers/aws/services/elasticbeanstalk/elasticbeanstalk_environment_cloudwatch_logging_enabled/elasticbeanstalk_environment_cloudwatch_logging_enabled.metadata.json +18 -12
- prowler/providers/aws/services/elasticbeanstalk/elasticbeanstalk_environment_enhanced_health_reporting/elasticbeanstalk_environment_enhanced_health_reporting.metadata.json +17 -12
- prowler/providers/aws/services/elasticbeanstalk/elasticbeanstalk_environment_managed_updates_enabled/elasticbeanstalk_environment_managed_updates_enabled.metadata.json +17 -11
- prowler/providers/aws/services/elasticbeanstalk/elasticbeanstalk_service.py +24 -5
- prowler/providers/aws/services/elb/elb_connection_draining_enabled/elb_connection_draining_enabled.metadata.json +22 -13
- prowler/providers/aws/services/elb/elb_cross_zone_load_balancing_enabled/elb_cross_zone_load_balancing_enabled.metadata.json +24 -13
- prowler/providers/aws/services/elb/elb_desync_mitigation_mode/elb_desync_mitigation_mode.metadata.json +20 -11
- prowler/providers/aws/services/elb/elb_insecure_ssl_ciphers/elb_insecure_ssl_ciphers.metadata.json +20 -10
- prowler/providers/aws/services/elb/elb_internet_facing/elb_internet_facing.metadata.json +20 -11
- prowler/providers/aws/services/elb/elb_is_in_multiple_az/elb_is_in_multiple_az.metadata.json +20 -12
- prowler/providers/aws/services/elb/elb_logging_enabled/elb_logging_enabled.metadata.json +19 -12
- prowler/providers/aws/services/elb/elb_service.py +1 -1
- prowler/providers/aws/services/elb/elb_ssl_listeners/elb_ssl_listeners.metadata.json +19 -11
- prowler/providers/aws/services/elb/elb_ssl_listeners_use_acm_certificate/elb_ssl_listeners_use_acm_certificate.metadata.json +17 -12
- prowler/providers/aws/services/elb/elb_ssl_listeners_use_acm_certificate/elb_ssl_listeners_use_acm_certificate.py +8 -2
- prowler/providers/aws/services/elbv2/elbv2_cross_zone_load_balancing_enabled/elbv2_cross_zone_load_balancing_enabled.metadata.json +21 -13
- prowler/providers/aws/services/elbv2/elbv2_deletion_protection/elbv2_deletion_protection.metadata.json +19 -11
- prowler/providers/aws/services/elbv2/elbv2_desync_mitigation_mode/elbv2_desync_mitigation_mode.metadata.json +21 -12
- prowler/providers/aws/services/elbv2/elbv2_desync_mitigation_mode/elbv2_desync_mitigation_mode.py +1 -1
- prowler/providers/aws/services/elbv2/elbv2_insecure_ssl_ciphers/elbv2_insecure_ssl_ciphers.metadata.json +18 -11
- prowler/providers/aws/services/elbv2/elbv2_internet_facing/elbv2_internet_facing.metadata.json +17 -10
- prowler/providers/aws/services/elbv2/elbv2_is_in_multiple_az/elbv2_is_in_multiple_az.metadata.json +22 -13
- prowler/providers/aws/services/elbv2/elbv2_listeners_underneath/elbv2_listeners_underneath.metadata.json +18 -12
- prowler/providers/aws/services/elbv2/elbv2_logging_enabled/elbv2_logging_enabled.metadata.json +17 -12
- prowler/providers/aws/services/elbv2/elbv2_nlb_tls_termination_enabled/elbv2_nlb_tls_termination_enabled.metadata.json +18 -11
- prowler/providers/aws/services/elbv2/elbv2_service.py +1 -1
- prowler/providers/aws/services/elbv2/elbv2_ssl_listeners/elbv2_ssl_listeners.metadata.json +18 -12
- prowler/providers/aws/services/elbv2/elbv2_waf_acl_attached/elbv2_waf_acl_attached.metadata.json +16 -11
- prowler/providers/aws/services/emr/emr_cluster_account_public_block_enabled/emr_cluster_account_public_block_enabled.metadata.json +21 -13
- prowler/providers/aws/services/emr/emr_cluster_master_nodes_no_public_ip/emr_cluster_master_nodes_no_public_ip.metadata.json +24 -11
- prowler/providers/aws/services/emr/emr_cluster_publicly_accesible/emr_cluster_publicly_accesible.metadata.json +18 -11
- prowler/providers/aws/services/emr/emr_cluster_publicly_accesible/emr_cluster_publicly_accesible.py +2 -2
- prowler/providers/aws/services/emr/emr_service.py +1 -1
- prowler/providers/aws/services/eventbridge/eventbridge_bus_cross_account_access/eventbridge_bus_cross_account_access.metadata.json +26 -13
- prowler/providers/aws/services/eventbridge/eventbridge_bus_exposed/eventbridge_bus_exposed.metadata.json +21 -11
- prowler/providers/aws/services/eventbridge/eventbridge_global_endpoint_event_replication_enabled/eventbridge_global_endpoint_event_replication_enabled.metadata.json +24 -13
- prowler/providers/aws/services/eventbridge/eventbridge_schema_registry_cross_account_access/eventbridge_schema_registry_cross_account_access.metadata.json +26 -14
- prowler/providers/aws/services/eventbridge/eventbridge_service.py +1 -1
- prowler/providers/aws/services/firehose/firehose_service.py +108 -12
- prowler/providers/aws/services/firehose/firehose_stream_encrypted_at_rest/firehose_stream_encrypted_at_rest.metadata.json +26 -15
- prowler/providers/aws/services/firehose/firehose_stream_encrypted_at_rest/firehose_stream_encrypted_at_rest.py +40 -8
- prowler/providers/aws/services/fms/fms_policy_compliant/fms_policy_compliant.metadata.json +23 -11
- prowler/providers/aws/services/fms/fms_service.py +1 -1
- prowler/providers/aws/services/fsx/fsx_file_system_copy_tags_to_backups_enabled/fsx_file_system_copy_tags_to_backups_enabled.metadata.json +19 -12
- prowler/providers/aws/services/fsx/fsx_file_system_copy_tags_to_volumes_enabled/fsx_file_system_copy_tags_to_volumes_enabled.metadata.json +17 -12
- prowler/providers/aws/services/fsx/fsx_service.py +1 -1
- prowler/providers/aws/services/fsx/fsx_windows_file_system_multi_az_enabled/fsx_windows_file_system_multi_az_enabled.metadata.json +22 -13
- prowler/providers/aws/services/glacier/glacier_service.py +1 -1
- prowler/providers/aws/services/glacier/glacier_vaults_policy_public_access/glacier_vaults_policy_public_access.metadata.json +21 -12
- prowler/providers/aws/services/globalaccelerator/globalaccelerator_service.py +1 -1
- prowler/providers/aws/services/glue/glue_service.py +1 -1
- prowler/providers/aws/services/guardduty/guardduty_service.py +1 -1
- prowler/providers/aws/services/iam/iam_aws_attached_policy_no_administrative_privileges/iam_aws_attached_policy_no_administrative_privileges.py +1 -1
- prowler/providers/aws/services/iam/iam_customer_attached_policy_no_administrative_privileges/iam_customer_attached_policy_no_administrative_privileges.py +1 -1
- prowler/providers/aws/services/iam/iam_customer_unattached_policy_no_administrative_privileges/iam_customer_unattached_policy_no_administrative_privileges.py +1 -1
- prowler/providers/aws/services/iam/iam_inline_policy_allows_privilege_escalation/iam_inline_policy_allows_privilege_escalation.py +1 -1
- prowler/providers/aws/services/iam/iam_inline_policy_no_administrative_privileges/iam_inline_policy_no_administrative_privileges.py +1 -1
- prowler/providers/aws/services/iam/iam_inline_policy_no_full_access_to_cloudtrail/iam_inline_policy_no_full_access_to_cloudtrail.py +1 -1
- prowler/providers/aws/services/iam/iam_inline_policy_no_full_access_to_kms/iam_inline_policy_no_full_access_to_kms.py +1 -1
- prowler/providers/aws/services/iam/iam_no_custom_policy_permissive_role_assumption/iam_no_custom_policy_permissive_role_assumption.py +22 -20
- prowler/providers/aws/services/iam/iam_no_root_access_key/iam_no_root_access_key.metadata.json +1 -1
- prowler/providers/aws/services/iam/iam_no_root_access_key/iam_no_root_access_key.py +55 -29
- prowler/providers/aws/services/iam/iam_policy_allows_privilege_escalation/iam_policy_allows_privilege_escalation.py +1 -1
- prowler/providers/aws/services/iam/iam_policy_no_full_access_to_cloudtrail/iam_policy_no_full_access_to_cloudtrail.py +1 -1
- prowler/providers/aws/services/iam/iam_policy_no_full_access_to_kms/iam_policy_no_full_access_to_kms.py +1 -2
- prowler/providers/aws/services/iam/iam_root_hardware_mfa_enabled/iam_root_hardware_mfa_enabled.metadata.json +1 -1
- prowler/providers/aws/services/iam/iam_root_hardware_mfa_enabled/iam_root_hardware_mfa_enabled.py +70 -33
- prowler/providers/aws/services/iam/iam_root_mfa_enabled/iam_root_mfa_enabled.metadata.json +1 -1
- prowler/providers/aws/services/iam/iam_root_mfa_enabled/iam_root_mfa_enabled.py +37 -12
- prowler/providers/aws/services/iam/iam_service.py +116 -78
- prowler/providers/aws/services/iam/iam_user_accesskey_unused/iam_user_accesskey_unused.metadata.json +2 -2
- prowler/providers/aws/services/iam/lib/policy.py +471 -92
- prowler/providers/aws/services/iam/lib/privilege_escalation.py +74 -137
- prowler/providers/aws/services/inspector2/inspector2_service.py +1 -1
- prowler/providers/aws/services/kafka/kafka_cluster_encryption_at_rest_uses_cmk/kafka_cluster_encryption_at_rest_uses_cmk.py +6 -1
- prowler/providers/aws/services/kafka/kafka_cluster_enhanced_monitoring_enabled/kafka_cluster_enhanced_monitoring_enabled.py +6 -1
- prowler/providers/aws/services/kafka/kafka_cluster_in_transit_encryption_enabled/kafka_cluster_in_transit_encryption_enabled.py +6 -1
- prowler/providers/aws/services/kafka/kafka_cluster_is_public/kafka_cluster_is_public.py +8 -3
- prowler/providers/aws/services/kafka/kafka_cluster_mutual_tls_authentication_enabled/kafka_cluster_mutual_tls_authentication_enabled.py +6 -1
- prowler/providers/aws/services/kafka/kafka_cluster_unrestricted_access_disabled/kafka_cluster_unrestricted_access_disabled.py +6 -1
- prowler/providers/aws/services/kafka/kafka_cluster_uses_latest_version/kafka_cluster_uses_latest_version.py +6 -1
- prowler/providers/aws/services/kafka/kafka_service.py +110 -38
- prowler/providers/aws/services/kinesis/kinesis_service.py +1 -1
- prowler/providers/aws/services/kinesis/kinesis_stream_data_retention_period/kinesis_stream_data_retention_period.metadata.json +21 -13
- prowler/providers/aws/services/kinesis/kinesis_stream_encrypted_at_rest/kinesis_stream_encrypted_at_rest.metadata.json +22 -13
- prowler/providers/aws/services/kms/kms_service.py +1 -1
- prowler/providers/aws/services/lightsail/lightsail_service.py +1 -1
- prowler/providers/aws/services/macie/macie_service.py +1 -1
- prowler/providers/aws/services/memorydb/memorydb_service.py +2 -2
- prowler/providers/aws/services/mq/mq_service.py +1 -1
- prowler/providers/aws/services/neptune/neptune_cluster_backup_enabled/neptune_cluster_backup_enabled.metadata.json +23 -13
- prowler/providers/aws/services/neptune/neptune_cluster_copy_tags_to_snapshots/neptune_cluster_copy_tags_to_snapshots.metadata.json +18 -14
- prowler/providers/aws/services/neptune/neptune_cluster_deletion_protection/neptune_cluster_deletion_protection.metadata.json +23 -14
- prowler/providers/aws/services/neptune/neptune_cluster_iam_authentication_enabled/neptune_cluster_iam_authentication_enabled.metadata.json +25 -13
- prowler/providers/aws/services/neptune/neptune_cluster_integration_cloudwatch_logs/neptune_cluster_integration_cloudwatch_logs.metadata.json +22 -14
- prowler/providers/aws/services/neptune/neptune_cluster_multi_az/neptune_cluster_multi_az.metadata.json +20 -12
- prowler/providers/aws/services/neptune/neptune_cluster_public_snapshot/neptune_cluster_public_snapshot.metadata.json +18 -10
- prowler/providers/aws/services/neptune/neptune_cluster_snapshot_encrypted/neptune_cluster_snapshot_encrypted.metadata.json +16 -10
- prowler/providers/aws/services/neptune/neptune_cluster_storage_encrypted/neptune_cluster_storage_encrypted.metadata.json +22 -13
- prowler/providers/aws/services/neptune/neptune_cluster_uses_public_subnet/neptune_cluster_uses_public_subnet.metadata.json +20 -12
- prowler/providers/aws/services/neptune/neptune_service.py +1 -1
- prowler/providers/aws/services/networkfirewall/networkfirewall_deletion_protection/networkfirewall_deletion_protection.metadata.json +1 -1
- prowler/providers/aws/services/networkfirewall/networkfirewall_in_all_vpc/networkfirewall_in_all_vpc.metadata.json +1 -1
- prowler/providers/aws/services/networkfirewall/networkfirewall_logging_enabled/networkfirewall_logging_enabled.metadata.json +1 -1
- prowler/providers/aws/services/networkfirewall/networkfirewall_multi_az/networkfirewall_multi_az.metadata.json +1 -1
- prowler/providers/aws/services/networkfirewall/networkfirewall_policy_default_action_fragmented_packets/networkfirewall_policy_default_action_fragmented_packets.metadata.json +1 -1
- prowler/providers/aws/services/networkfirewall/networkfirewall_policy_default_action_full_packets/networkfirewall_policy_default_action_full_packets.metadata.json +1 -1
- prowler/providers/aws/services/networkfirewall/networkfirewall_policy_rule_group_associated/networkfirewall_policy_rule_group_associated.metadata.json +1 -1
- prowler/providers/aws/services/networkfirewall/networkfirewall_service.py +1 -1
- prowler/providers/aws/services/opensearch/opensearch_service.py +4 -4
- prowler/providers/aws/services/organizations/organizations_scp_check_deny_regions/organizations_scp_check_deny_regions.py +3 -3
- prowler/providers/aws/services/organizations/organizations_service.py +1 -1
- prowler/providers/aws/services/rds/rds_service.py +10 -3
- prowler/providers/aws/services/redshift/redshift_service.py +1 -1
- prowler/providers/aws/services/resourceexplorer2/resourceexplorer2_service.py +1 -1
- prowler/providers/aws/services/route53/route53_service.py +1 -1
- prowler/providers/aws/services/s3/s3_bucket_shadow_resource_vulnerability/__init__.py +0 -0
- prowler/providers/aws/services/s3/s3_bucket_shadow_resource_vulnerability/s3_bucket_shadow_resource_vulnerability.metadata.json +34 -0
- prowler/providers/aws/services/s3/s3_bucket_shadow_resource_vulnerability/s3_bucket_shadow_resource_vulnerability.py +86 -0
- prowler/providers/aws/services/s3/s3_service.py +8 -3
- prowler/providers/aws/services/sagemaker/sagemaker_service.py +1 -1
- prowler/providers/aws/services/secretsmanager/secretsmanager_service.py +17 -1
- prowler/providers/aws/services/securityhub/securityhub_service.py +1 -1
- prowler/providers/aws/services/servicecatalog/servicecatalog_service.py +1 -1
- prowler/providers/aws/services/ses/ses_service.py +1 -1
- prowler/providers/aws/services/shield/shield_service.py +1 -1
- prowler/providers/aws/services/sns/sns_service.py +1 -1
- prowler/providers/aws/services/sns/sns_topics_not_publicly_accessible/sns_topics_not_publicly_accessible.py +22 -36
- prowler/providers/aws/services/sqs/sqs_service.py +4 -1
- prowler/providers/aws/services/ssm/ssm_service.py +16 -1
- prowler/providers/aws/services/ssmincidents/ssmincidents_enabled_with_plans/ssmincidents_enabled_with_plans.metadata.json +1 -1
- prowler/providers/aws/services/ssmincidents/ssmincidents_service.py +1 -1
- prowler/providers/aws/services/stepfunctions/stepfunctions_service.py +1 -1
- prowler/providers/aws/services/storagegateway/storagegateway_service.py +1 -1
- prowler/providers/aws/services/transfer/transfer_service.py +1 -1
- prowler/providers/aws/services/trustedadvisor/trustedadvisor_premium_support_plan_subscribed/trustedadvisor_premium_support_plan_subscribed.metadata.json +1 -1
- prowler/providers/aws/services/trustedadvisor/trustedadvisor_service.py +1 -1
- prowler/providers/aws/services/vpc/vpc_endpoint_multi_az_enabled/vpc_endpoint_multi_az_enabled.py +2 -2
- prowler/providers/aws/services/vpc/vpc_service.py +2 -2
- prowler/providers/aws/services/waf/waf_service.py +1 -1
- prowler/providers/aws/services/wafv2/wafv2_service.py +1 -1
- prowler/providers/aws/services/wellarchitected/wellarchitected_service.py +1 -1
- prowler/providers/aws/services/workspaces/workspaces_service.py +1 -1
- prowler/providers/azure/azure_provider.py +4 -3
- prowler/providers/azure/lib/mutelist/mutelist.py +8 -1
- prowler/providers/azure/lib/service/service.py +3 -0
- prowler/providers/azure/models.py +4 -2
- prowler/providers/azure/services/aisearch/aisearch_service.py +1 -1
- prowler/providers/azure/services/aisearch/aisearch_service_not_publicly_accessible/aisearch_service_not_publicly_accessible.metadata.json +4 -2
- prowler/providers/azure/services/apim/__init__.py +0 -0
- prowler/providers/azure/services/apim/apim_client.py +4 -0
- prowler/providers/azure/services/apim/apim_service.py +252 -0
- prowler/providers/azure/services/apim/apim_threat_detection_llm_jacking/__init__.py +0 -0
- prowler/providers/azure/services/apim/apim_threat_detection_llm_jacking/apim_threat_detection_llm_jacking.metadata.json +34 -0
- prowler/providers/azure/services/apim/apim_threat_detection_llm_jacking/apim_threat_detection_llm_jacking.py +107 -0
- prowler/providers/azure/services/app/app_function_application_insights_enabled/app_function_application_insights_enabled.py +4 -10
- prowler/providers/azure/services/app/app_function_identity_without_admin_privileges/app_function_identity_without_admin_privileges.py +9 -3
- prowler/providers/azure/services/app/app_http_logs_enabled/app_http_logs_enabled.py +4 -0
- prowler/providers/azure/services/app/app_service.py +21 -3
- prowler/providers/azure/services/appinsights/appinsights_service.py +1 -1
- prowler/providers/azure/services/cosmosdb/cosmosdb_service.py +7 -2
- prowler/providers/azure/services/databricks/__init__.py +0 -0
- prowler/providers/azure/services/databricks/databricks_client.py +4 -0
- prowler/providers/azure/services/databricks/databricks_service.py +118 -0
- prowler/providers/azure/services/databricks/databricks_workspace_cmk_encryption_enabled/__init__.py +0 -0
- prowler/providers/azure/services/databricks/databricks_workspace_cmk_encryption_enabled/databricks_workspace_cmk_encryption_enabled.metadata.json +30 -0
- prowler/providers/azure/services/databricks/databricks_workspace_cmk_encryption_enabled/databricks_workspace_cmk_encryption_enabled.py +33 -0
- prowler/providers/azure/services/databricks/databricks_workspace_vnet_injection_enabled/__init__.py +0 -0
- prowler/providers/azure/services/databricks/databricks_workspace_vnet_injection_enabled/databricks_workspace_vnet_injection_enabled.metadata.json +30 -0
- prowler/providers/azure/services/databricks/databricks_workspace_vnet_injection_enabled/databricks_workspace_vnet_injection_enabled.py +32 -0
- prowler/providers/azure/services/defender/defender_additional_email_configured_with_a_security_contact/defender_additional_email_configured_with_a_security_contact.py +14 -15
- prowler/providers/azure/services/defender/defender_attack_path_notifications_properly_configured/__init__.py +0 -0
- prowler/providers/azure/services/defender/defender_attack_path_notifications_properly_configured/defender_attack_path_notifications_properly_configured.metadata.json +30 -0
- prowler/providers/azure/services/defender/defender_attack_path_notifications_properly_configured/defender_attack_path_notifications_properly_configured.py +56 -0
- prowler/providers/azure/services/defender/defender_ensure_notify_alerts_severity_is_high/defender_ensure_notify_alerts_severity_is_high.py +14 -7
- prowler/providers/azure/services/defender/defender_ensure_notify_emails_to_owners/defender_ensure_notify_emails_to_owners.py +17 -10
- prowler/providers/azure/services/defender/defender_service.py +154 -55
- prowler/providers/azure/services/entra/entra_service.py +81 -45
- prowler/providers/azure/services/entra/entra_user_with_vm_access_has_mfa/entra_user_with_vm_access_has_mfa.py +1 -1
- prowler/providers/azure/services/iam/iam_custom_role_has_permissions_to_administer_resource_locks/iam_custom_role_has_permissions_to_administer_resource_locks.py +1 -1
- prowler/providers/azure/services/iam/iam_role_user_access_admin_restricted/__init__.py +0 -0
- prowler/providers/azure/services/iam/iam_role_user_access_admin_restricted/iam_role_user_access_admin_restricted.metadata.json +30 -0
- prowler/providers/azure/services/iam/iam_role_user_access_admin_restricted/iam_role_user_access_admin_restricted.py +29 -0
- prowler/providers/azure/services/iam/iam_service.py +43 -31
- prowler/providers/azure/services/iam/iam_subscription_roles_owner_custom_not_created/iam_subscription_roles_owner_custom_not_created.py +1 -1
- prowler/providers/azure/services/keyvault/keyvault_access_only_through_private_endpoints/__init__.py +0 -0
- prowler/providers/azure/services/keyvault/keyvault_access_only_through_private_endpoints/keyvault_access_only_through_private_endpoints.metadata.json +30 -0
- prowler/providers/azure/services/keyvault/keyvault_access_only_through_private_endpoints/keyvault_access_only_through_private_endpoints.py +37 -0
- prowler/providers/azure/services/keyvault/keyvault_service.py +9 -0
- prowler/providers/azure/services/logs/__init__.py +0 -0
- prowler/providers/azure/services/logs/loganalytics_client.py +4 -0
- prowler/providers/azure/services/logs/logs_service.py +15 -0
- prowler/providers/azure/services/logs/logsquery_client.py +4 -0
- prowler/providers/azure/services/monitor/monitor_alert_service_health_exists/__init__.py +0 -0
- prowler/providers/azure/services/monitor/monitor_alert_service_health_exists/monitor_alert_service_health_exists.metadata.json +30 -0
- prowler/providers/azure/services/monitor/monitor_alert_service_health_exists/monitor_alert_service_health_exists.py +48 -0
- prowler/providers/azure/services/monitor/monitor_service.py +4 -2
- prowler/providers/azure/services/network/network_flow_log_more_than_90_days/network_flow_log_more_than_90_days.metadata.json +1 -1
- prowler/providers/azure/services/network/network_flow_log_more_than_90_days/network_flow_log_more_than_90_days.py +4 -1
- prowler/providers/azure/services/postgresql/postgresql_flexible_server_entra_id_authentication_enabled/__init__.py +0 -0
- prowler/providers/azure/services/postgresql/postgresql_flexible_server_entra_id_authentication_enabled/postgresql_flexible_server_entra_id_authentication_enabled.metadata.json +36 -0
- prowler/providers/azure/services/postgresql/postgresql_flexible_server_entra_id_authentication_enabled/postgresql_flexible_server_entra_id_authentication_enabled.py +43 -0
- prowler/providers/azure/services/postgresql/postgresql_service.py +66 -9
- prowler/providers/azure/services/recovery/recovery_client.py +4 -0
- prowler/providers/azure/services/recovery/recovery_service.py +165 -0
- prowler/providers/azure/services/sqlserver/sqlserver_auditing_enabled/sqlserver_auditing_enabled.py +1 -1
- prowler/providers/azure/services/storage/lib/__init__.py +0 -0
- prowler/providers/azure/services/storage/lib/constants.py +3 -0
- prowler/providers/azure/services/storage/storage_account_key_access_disabled/__init__.py +0 -0
- prowler/providers/azure/services/storage/storage_account_key_access_disabled/storage_account_key_access_disabled.metadata.json +32 -0
- prowler/providers/azure/services/storage/storage_account_key_access_disabled/storage_account_key_access_disabled.py +34 -0
- prowler/providers/azure/services/storage/storage_blob_versioning_is_enabled/__init__.py +0 -0
- prowler/providers/azure/services/storage/storage_blob_versioning_is_enabled/storage_blob_versioning_is_enabled.metadata.json +30 -0
- prowler/providers/azure/services/storage/storage_blob_versioning_is_enabled/storage_blob_versioning_is_enabled.py +24 -0
- prowler/providers/azure/services/storage/storage_cross_tenant_replication_disabled/__init__.py +0 -0
- prowler/providers/azure/services/storage/storage_cross_tenant_replication_disabled/storage_cross_tenant_replication_disabled.metadata.json +30 -0
- prowler/providers/azure/services/storage/storage_cross_tenant_replication_disabled/storage_cross_tenant_replication_disabled.py +34 -0
- prowler/providers/azure/services/storage/storage_default_to_entra_authorization_enabled/__init__.py +0 -0
- prowler/providers/azure/services/storage/storage_default_to_entra_authorization_enabled/storage_default_to_entra_authorization_enabled.metadata.json +30 -0
- prowler/providers/azure/services/storage/storage_default_to_entra_authorization_enabled/storage_default_to_entra_authorization_enabled.py +38 -0
- prowler/providers/azure/services/storage/storage_ensure_file_shares_soft_delete_is_enabled/__init__.py +0 -0
- prowler/providers/azure/services/storage/storage_ensure_file_shares_soft_delete_is_enabled/storage_ensure_file_shares_soft_delete_is_enabled.metadata.json +30 -0
- prowler/providers/azure/services/storage/storage_ensure_file_shares_soft_delete_is_enabled/storage_ensure_file_shares_soft_delete_is_enabled.py +30 -0
- prowler/providers/azure/services/storage/storage_geo_redundant_enabled/__init__.py +0 -0
- prowler/providers/azure/services/storage/storage_geo_redundant_enabled/storage_geo_redundant_enabled.metadata.json +30 -0
- prowler/providers/azure/services/storage/storage_geo_redundant_enabled/storage_geo_redundant_enabled.py +42 -0
- prowler/providers/azure/services/storage/storage_service.py +166 -20
- prowler/providers/azure/services/storage/storage_smb_channel_encryption_with_secure_algorithm/__init__.py +0 -0
- prowler/providers/azure/services/storage/storage_smb_channel_encryption_with_secure_algorithm/storage_smb_channel_encryption_with_secure_algorithm.metadata.json +30 -0
- prowler/providers/azure/services/storage/storage_smb_channel_encryption_with_secure_algorithm/storage_smb_channel_encryption_with_secure_algorithm.py +51 -0
- prowler/providers/azure/services/storage/storage_smb_protocol_version_is_latest/__init__.py +0 -0
- prowler/providers/azure/services/storage/storage_smb_protocol_version_is_latest/storage_smb_protocol_version_is_latest.metadata.json +30 -0
- prowler/providers/azure/services/storage/storage_smb_protocol_version_is_latest/storage_smb_protocol_version_is_latest.py +48 -0
- prowler/providers/azure/services/vm/vm_backup_enabled/__init__.py +0 -0
- prowler/providers/azure/services/vm/vm_backup_enabled/vm_backup_enabled.metadata.json +30 -0
- prowler/providers/azure/services/vm/vm_backup_enabled/vm_backup_enabled.py +50 -0
- prowler/providers/azure/services/vm/vm_desired_sku_size/__init__.py +0 -0
- prowler/providers/azure/services/vm/vm_desired_sku_size/vm_desired_sku_size.metadata.json +30 -0
- prowler/providers/azure/services/vm/vm_desired_sku_size/vm_desired_sku_size.py +49 -0
- prowler/providers/azure/services/vm/vm_ensure_using_approved_images/__init__.py +0 -0
- prowler/providers/azure/services/vm/vm_ensure_using_approved_images/vm_ensure_using_approved_images.metadata.json +30 -0
- prowler/providers/azure/services/vm/vm_ensure_using_approved_images/vm_ensure_using_approved_images.py +33 -0
- prowler/providers/azure/services/vm/vm_ensure_using_managed_disks/vm_ensure_using_managed_disks.py +7 -7
- prowler/providers/azure/services/vm/vm_jit_access_enabled/__init__.py +0 -0
- prowler/providers/azure/services/vm/vm_jit_access_enabled/vm_jit_access_enabled.metadata.json +30 -0
- prowler/providers/azure/services/vm/vm_jit_access_enabled/vm_jit_access_enabled.py +33 -0
- prowler/providers/azure/services/vm/vm_linux_enforce_ssh_authentication/__init__.py +0 -0
- prowler/providers/azure/services/vm/vm_linux_enforce_ssh_authentication/vm_linux_enforce_ssh_authentication.metadata.json +30 -0
- prowler/providers/azure/services/vm/vm_linux_enforce_ssh_authentication/vm_linux_enforce_ssh_authentication.py +29 -0
- prowler/providers/azure/services/vm/vm_scaleset_associated_with_load_balancer/__init__.py +0 -0
- prowler/providers/azure/services/vm/vm_scaleset_associated_with_load_balancer/vm_scaleset_associated_with_load_balancer.metadata.json +30 -0
- prowler/providers/azure/services/vm/vm_scaleset_associated_with_load_balancer/vm_scaleset_associated_with_load_balancer.py +36 -0
- prowler/providers/azure/services/vm/vm_scaleset_not_empty/__init__.py +0 -0
- prowler/providers/azure/services/vm/vm_scaleset_not_empty/vm_scaleset_not_empty.metadata.json +30 -0
- prowler/providers/azure/services/vm/vm_scaleset_not_empty/vm_scaleset_not_empty.py +29 -0
- prowler/providers/azure/services/vm/vm_service.py +221 -29
- prowler/providers/azure/services/vm/vm_sufficient_daily_backup_retention_period/__init__.py +0 -0
- prowler/providers/azure/services/vm/vm_sufficient_daily_backup_retention_period/vm_sufficient_daily_backup_retention_period.metadata.json +30 -0
- prowler/providers/azure/services/vm/vm_sufficient_daily_backup_retention_period/vm_sufficient_daily_backup_retention_period.py +51 -0
- prowler/providers/common/arguments.py +17 -0
- prowler/providers/common/models.py +1 -1
- prowler/providers/common/provider.py +44 -1
- prowler/providers/gcp/config.py +4 -0
- prowler/providers/gcp/gcp_provider.py +54 -9
- prowler/providers/gcp/lib/arguments/arguments.py +16 -0
- prowler/providers/gcp/lib/service/service.py +12 -3
- prowler/providers/gcp/models.py +4 -4
- prowler/providers/gcp/services/apikeys/apikeys_service.py +3 -2
- prowler/providers/gcp/services/artifacts/artifacts_container_analysis_enabled/artifacts_container_analysis_enabled.metadata.json +16 -15
- prowler/providers/gcp/services/bigquery/bigquery_service.py +6 -5
- prowler/providers/gcp/services/cloudresourcemanager/cloudresourcemanager_service.py +40 -7
- prowler/providers/gcp/services/cloudsql/cloudsql_service.py +6 -5
- prowler/providers/gcp/services/cloudstorage/cloudstorage_audit_logs_enabled/__init__.py +0 -0
- prowler/providers/gcp/services/cloudstorage/cloudstorage_audit_logs_enabled/cloudstorage_audit_logs_enabled.metadata.json +36 -0
- prowler/providers/gcp/services/cloudstorage/cloudstorage_audit_logs_enabled/cloudstorage_audit_logs_enabled.py +61 -0
- prowler/providers/gcp/services/cloudstorage/cloudstorage_bucket_lifecycle_management_enabled/__init__.py +0 -0
- prowler/providers/gcp/services/cloudstorage/cloudstorage_bucket_lifecycle_management_enabled/cloudstorage_bucket_lifecycle_management_enabled.metadata.json +34 -0
- prowler/providers/gcp/services/cloudstorage/cloudstorage_bucket_lifecycle_management_enabled/cloudstorage_bucket_lifecycle_management_enabled.py +48 -0
- prowler/providers/gcp/services/cloudstorage/cloudstorage_bucket_log_retention_policy_lock/cloudstorage_bucket_log_retention_policy_lock.metadata.json +12 -9
- prowler/providers/gcp/services/cloudstorage/cloudstorage_bucket_log_retention_policy_lock/cloudstorage_bucket_log_retention_policy_lock.py +10 -3
- prowler/providers/gcp/services/cloudstorage/cloudstorage_bucket_logging_enabled/__init__.py +0 -0
- prowler/providers/gcp/services/cloudstorage/cloudstorage_bucket_logging_enabled/cloudstorage_bucket_logging_enabled.metadata.json +36 -0
- prowler/providers/gcp/services/cloudstorage/cloudstorage_bucket_logging_enabled/cloudstorage_bucket_logging_enabled.py +40 -0
- prowler/providers/gcp/services/cloudstorage/cloudstorage_bucket_soft_delete_enabled/__init__.py +0 -0
- prowler/providers/gcp/services/cloudstorage/cloudstorage_bucket_soft_delete_enabled/cloudstorage_bucket_soft_delete_enabled.metadata.json +36 -0
- prowler/providers/gcp/services/cloudstorage/cloudstorage_bucket_soft_delete_enabled/cloudstorage_bucket_soft_delete_enabled.py +31 -0
- prowler/providers/gcp/services/cloudstorage/cloudstorage_bucket_sufficient_retention_period/__init__.py +0 -0
- prowler/providers/gcp/services/cloudstorage/cloudstorage_bucket_sufficient_retention_period/cloudstorage_bucket_sufficient_retention_period.metadata.json +35 -0
- prowler/providers/gcp/services/cloudstorage/cloudstorage_bucket_sufficient_retention_period/cloudstorage_bucket_sufficient_retention_period.py +55 -0
- prowler/providers/gcp/services/cloudstorage/cloudstorage_bucket_versioning_enabled/__init__.py +0 -0
- prowler/providers/gcp/services/cloudstorage/cloudstorage_bucket_versioning_enabled/cloudstorage_bucket_versioning_enabled.metadata.json +36 -0
- prowler/providers/gcp/services/cloudstorage/cloudstorage_bucket_versioning_enabled/cloudstorage_bucket_versioning_enabled.py +30 -0
- prowler/providers/gcp/services/cloudstorage/cloudstorage_service.py +62 -5
- prowler/providers/gcp/services/compute/compute_firewall_rdp_access_from_the_internet_allowed/compute_firewall_rdp_access_from_the_internet_allowed.metadata.json +1 -1
- prowler/providers/gcp/services/compute/compute_firewall_ssh_access_from_the_internet_allowed/compute_firewall_ssh_access_from_the_internet_allowed.metadata.json +1 -1
- prowler/providers/gcp/services/compute/compute_instance_block_project_wide_ssh_keys_disabled/compute_instance_block_project_wide_ssh_keys_disabled.py +1 -1
- prowler/providers/gcp/services/compute/compute_project_os_login_enabled/compute_project_os_login_enabled.metadata.json +1 -1
- prowler/providers/gcp/services/compute/compute_project_os_login_enabled/compute_project_os_login_enabled.py +5 -0
- prowler/providers/gcp/services/compute/compute_service.py +21 -13
- prowler/providers/gcp/services/dataproc/dataproc_service.py +4 -2
- prowler/providers/gcp/services/dns/dns_service.py +4 -3
- prowler/providers/gcp/services/gke/gke_service.py +7 -3
- prowler/providers/gcp/services/iam/iam_audit_logs_enabled/iam_audit_logs_enabled.metadata.json +1 -1
- prowler/providers/gcp/services/iam/iam_audit_logs_enabled/iam_audit_logs_enabled.py +5 -0
- prowler/providers/gcp/services/iam/iam_no_service_roles_at_project_level/iam_no_service_roles_at_project_level.py +1 -2
- prowler/providers/gcp/services/iam/iam_role_kms_enforce_separation_of_duties/iam_role_kms_enforce_separation_of_duties.py +5 -0
- prowler/providers/gcp/services/iam/iam_sa_user_managed_key_unused/iam_sa_user_managed_key_unused.metadata.json +2 -2
- prowler/providers/gcp/services/iam/iam_sa_user_managed_key_unused/iam_sa_user_managed_key_unused.py +5 -2
- prowler/providers/gcp/services/iam/iam_service.py +8 -5
- prowler/providers/gcp/services/iam/iam_service_account_unused/__init__.py +0 -0
- prowler/providers/gcp/services/iam/iam_service_account_unused/iam_service_account_unused.metadata.json +30 -0
- prowler/providers/gcp/services/iam/iam_service_account_unused/iam_service_account_unused.py +30 -0
- prowler/providers/gcp/services/kms/kms_service.py +11 -7
- prowler/providers/gcp/services/logging/logging_log_metric_filter_and_alert_for_audit_configuration_changes_enabled/logging_log_metric_filter_and_alert_for_audit_configuration_changes_enabled.py +6 -0
- prowler/providers/gcp/services/logging/logging_log_metric_filter_and_alert_for_bucket_permission_changes_enabled/logging_log_metric_filter_and_alert_for_bucket_permission_changes_enabled.py +12 -4
- prowler/providers/gcp/services/logging/logging_log_metric_filter_and_alert_for_custom_role_changes_enabled/logging_log_metric_filter_and_alert_for_custom_role_changes_enabled.py +6 -0
- prowler/providers/gcp/services/logging/logging_log_metric_filter_and_alert_for_project_ownership_changes_enabled/logging_log_metric_filter_and_alert_for_project_ownership_changes_enabled.py +13 -4
- prowler/providers/gcp/services/logging/logging_log_metric_filter_and_alert_for_sql_instance_configuration_changes_enabled/logging_log_metric_filter_and_alert_for_sql_instance_configuration_changes_enabled.py +6 -0
- prowler/providers/gcp/services/logging/logging_log_metric_filter_and_alert_for_vpc_firewall_rule_changes_enabled/logging_log_metric_filter_and_alert_for_vpc_firewall_rule_changes_enabled.py +6 -0
- prowler/providers/gcp/services/logging/logging_log_metric_filter_and_alert_for_vpc_network_changes_enabled/logging_log_metric_filter_and_alert_for_vpc_network_changes_enabled.py +6 -0
- prowler/providers/gcp/services/logging/logging_log_metric_filter_and_alert_for_vpc_network_route_changes_enabled/logging_log_metric_filter_and_alert_for_vpc_network_route_changes_enabled.py +6 -0
- prowler/providers/gcp/services/logging/logging_service.py +4 -3
- prowler/providers/gcp/services/logging/logging_sink_created/logging_sink_created.py +13 -3
- prowler/providers/gcp/services/monitoring/monitoring_service.py +85 -6
- prowler/providers/gcp/services/serviceusage/serviceusage_service.py +3 -2
- prowler/providers/github/exceptions/exceptions.py +11 -0
- prowler/providers/github/github_provider.py +268 -36
- prowler/providers/github/lib/arguments/arguments.py +23 -0
- prowler/providers/github/lib/service/service.py +56 -2
- prowler/providers/github/models.py +6 -1
- prowler/providers/github/services/organization/organization_default_repository_permission_strict/__init__.py +0 -0
- prowler/providers/github/services/organization/organization_default_repository_permission_strict/organization_default_repository_permission_strict.metadata.json +35 -0
- prowler/providers/github/services/organization/organization_default_repository_permission_strict/organization_default_repository_permission_strict.py +36 -0
- prowler/providers/github/services/organization/organization_members_mfa_required/organization_members_mfa_required.metadata.json +14 -8
- prowler/providers/github/services/organization/organization_repository_creation_limited/__init__.py +0 -0
- prowler/providers/github/services/organization/organization_repository_creation_limited/organization_repository_creation_limited.metadata.json +30 -0
- prowler/providers/github/services/organization/organization_repository_creation_limited/organization_repository_creation_limited.py +106 -0
- prowler/providers/github/services/organization/organization_service.py +204 -15
- prowler/providers/github/services/repository/repository_branch_delete_on_merge_enabled/repository_branch_delete_on_merge_enabled.py +3 -9
- prowler/providers/github/services/repository/repository_default_branch_deletion_disabled/repository_default_branch_deletion_disabled.py +3 -5
- prowler/providers/github/services/repository/repository_default_branch_disallows_force_push/repository_default_branch_disallows_force_push.py +5 -11
- prowler/providers/github/services/repository/repository_default_branch_protection_applies_to_admins/repository_default_branch_protection_applies_to_admins.py +3 -5
- prowler/providers/github/services/repository/repository_default_branch_protection_enabled/repository_default_branch_protection_enabled.py +5 -7
- prowler/providers/github/services/repository/repository_default_branch_requires_codeowners_review/__init__.py +0 -0
- prowler/providers/github/services/repository/repository_default_branch_requires_codeowners_review/repository_default_branch_requires_codeowners_review.metadata.json +30 -0
- prowler/providers/github/services/repository/repository_default_branch_requires_codeowners_review/repository_default_branch_requires_codeowners_review.py +36 -0
- prowler/providers/github/services/repository/repository_default_branch_requires_conversation_resolution/repository_default_branch_requires_conversation_resolution.py +5 -11
- prowler/providers/github/services/repository/repository_default_branch_requires_linear_history/repository_default_branch_requires_linear_history.py +5 -7
- prowler/providers/github/services/repository/repository_default_branch_requires_multiple_approvals/repository_default_branch_requires_multiple_approvals.py +3 -5
- prowler/providers/github/services/repository/repository_default_branch_requires_signed_commits/__init__.py +0 -0
- prowler/providers/github/services/repository/repository_default_branch_requires_signed_commits/repository_default_branch_requires_signed_commits.metadata.json +30 -0
- prowler/providers/github/services/repository/repository_default_branch_requires_signed_commits/repository_default_branch_requires_signed_commits.py +36 -0
- prowler/providers/github/services/repository/repository_default_branch_status_checks_required/repository_default_branch_status_checks_required.py +3 -5
- prowler/providers/github/services/repository/repository_dependency_scanning_enabled/__init__.py +0 -0
- prowler/providers/github/services/repository/repository_dependency_scanning_enabled/repository_dependency_scanning_enabled.metadata.json +30 -0
- prowler/providers/github/services/repository/repository_dependency_scanning_enabled/repository_dependency_scanning_enabled.py +36 -0
- prowler/providers/github/services/repository/repository_has_codeowners_file/__init__.py +0 -0
- prowler/providers/github/services/repository/repository_has_codeowners_file/repository_has_codeowners_file.metadata.json +30 -0
- prowler/providers/github/services/repository/repository_has_codeowners_file/repository_has_codeowners_file.py +40 -0
- prowler/providers/github/services/repository/repository_inactive_not_archived/__init__.py +0 -0
- prowler/providers/github/services/repository/repository_inactive_not_archived/repository_inactive_not_archived.metadata.json +30 -0
- prowler/providers/github/services/repository/repository_inactive_not_archived/repository_inactive_not_archived.py +43 -0
- prowler/providers/github/services/repository/repository_public_has_securitymd_file/repository_public_has_securitymd_file.py +1 -3
- prowler/providers/github/services/repository/repository_secret_scanning_enabled/__init__.py +0 -0
- prowler/providers/github/services/repository/repository_secret_scanning_enabled/repository_secret_scanning_enabled.metadata.json +30 -0
- prowler/providers/github/services/repository/repository_secret_scanning_enabled/repository_secret_scanning_enabled.py +36 -0
- prowler/providers/github/services/repository/repository_service.py +366 -97
- prowler/providers/iac/__init__.py +0 -0
- prowler/providers/iac/iac_provider.py +660 -0
- prowler/providers/iac/lib/__init__.py +0 -0
- prowler/providers/iac/lib/arguments/__init__.py +0 -0
- prowler/providers/iac/lib/arguments/arguments.py +83 -0
- prowler/providers/iac/models.py +27 -0
- prowler/providers/kubernetes/kubernetes_provider.py +39 -2
- prowler/providers/kubernetes/services/apiserver/apiserver_strong_ciphers_only/apiserver_strong_ciphers_only.py +7 -9
- prowler/providers/kubernetes/services/controllermanager/controllermanager_bind_address/controllermanager_bind_address.metadata.json +1 -1
- prowler/providers/kubernetes/services/controllermanager/controllermanager_disable_profiling/controllermanager_disable_profiling.metadata.json +1 -1
- prowler/providers/kubernetes/services/controllermanager/controllermanager_garbage_collection/controllermanager_garbage_collection.metadata.json +1 -1
- prowler/providers/kubernetes/services/controllermanager/controllermanager_root_ca_file_set/controllermanager_root_ca_file_set.metadata.json +1 -1
- prowler/providers/kubernetes/services/controllermanager/controllermanager_rotate_kubelet_server_cert/controllermanager_rotate_kubelet_server_cert.metadata.json +1 -1
- prowler/providers/kubernetes/services/controllermanager/controllermanager_service_account_credentials/controllermanager_service_account_credentials.metadata.json +1 -1
- prowler/providers/kubernetes/services/controllermanager/controllermanager_service_account_private_key_file/controllermanager_service_account_private_key_file.metadata.json +1 -1
- prowler/providers/kubernetes/services/core/core_service.py +2 -2
- prowler/providers/kubernetes/services/etcd/etcd_client_cert_auth/etcd_client_cert_auth.metadata.json +18 -13
- prowler/providers/kubernetes/services/etcd/etcd_no_auto_tls/etcd_no_auto_tls.metadata.json +16 -11
- prowler/providers/kubernetes/services/etcd/etcd_no_peer_auto_tls/etcd_no_peer_auto_tls.metadata.json +16 -11
- prowler/providers/kubernetes/services/etcd/etcd_peer_client_cert_auth/etcd_peer_client_cert_auth.metadata.json +18 -13
- prowler/providers/kubernetes/services/etcd/etcd_peer_tls_config/etcd_peer_tls_config.metadata.json +16 -12
- prowler/providers/kubernetes/services/etcd/etcd_tls_encryption/etcd_tls_encryption.metadata.json +16 -11
- prowler/providers/kubernetes/services/etcd/etcd_unique_ca/etcd_unique_ca.metadata.json +16 -10
- prowler/providers/kubernetes/services/rbac/rbac_cluster_admin_usage/rbac_cluster_admin_usage.metadata.json +1 -1
- prowler/providers/kubernetes/services/rbac/rbac_minimize_csr_approval_access/rbac_minimize_csr_approval_access.metadata.json +1 -1
- prowler/providers/kubernetes/services/rbac/rbac_minimize_node_proxy_subresource_access/rbac_minimize_node_proxy_subresource_access.metadata.json +1 -1
- prowler/providers/kubernetes/services/rbac/rbac_minimize_pod_creation_access/rbac_minimize_pod_creation_access.metadata.json +1 -1
- prowler/providers/kubernetes/services/rbac/rbac_minimize_pv_creation_access/rbac_minimize_pv_creation_access.metadata.json +1 -1
- prowler/providers/kubernetes/services/rbac/rbac_minimize_secret_access/rbac_minimize_secret_access.metadata.json +1 -1
- prowler/providers/kubernetes/services/rbac/rbac_minimize_service_account_token_creation/rbac_minimize_service_account_token_creation.metadata.json +1 -1
- prowler/providers/kubernetes/services/rbac/rbac_minimize_webhook_config_access/rbac_minimize_webhook_config_access.metadata.json +1 -1
- prowler/providers/kubernetes/services/rbac/rbac_minimize_wildcard_use_roles/rbac_minimize_wildcard_use_roles.metadata.json +1 -1
- prowler/providers/kubernetes/services/rbac/rbac_service.py +4 -4
- prowler/providers/llm/__init__.py +0 -0
- prowler/providers/llm/lib/__init__.py +0 -0
- prowler/providers/llm/lib/arguments/__init__.py +0 -0
- prowler/providers/llm/lib/arguments/arguments.py +13 -0
- prowler/providers/llm/llm_provider.py +518 -0
- prowler/providers/llm/models.py +27 -0
- prowler/providers/m365/exceptions/exceptions.py +36 -25
- prowler/providers/m365/lib/arguments/arguments.py +19 -4
- prowler/providers/m365/lib/jwt/jwt_decoder.py +68 -0
- prowler/providers/m365/lib/mutelist/mutelist.py +2 -1
- prowler/providers/m365/lib/powershell/m365_powershell.py +233 -122
- prowler/providers/m365/m365_provider.py +344 -175
- prowler/providers/m365/models.py +7 -6
- prowler/providers/m365/services/admincenter/admincenter_external_calendar_sharing_disabled/__init__.py +0 -0
- prowler/providers/m365/services/admincenter/admincenter_external_calendar_sharing_disabled/admincenter_external_calendar_sharing_disabled.metadata.json +32 -0
- prowler/providers/m365/services/admincenter/admincenter_external_calendar_sharing_disabled/admincenter_external_calendar_sharing_disabled.py +52 -0
- prowler/providers/m365/services/admincenter/admincenter_groups_not_public_visibility/admincenter_groups_not_public_visibility.metadata.json +3 -1
- prowler/providers/m365/services/admincenter/admincenter_organization_customer_lockbox_enabled/__init__.py +0 -0
- prowler/providers/m365/services/admincenter/admincenter_organization_customer_lockbox_enabled/admincenter_organization_customer_lockbox_enabled.metadata.json +32 -0
- prowler/providers/m365/services/admincenter/admincenter_organization_customer_lockbox_enabled/admincenter_organization_customer_lockbox_enabled.py +52 -0
- prowler/providers/m365/services/admincenter/admincenter_service.py +128 -41
- prowler/providers/m365/services/admincenter/admincenter_settings_password_never_expire/admincenter_settings_password_never_expire.metadata.json +3 -1
- prowler/providers/m365/services/admincenter/admincenter_settings_password_never_expire/admincenter_settings_password_never_expire.py +15 -13
- prowler/providers/m365/services/admincenter/admincenter_users_admins_reduced_license_footprint/admincenter_users_admins_reduced_license_footprint.metadata.json +3 -1
- prowler/providers/m365/services/admincenter/admincenter_users_between_two_and_four_global_admins/admincenter_users_between_two_and_four_global_admins.metadata.json +3 -1
- prowler/providers/m365/services/defender/defender_antiphishing_policy_configured/defender_antiphishing_policy_configured.metadata.json +3 -1
- prowler/providers/m365/services/defender/defender_antispam_connection_filter_policy_empty_ip_allowlist/defender_antispam_connection_filter_policy_empty_ip_allowlist.metadata.json +3 -1
- prowler/providers/m365/services/defender/defender_antispam_connection_filter_policy_safe_list_off/defender_antispam_connection_filter_policy_safe_list_off.metadata.json +3 -1
- prowler/providers/m365/services/defender/defender_antispam_outbound_policy_configured/defender_antispam_outbound_policy_configured.metadata.json +3 -1
- prowler/providers/m365/services/defender/defender_antispam_outbound_policy_forwarding_disabled/defender_antispam_outbound_policy_forwarding_disabled.metadata.json +3 -1
- prowler/providers/m365/services/defender/defender_antispam_outbound_policy_forwarding_disabled/defender_antispam_outbound_policy_forwarding_disabled.py +1 -1
- prowler/providers/m365/services/defender/defender_antispam_policy_inbound_no_allowed_domains/defender_antispam_policy_inbound_no_allowed_domains.metadata.json +3 -1
- prowler/providers/m365/services/defender/defender_chat_report_policy_configured/defender_chat_report_policy_configured.metadata.json +3 -1
- prowler/providers/m365/services/defender/defender_domain_dkim_enabled/defender_domain_dkim_enabled.metadata.json +3 -1
- prowler/providers/m365/services/defender/defender_domain_dkim_enabled/defender_domain_dkim_enabled.py +1 -1
- prowler/providers/m365/services/defender/defender_malware_policy_common_attachments_filter_enabled/defender_malware_policy_common_attachments_filter_enabled.metadata.json +3 -1
- prowler/providers/m365/services/defender/defender_malware_policy_comprehensive_attachments_filter_applied/defender_malware_policy_comprehensive_attachments_filter_applied.metadata.json +3 -1
- prowler/providers/m365/services/defender/defender_malware_policy_notifications_internal_users_malware_enabled/defender_malware_policy_notifications_internal_users_malware_enabled.metadata.json +3 -1
- prowler/providers/m365/services/defender/defender_service.py +87 -33
- prowler/providers/m365/services/entra/entra_admin_consent_workflow_enabled/entra_admin_consent_workflow_enabled.metadata.json +3 -1
- prowler/providers/m365/services/entra/entra_admin_portals_access_restriction/entra_admin_portals_access_restriction.metadata.json +3 -1
- prowler/providers/m365/services/entra/entra_admin_users_cloud_only/entra_admin_users_cloud_only.metadata.json +3 -1
- prowler/providers/m365/services/entra/entra_admin_users_mfa_enabled/entra_admin_users_mfa_enabled.metadata.json +3 -1
- prowler/providers/m365/services/entra/entra_admin_users_phishing_resistant_mfa_enabled/entra_admin_users_phishing_resistant_mfa_enabled.metadata.json +4 -2
- prowler/providers/m365/services/entra/entra_admin_users_phishing_resistant_mfa_enabled/entra_admin_users_phishing_resistant_mfa_enabled.py +19 -2
- prowler/providers/m365/services/entra/entra_admin_users_sign_in_frequency_enabled/entra_admin_users_sign_in_frequency_enabled.metadata.json +3 -1
- prowler/providers/m365/services/entra/entra_dynamic_group_for_guests_created/entra_dynamic_group_for_guests_created.metadata.json +3 -1
- prowler/providers/m365/services/entra/entra_identity_protection_sign_in_risk_enabled/entra_identity_protection_sign_in_risk_enabled.metadata.json +3 -1
- prowler/providers/m365/services/entra/entra_identity_protection_sign_in_risk_enabled/entra_identity_protection_sign_in_risk_enabled.py +3 -3
- prowler/providers/m365/services/entra/entra_identity_protection_user_risk_enabled/entra_identity_protection_user_risk_enabled.metadata.json +3 -1
- prowler/providers/m365/services/entra/entra_identity_protection_user_risk_enabled/entra_identity_protection_user_risk_enabled.py +7 -7
- prowler/providers/m365/services/entra/entra_intune_enrollment_sign_in_frequency_every_time/__init__.py +0 -0
- prowler/providers/m365/services/entra/entra_intune_enrollment_sign_in_frequency_every_time/entra_intune_enrollment_sign_in_frequency_every_time.metadata.json +33 -0
- prowler/providers/m365/services/entra/entra_intune_enrollment_sign_in_frequency_every_time/entra_intune_enrollment_sign_in_frequency_every_time.py +70 -0
- prowler/providers/m365/services/entra/entra_legacy_authentication_blocked/entra_legacy_authentication_blocked.metadata.json +3 -1
- prowler/providers/m365/services/entra/entra_managed_device_required_for_authentication/entra_managed_device_required_for_authentication.metadata.json +3 -1
- prowler/providers/m365/services/entra/entra_managed_device_required_for_mfa_registration/entra_managed_device_required_for_mfa_registration.metadata.json +3 -1
- prowler/providers/m365/services/entra/entra_password_hash_sync_enabled/entra_password_hash_sync_enabled.metadata.json +3 -1
- prowler/providers/m365/services/entra/entra_policy_ensure_default_user_cannot_create_tenants/entra_policy_ensure_default_user_cannot_create_tenants.metadata.json +3 -1
- prowler/providers/m365/services/entra/entra_policy_guest_invite_only_for_admin_roles/entra_policy_guest_invite_only_for_admin_roles.metadata.json +3 -1
- prowler/providers/m365/services/entra/entra_policy_guest_users_access_restrictions/entra_policy_guest_users_access_restrictions.metadata.json +3 -1
- prowler/providers/m365/services/entra/entra_policy_restricts_user_consent_for_apps/entra_policy_restricts_user_consent_for_apps.metadata.json +3 -1
- prowler/providers/m365/services/entra/entra_service.py +78 -22
- prowler/providers/m365/services/entra/entra_thirdparty_integrated_apps_not_allowed/entra_thirdparty_integrated_apps_not_allowed.metadata.json +3 -1
- prowler/providers/m365/services/entra/entra_users_mfa_capable/__init__.py +0 -0
- prowler/providers/m365/services/entra/entra_users_mfa_capable/entra_users_mfa_capable.metadata.json +32 -0
- prowler/providers/m365/services/entra/entra_users_mfa_capable/entra_users_mfa_capable.py +46 -0
- prowler/providers/m365/services/entra/entra_users_mfa_enabled/entra_users_mfa_enabled.metadata.json +3 -1
- prowler/providers/m365/services/exchange/exchange_external_email_tagging_enabled/exchange_external_email_tagging_enabled.metadata.json +3 -1
- prowler/providers/m365/services/exchange/exchange_mailbox_audit_bypass_disabled/exchange_mailbox_audit_bypass_disabled.metadata.json +3 -1
- prowler/providers/m365/services/exchange/exchange_mailbox_policy_additional_storage_restricted/exchange_mailbox_policy_additional_storage_restricted.metadata.json +3 -1
- prowler/providers/m365/services/exchange/exchange_mailbox_policy_additional_storage_restricted/exchange_mailbox_policy_additional_storage_restricted.py +17 -21
- prowler/providers/m365/services/exchange/exchange_organization_mailbox_auditing_enabled/exchange_organization_mailbox_auditing_enabled.metadata.json +3 -1
- prowler/providers/m365/services/exchange/exchange_organization_mailtips_enabled/exchange_organization_mailtips_enabled.metadata.json +3 -1
- prowler/providers/m365/services/exchange/exchange_organization_modern_authentication_enabled/exchange_organization_modern_authentication_enabled.metadata.json +3 -1
- prowler/providers/m365/services/exchange/exchange_roles_assignment_policy_addins_disabled/exchange_roles_assignment_policy_addins_disabled.metadata.json +3 -1
- prowler/providers/m365/services/exchange/exchange_service.py +38 -24
- prowler/providers/m365/services/exchange/exchange_transport_config_smtp_auth_disabled/exchange_transport_config_smtp_auth_disabled.metadata.json +3 -1
- prowler/providers/m365/services/exchange/exchange_transport_rules_mail_forwarding_disabled/exchange_transport_rules_mail_forwarding_disabled.metadata.json +3 -1
- prowler/providers/m365/services/exchange/exchange_transport_rules_whitelist_disabled/exchange_transport_rules_whitelist_disabled.metadata.json +3 -1
- prowler/providers/m365/services/exchange/exchange_user_mailbox_auditing_enabled/exchange_user_mailbox_auditing_enabled.metadata.json +4 -1
- prowler/providers/m365/services/purview/purview_audit_log_search_enabled/purview_audit_log_search_enabled.metadata.json +3 -1
- prowler/providers/m365/services/purview/purview_service.py +3 -3
- prowler/providers/m365/services/sharepoint/sharepoint_external_sharing_managed/sharepoint_external_sharing_managed.metadata.json +3 -1
- prowler/providers/m365/services/sharepoint/sharepoint_external_sharing_managed/sharepoint_external_sharing_managed.py +10 -8
- prowler/providers/m365/services/sharepoint/sharepoint_external_sharing_restricted/sharepoint_external_sharing_restricted.metadata.json +3 -1
- prowler/providers/m365/services/sharepoint/sharepoint_external_sharing_restricted/sharepoint_external_sharing_restricted.py +1 -1
- prowler/providers/m365/services/sharepoint/sharepoint_guest_sharing_restricted/sharepoint_guest_sharing_restricted.metadata.json +3 -1
- prowler/providers/m365/services/sharepoint/sharepoint_guest_sharing_restricted/sharepoint_guest_sharing_restricted.py +1 -1
- prowler/providers/m365/services/sharepoint/sharepoint_modern_authentication_required/sharepoint_modern_authentication_required.metadata.json +3 -1
- prowler/providers/m365/services/sharepoint/sharepoint_modern_authentication_required/sharepoint_modern_authentication_required.py +1 -1
- prowler/providers/m365/services/sharepoint/sharepoint_onedrive_sync_restricted_unmanaged_devices/sharepoint_onedrive_sync_restricted_unmanaged_devices.metadata.json +3 -1
- prowler/providers/m365/services/sharepoint/sharepoint_onedrive_sync_restricted_unmanaged_devices/sharepoint_onedrive_sync_restricted_unmanaged_devices.py +1 -1
- prowler/providers/m365/services/sharepoint/sharepoint_service.py +25 -4
- prowler/providers/m365/services/teams/teams_email_sending_to_channel_disabled/teams_email_sending_to_channel_disabled.metadata.json +3 -1
- prowler/providers/m365/services/teams/teams_external_domains_restricted/teams_external_domains_restricted.metadata.json +3 -1
- prowler/providers/m365/services/teams/teams_external_file_sharing_restricted/teams_external_file_sharing_restricted.metadata.json +3 -1
- prowler/providers/m365/services/teams/teams_external_users_cannot_start_conversations/teams_external_users_cannot_start_conversations.metadata.json +3 -1
- prowler/providers/m365/services/teams/teams_meeting_anonymous_user_join_disabled/teams_meeting_anonymous_user_join_disabled.metadata.json +3 -1
- prowler/providers/m365/services/teams/teams_meeting_anonymous_user_start_disabled/teams_meeting_anonymous_user_start_disabled.metadata.json +3 -1
- prowler/providers/m365/services/teams/teams_meeting_chat_anonymous_users_disabled/teams_meeting_chat_anonymous_users_disabled.metadata.json +3 -1
- prowler/providers/m365/services/teams/teams_meeting_dial_in_lobby_bypass_disabled/teams_meeting_dial_in_lobby_bypass_disabled.metadata.json +3 -1
- prowler/providers/m365/services/teams/teams_meeting_external_chat_disabled/teams_meeting_external_chat_disabled.metadata.json +3 -1
- prowler/providers/m365/services/teams/teams_meeting_external_control_disabled/teams_meeting_external_control_disabled.metadata.json +3 -1
- prowler/providers/m365/services/teams/teams_meeting_external_lobby_bypass_disabled/teams_meeting_external_lobby_bypass_disabled.metadata.json +3 -1
- prowler/providers/m365/services/teams/teams_meeting_presenters_restricted/teams_meeting_presenters_restricted.metadata.json +3 -1
- prowler/providers/m365/services/teams/teams_meeting_recording_disabled/teams_meeting_recording_disabled.metadata.json +3 -1
- prowler/providers/m365/services/teams/teams_security_reporting_enabled/teams_security_reporting_enabled.metadata.json +3 -1
- prowler/providers/m365/services/teams/teams_service.py +6 -6
- prowler/providers/m365/services/teams/teams_unmanaged_communication_disabled/teams_unmanaged_communication_disabled.metadata.json +3 -1
- prowler/providers/mongodbatlas/__init__.py +0 -0
- prowler/providers/mongodbatlas/config.py +2 -0
- prowler/providers/mongodbatlas/exceptions/__init__.py +0 -0
- prowler/providers/mongodbatlas/exceptions/exceptions.py +134 -0
- prowler/providers/mongodbatlas/lib/__init__.py +0 -0
- prowler/providers/mongodbatlas/lib/arguments/__init__.py +0 -0
- prowler/providers/mongodbatlas/lib/arguments/arguments.py +45 -0
- prowler/providers/mongodbatlas/lib/mutelist/__init__.py +0 -0
- prowler/providers/mongodbatlas/lib/mutelist/mutelist.py +30 -0
- prowler/providers/mongodbatlas/lib/service/__init__.py +0 -0
- prowler/providers/mongodbatlas/lib/service/service.py +172 -0
- prowler/providers/mongodbatlas/models.py +39 -0
- prowler/providers/mongodbatlas/mongodbatlas_provider.py +335 -0
- prowler/providers/mongodbatlas/services/__init__.py +0 -0
- prowler/providers/mongodbatlas/services/clusters/__init__.py +0 -0
- prowler/providers/mongodbatlas/services/clusters/clusters_authentication_enabled/__init__.py +0 -0
- prowler/providers/mongodbatlas/services/clusters/clusters_authentication_enabled/clusters_authentication_enabled.metadata.json +30 -0
- prowler/providers/mongodbatlas/services/clusters/clusters_authentication_enabled/clusters_authentication_enabled.py +45 -0
- prowler/providers/mongodbatlas/services/clusters/clusters_backup_enabled/__init__.py +0 -0
- prowler/providers/mongodbatlas/services/clusters/clusters_backup_enabled/clusters_backup_enabled.metadata.json +30 -0
- prowler/providers/mongodbatlas/services/clusters/clusters_backup_enabled/clusters_backup_enabled.py +45 -0
- prowler/providers/mongodbatlas/services/clusters/clusters_client.py +4 -0
- prowler/providers/mongodbatlas/services/clusters/clusters_encryption_at_rest_enabled/__init__.py +0 -0
- prowler/providers/mongodbatlas/services/clusters/clusters_encryption_at_rest_enabled/clusters_encryption_at_rest_enabled.metadata.json +30 -0
- prowler/providers/mongodbatlas/services/clusters/clusters_encryption_at_rest_enabled/clusters_encryption_at_rest_enabled.py +71 -0
- prowler/providers/mongodbatlas/services/clusters/clusters_service.py +140 -0
- prowler/providers/mongodbatlas/services/clusters/clusters_tls_enabled/__init__.py +0 -0
- prowler/providers/mongodbatlas/services/clusters/clusters_tls_enabled/clusters_tls_enabled.metadata.json +30 -0
- prowler/providers/mongodbatlas/services/clusters/clusters_tls_enabled/clusters_tls_enabled.py +45 -0
- prowler/providers/mongodbatlas/services/organizations/__init__.py +0 -0
- prowler/providers/mongodbatlas/services/organizations/organizations_api_access_list_required/__init__.py +0 -0
- prowler/providers/mongodbatlas/services/organizations/organizations_api_access_list_required/organizations_api_access_list_required.metadata.json +30 -0
- prowler/providers/mongodbatlas/services/organizations/organizations_api_access_list_required/organizations_api_access_list_required.py +47 -0
- prowler/providers/mongodbatlas/services/organizations/organizations_client.py +6 -0
- prowler/providers/mongodbatlas/services/organizations/organizations_mfa_required/__init__.py +0 -0
- prowler/providers/mongodbatlas/services/organizations/organizations_mfa_required/organizations_mfa_required.metadata.json +30 -0
- prowler/providers/mongodbatlas/services/organizations/organizations_mfa_required/organizations_mfa_required.py +47 -0
- prowler/providers/mongodbatlas/services/organizations/organizations_security_contact_defined/__init__.py +0 -0
- prowler/providers/mongodbatlas/services/organizations/organizations_security_contact_defined/organizations_security_contact_defined.metadata.json +30 -0
- prowler/providers/mongodbatlas/services/organizations/organizations_security_contact_defined/organizations_security_contact_defined.py +47 -0
- prowler/providers/mongodbatlas/services/organizations/organizations_service.py +97 -0
- prowler/providers/mongodbatlas/services/organizations/organizations_service_account_secrets_expiration/__init__.py +0 -0
- prowler/providers/mongodbatlas/services/organizations/organizations_service_account_secrets_expiration/organizations_service_account_secrets_expiration.metadata.json +30 -0
- prowler/providers/mongodbatlas/services/organizations/organizations_service_account_secrets_expiration/organizations_service_account_secrets_expiration.py +66 -0
- prowler/providers/mongodbatlas/services/projects/__init__.py +0 -0
- prowler/providers/mongodbatlas/services/projects/projects_auditing_enabled/__init__.py +0 -0
- prowler/providers/mongodbatlas/services/projects/projects_auditing_enabled/projects_auditing_enabled.metadata.json +41 -0
- prowler/providers/mongodbatlas/services/projects/projects_auditing_enabled/projects_auditing_enabled.py +48 -0
- prowler/providers/mongodbatlas/services/projects/projects_client.py +4 -0
- prowler/providers/mongodbatlas/services/projects/projects_network_access_list_exposed_to_internet/__init__.py +0 -0
- prowler/providers/mongodbatlas/services/projects/projects_network_access_list_exposed_to_internet/projects_network_access_list_exposed_to_internet.metadata.json +35 -0
- prowler/providers/mongodbatlas/services/projects/projects_network_access_list_exposed_to_internet/projects_network_access_list_exposed_to_internet.py +61 -0
- prowler/providers/mongodbatlas/services/projects/projects_service.py +245 -0
- prowler/providers/nhn/models.py +1 -1
- prowler/providers/nhn/services/compute/compute_instance_login_user/compute_instance_login_user.py +1 -1
- prowler/providers/nhn/services/compute/compute_service.py +1 -1
- prowler/providers/nhn/services/network/network_service.py +1 -1
- prowler/providers/oraclecloud/__init__.py +0 -0
- prowler/providers/oraclecloud/config.py +61 -0
- prowler/providers/oraclecloud/exceptions/__init__.py +0 -0
- prowler/providers/oraclecloud/exceptions/exceptions.py +197 -0
- prowler/providers/oraclecloud/lib/__init__.py +0 -0
- prowler/providers/oraclecloud/lib/arguments/__init__.py +0 -0
- prowler/providers/oraclecloud/lib/arguments/arguments.py +114 -0
- prowler/providers/oraclecloud/lib/mutelist/__init__.py +0 -0
- prowler/providers/oraclecloud/lib/mutelist/mutelist.py +176 -0
- prowler/providers/oraclecloud/lib/service/__init__.py +0 -0
- prowler/providers/oraclecloud/lib/service/service.py +213 -0
- prowler/providers/oraclecloud/models.py +96 -0
- prowler/providers/oraclecloud/oraclecloud_provider.py +1038 -0
- prowler/providers/oraclecloud/services/__init__.py +0 -0
- prowler/providers/oraclecloud/services/analytics/__init__.py +0 -0
- prowler/providers/oraclecloud/services/analytics/analytics_client.py +6 -0
- prowler/providers/oraclecloud/services/analytics/analytics_instance_access_restricted/__init__.py +0 -0
- prowler/providers/oraclecloud/services/analytics/analytics_instance_access_restricted/analytics_instance_access_restricted.metadata.json +40 -0
- prowler/providers/oraclecloud/services/analytics/analytics_instance_access_restricted/analytics_instance_access_restricted.py +48 -0
- prowler/providers/oraclecloud/services/analytics/analytics_service.py +99 -0
- prowler/providers/oraclecloud/services/audit/__init__.py +0 -0
- prowler/providers/oraclecloud/services/audit/audit_client.py +4 -0
- prowler/providers/oraclecloud/services/audit/audit_log_retention_period_365_days/__init__.py +0 -0
- prowler/providers/oraclecloud/services/audit/audit_log_retention_period_365_days/audit_log_retention_period_365_days.metadata.json +37 -0
- prowler/providers/oraclecloud/services/audit/audit_log_retention_period_365_days/audit_log_retention_period_365_days.py +46 -0
- prowler/providers/oraclecloud/services/audit/audit_service.py +57 -0
- prowler/providers/oraclecloud/services/blockstorage/__init__.py +0 -0
- prowler/providers/oraclecloud/services/blockstorage/blockstorage_block_volume_encrypted_with_cmk/__init__.py +0 -0
- prowler/providers/oraclecloud/services/blockstorage/blockstorage_block_volume_encrypted_with_cmk/blockstorage_block_volume_encrypted_with_cmk.metadata.json +35 -0
- prowler/providers/oraclecloud/services/blockstorage/blockstorage_block_volume_encrypted_with_cmk/blockstorage_block_volume_encrypted_with_cmk.py +39 -0
- prowler/providers/oraclecloud/services/blockstorage/blockstorage_boot_volume_encrypted_with_cmk/__init__.py +0 -0
- prowler/providers/oraclecloud/services/blockstorage/blockstorage_boot_volume_encrypted_with_cmk/blockstorage_boot_volume_encrypted_with_cmk.metadata.json +36 -0
- prowler/providers/oraclecloud/services/blockstorage/blockstorage_boot_volume_encrypted_with_cmk/blockstorage_boot_volume_encrypted_with_cmk.py +35 -0
- prowler/providers/oraclecloud/services/blockstorage/blockstorage_client.py +6 -0
- prowler/providers/oraclecloud/services/blockstorage/blockstorage_service.py +182 -0
- prowler/providers/oraclecloud/services/cloudguard/__init__.py +0 -0
- prowler/providers/oraclecloud/services/cloudguard/cloudguard_client.py +6 -0
- prowler/providers/oraclecloud/services/cloudguard/cloudguard_enabled/__init__.py +0 -0
- prowler/providers/oraclecloud/services/cloudguard/cloudguard_enabled/cloudguard_enabled.metadata.json +35 -0
- prowler/providers/oraclecloud/services/cloudguard/cloudguard_enabled/cloudguard_enabled.py +39 -0
- prowler/providers/oraclecloud/services/cloudguard/cloudguard_service.py +63 -0
- prowler/providers/oraclecloud/services/compute/__init__.py +0 -0
- prowler/providers/oraclecloud/services/compute/compute_client.py +4 -0
- prowler/providers/oraclecloud/services/compute/compute_instance_in_transit_encryption_enabled/__init__.py +0 -0
- prowler/providers/oraclecloud/services/compute/compute_instance_in_transit_encryption_enabled/compute_instance_in_transit_encryption_enabled.metadata.json +37 -0
- prowler/providers/oraclecloud/services/compute/compute_instance_in_transit_encryption_enabled/compute_instance_in_transit_encryption_enabled.py +38 -0
- prowler/providers/oraclecloud/services/compute/compute_instance_legacy_metadata_endpoint_disabled/__init__.py +0 -0
- prowler/providers/oraclecloud/services/compute/compute_instance_legacy_metadata_endpoint_disabled/compute_instance_legacy_metadata_endpoint_disabled.metadata.json +37 -0
- prowler/providers/oraclecloud/services/compute/compute_instance_legacy_metadata_endpoint_disabled/compute_instance_legacy_metadata_endpoint_disabled.py +37 -0
- prowler/providers/oraclecloud/services/compute/compute_instance_secure_boot_enabled/__init__.py +0 -0
- prowler/providers/oraclecloud/services/compute/compute_instance_secure_boot_enabled/compute_instance_secure_boot_enabled.metadata.json +37 -0
- prowler/providers/oraclecloud/services/compute/compute_instance_secure_boot_enabled/compute_instance_secure_boot_enabled.py +39 -0
- prowler/providers/oraclecloud/services/compute/compute_service.py +136 -0
- prowler/providers/oraclecloud/services/database/__init__.py +0 -0
- prowler/providers/oraclecloud/services/database/database_autonomous_database_access_restricted/__init__.py +0 -0
- prowler/providers/oraclecloud/services/database/database_autonomous_database_access_restricted/database_autonomous_database_access_restricted.metadata.json +36 -0
- prowler/providers/oraclecloud/services/database/database_autonomous_database_access_restricted/database_autonomous_database_access_restricted.py +40 -0
- prowler/providers/oraclecloud/services/database/database_client.py +6 -0
- prowler/providers/oraclecloud/services/database/database_service.py +79 -0
- prowler/providers/oraclecloud/services/events/__init__.py +0 -0
- prowler/providers/oraclecloud/services/events/events_client.py +4 -0
- prowler/providers/oraclecloud/services/events/events_notification_topic_and_subscription_exists/__init__.py +0 -0
- prowler/providers/oraclecloud/services/events/events_notification_topic_and_subscription_exists/events_notification_topic_and_subscription_exists.metadata.json +37 -0
- prowler/providers/oraclecloud/services/events/events_notification_topic_and_subscription_exists/events_notification_topic_and_subscription_exists.py +53 -0
- prowler/providers/oraclecloud/services/events/events_rule_cloudguard_problems/__init__.py +0 -0
- prowler/providers/oraclecloud/services/events/events_rule_cloudguard_problems/events_rule_cloudguard_problems.metadata.json +36 -0
- prowler/providers/oraclecloud/services/events/events_rule_cloudguard_problems/events_rule_cloudguard_problems.py +90 -0
- prowler/providers/oraclecloud/services/events/events_rule_iam_group_changes/__init__.py +0 -0
- prowler/providers/oraclecloud/services/events/events_rule_iam_group_changes/events_rule_iam_group_changes.metadata.json +37 -0
- prowler/providers/oraclecloud/services/events/events_rule_iam_group_changes/events_rule_iam_group_changes.py +67 -0
- prowler/providers/oraclecloud/services/events/events_rule_iam_policy_changes/__init__.py +0 -0
- prowler/providers/oraclecloud/services/events/events_rule_iam_policy_changes/events_rule_iam_policy_changes.metadata.json +37 -0
- prowler/providers/oraclecloud/services/events/events_rule_iam_policy_changes/events_rule_iam_policy_changes.py +67 -0
- prowler/providers/oraclecloud/services/events/events_rule_identity_provider_changes/__init__.py +0 -0
- prowler/providers/oraclecloud/services/events/events_rule_identity_provider_changes/events_rule_identity_provider_changes.metadata.json +37 -0
- prowler/providers/oraclecloud/services/events/events_rule_identity_provider_changes/events_rule_identity_provider_changes.py +67 -0
- prowler/providers/oraclecloud/services/events/events_rule_idp_group_mapping_changes/__init__.py +0 -0
- prowler/providers/oraclecloud/services/events/events_rule_idp_group_mapping_changes/events_rule_idp_group_mapping_changes.metadata.json +37 -0
- prowler/providers/oraclecloud/services/events/events_rule_idp_group_mapping_changes/events_rule_idp_group_mapping_changes.py +67 -0
- prowler/providers/oraclecloud/services/events/events_rule_local_user_authentication/__init__.py +0 -0
- prowler/providers/oraclecloud/services/events/events_rule_local_user_authentication/events_rule_local_user_authentication.metadata.json +38 -0
- prowler/providers/oraclecloud/services/events/events_rule_local_user_authentication/events_rule_local_user_authentication.py +63 -0
- prowler/providers/oraclecloud/services/events/events_rule_network_gateway_changes/__init__.py +0 -0
- prowler/providers/oraclecloud/services/events/events_rule_network_gateway_changes/events_rule_network_gateway_changes.metadata.json +37 -0
- prowler/providers/oraclecloud/services/events/events_rule_network_gateway_changes/events_rule_network_gateway_changes.py +88 -0
- prowler/providers/oraclecloud/services/events/events_rule_network_security_group_changes/__init__.py +0 -0
- prowler/providers/oraclecloud/services/events/events_rule_network_security_group_changes/events_rule_network_security_group_changes.metadata.json +37 -0
- prowler/providers/oraclecloud/services/events/events_rule_network_security_group_changes/events_rule_network_security_group_changes.py +68 -0
- prowler/providers/oraclecloud/services/events/events_rule_route_table_changes/__init__.py +0 -0
- prowler/providers/oraclecloud/services/events/events_rule_route_table_changes/events_rule_route_table_changes.metadata.json +37 -0
- prowler/providers/oraclecloud/services/events/events_rule_route_table_changes/events_rule_route_table_changes.py +68 -0
- prowler/providers/oraclecloud/services/events/events_rule_security_list_changes/__init__.py +0 -0
- prowler/providers/oraclecloud/services/events/events_rule_security_list_changes/events_rule_security_list_changes.metadata.json +37 -0
- prowler/providers/oraclecloud/services/events/events_rule_security_list_changes/events_rule_security_list_changes.py +68 -0
- prowler/providers/oraclecloud/services/events/events_rule_user_changes/__init__.py +0 -0
- prowler/providers/oraclecloud/services/events/events_rule_user_changes/events_rule_user_changes.metadata.json +37 -0
- prowler/providers/oraclecloud/services/events/events_rule_user_changes/events_rule_user_changes.py +69 -0
- prowler/providers/oraclecloud/services/events/events_rule_vcn_changes/__init__.py +0 -0
- prowler/providers/oraclecloud/services/events/events_rule_vcn_changes/events_rule_vcn_changes.metadata.json +37 -0
- prowler/providers/oraclecloud/services/events/events_rule_vcn_changes/events_rule_vcn_changes.py +65 -0
- prowler/providers/oraclecloud/services/events/events_service.py +215 -0
- prowler/providers/oraclecloud/services/events/lib/__init__.py +0 -0
- prowler/providers/oraclecloud/services/events/lib/helpers.py +116 -0
- prowler/providers/oraclecloud/services/filestorage/__init__.py +0 -0
- prowler/providers/oraclecloud/services/filestorage/filestorage_client.py +6 -0
- prowler/providers/oraclecloud/services/filestorage/filestorage_file_system_encrypted_with_cmk/__init__.py +0 -0
- prowler/providers/oraclecloud/services/filestorage/filestorage_file_system_encrypted_with_cmk/filestorage_file_system_encrypted_with_cmk.metadata.json +36 -0
- prowler/providers/oraclecloud/services/filestorage/filestorage_file_system_encrypted_with_cmk/filestorage_file_system_encrypted_with_cmk.py +39 -0
- prowler/providers/oraclecloud/services/filestorage/filestorage_service.py +96 -0
- prowler/providers/oraclecloud/services/identity/__init__.py +0 -0
- prowler/providers/oraclecloud/services/identity/identity_client.py +4 -0
- prowler/providers/oraclecloud/services/identity/identity_iam_admins_cannot_update_tenancy_admins/__init__.py +0 -0
- prowler/providers/oraclecloud/services/identity/identity_iam_admins_cannot_update_tenancy_admins/identity_iam_admins_cannot_update_tenancy_admins.metadata.json +36 -0
- prowler/providers/oraclecloud/services/identity/identity_iam_admins_cannot_update_tenancy_admins/identity_iam_admins_cannot_update_tenancy_admins.py +107 -0
- prowler/providers/oraclecloud/services/identity/identity_instance_principal_used/__init__.py +0 -0
- prowler/providers/oraclecloud/services/identity/identity_instance_principal_used/identity_instance_principal_used.metadata.json +36 -0
- prowler/providers/oraclecloud/services/identity/identity_instance_principal_used/identity_instance_principal_used.py +70 -0
- prowler/providers/oraclecloud/services/identity/identity_no_resources_in_root_compartment/__init__.py +0 -0
- prowler/providers/oraclecloud/services/identity/identity_no_resources_in_root_compartment/identity_no_resources_in_root_compartment.metadata.json +32 -0
- prowler/providers/oraclecloud/services/identity/identity_no_resources_in_root_compartment/identity_no_resources_in_root_compartment.py +51 -0
- prowler/providers/oraclecloud/services/identity/identity_non_root_compartment_exists/__init__.py +0 -0
- prowler/providers/oraclecloud/services/identity/identity_non_root_compartment_exists/identity_non_root_compartment_exists.metadata.json +32 -0
- prowler/providers/oraclecloud/services/identity/identity_non_root_compartment_exists/identity_non_root_compartment_exists.py +39 -0
- prowler/providers/oraclecloud/services/identity/identity_password_policy_expires_within_365_days/__init__.py +0 -0
- prowler/providers/oraclecloud/services/identity/identity_password_policy_expires_within_365_days/identity_password_policy_expires_within_365_days.metadata.json +36 -0
- prowler/providers/oraclecloud/services/identity/identity_password_policy_expires_within_365_days/identity_password_policy_expires_within_365_days.py +67 -0
- prowler/providers/oraclecloud/services/identity/identity_password_policy_minimum_length_14/__init__.py +0 -0
- prowler/providers/oraclecloud/services/identity/identity_password_policy_minimum_length_14/identity_password_policy_minimum_length_14.metadata.json +36 -0
- prowler/providers/oraclecloud/services/identity/identity_password_policy_minimum_length_14/identity_password_policy_minimum_length_14.py +97 -0
- prowler/providers/oraclecloud/services/identity/identity_password_policy_prevents_reuse/__init__.py +0 -0
- prowler/providers/oraclecloud/services/identity/identity_password_policy_prevents_reuse/identity_password_policy_prevents_reuse.metadata.json +36 -0
- prowler/providers/oraclecloud/services/identity/identity_password_policy_prevents_reuse/identity_password_policy_prevents_reuse.py +77 -0
- prowler/providers/oraclecloud/services/identity/identity_service.py +828 -0
- prowler/providers/oraclecloud/services/identity/identity_service_level_admins_exist/__init__.py +0 -0
- prowler/providers/oraclecloud/services/identity/identity_service_level_admins_exist/identity_service_level_admins_exist.metadata.json +32 -0
- prowler/providers/oraclecloud/services/identity/identity_service_level_admins_exist/identity_service_level_admins_exist.py +81 -0
- prowler/providers/oraclecloud/services/identity/identity_tenancy_admin_permissions_limited/__init__.py +0 -0
- prowler/providers/oraclecloud/services/identity/identity_tenancy_admin_permissions_limited/identity_tenancy_admin_permissions_limited.metadata.json +36 -0
- prowler/providers/oraclecloud/services/identity/identity_tenancy_admin_permissions_limited/identity_tenancy_admin_permissions_limited.py +81 -0
- prowler/providers/oraclecloud/services/identity/identity_tenancy_admin_users_no_api_keys/__init__.py +0 -0
- prowler/providers/oraclecloud/services/identity/identity_tenancy_admin_users_no_api_keys/identity_tenancy_admin_users_no_api_keys.metadata.json +36 -0
- prowler/providers/oraclecloud/services/identity/identity_tenancy_admin_users_no_api_keys/identity_tenancy_admin_users_no_api_keys.py +49 -0
- prowler/providers/oraclecloud/services/identity/identity_user_api_keys_rotated_90_days/__init__.py +0 -0
- prowler/providers/oraclecloud/services/identity/identity_user_api_keys_rotated_90_days/identity_user_api_keys_rotated_90_days.metadata.json +37 -0
- prowler/providers/oraclecloud/services/identity/identity_user_api_keys_rotated_90_days/identity_user_api_keys_rotated_90_days.py +73 -0
- prowler/providers/oraclecloud/services/identity/identity_user_auth_tokens_rotated_90_days/__init__.py +0 -0
- prowler/providers/oraclecloud/services/identity/identity_user_auth_tokens_rotated_90_days/identity_user_auth_tokens_rotated_90_days.metadata.json +36 -0
- prowler/providers/oraclecloud/services/identity/identity_user_auth_tokens_rotated_90_days/identity_user_auth_tokens_rotated_90_days.py +52 -0
- prowler/providers/oraclecloud/services/identity/identity_user_customer_secret_keys_rotated_90_days/__init__.py +0 -0
- prowler/providers/oraclecloud/services/identity/identity_user_customer_secret_keys_rotated_90_days/identity_user_customer_secret_keys_rotated_90_days.metadata.json +36 -0
- prowler/providers/oraclecloud/services/identity/identity_user_customer_secret_keys_rotated_90_days/identity_user_customer_secret_keys_rotated_90_days.py +49 -0
- prowler/providers/oraclecloud/services/identity/identity_user_db_passwords_rotated_90_days/__init__.py +0 -0
- prowler/providers/oraclecloud/services/identity/identity_user_db_passwords_rotated_90_days/identity_user_db_passwords_rotated_90_days.metadata.json +36 -0
- prowler/providers/oraclecloud/services/identity/identity_user_db_passwords_rotated_90_days/identity_user_db_passwords_rotated_90_days.py +49 -0
- prowler/providers/oraclecloud/services/identity/identity_user_mfa_enabled_console_access/__init__.py +0 -0
- prowler/providers/oraclecloud/services/identity/identity_user_mfa_enabled_console_access/identity_user_mfa_enabled_console_access.metadata.json +36 -0
- prowler/providers/oraclecloud/services/identity/identity_user_mfa_enabled_console_access/identity_user_mfa_enabled_console_access.py +43 -0
- prowler/providers/oraclecloud/services/identity/identity_user_valid_email_address/__init__.py +0 -0
- prowler/providers/oraclecloud/services/identity/identity_user_valid_email_address/identity_user_valid_email_address.metadata.json +36 -0
- prowler/providers/oraclecloud/services/identity/identity_user_valid_email_address/identity_user_valid_email_address.py +38 -0
- prowler/providers/oraclecloud/services/integration/__init__.py +0 -0
- prowler/providers/oraclecloud/services/integration/integration_client.py +8 -0
- prowler/providers/oraclecloud/services/integration/integration_instance_access_restricted/__init__.py +0 -0
- prowler/providers/oraclecloud/services/integration/integration_instance_access_restricted/integration_instance_access_restricted.metadata.json +36 -0
- prowler/providers/oraclecloud/services/integration/integration_instance_access_restricted/integration_instance_access_restricted.py +48 -0
- prowler/providers/oraclecloud/services/integration/integration_service.py +92 -0
- prowler/providers/oraclecloud/services/kms/__init__.py +0 -0
- prowler/providers/oraclecloud/services/kms/kms_client.py +4 -0
- prowler/providers/oraclecloud/services/kms/kms_key_rotation_enabled/__init__.py +0 -0
- prowler/providers/oraclecloud/services/kms/kms_key_rotation_enabled/kms_key_rotation_enabled.metadata.json +36 -0
- prowler/providers/oraclecloud/services/kms/kms_key_rotation_enabled/kms_key_rotation_enabled.py +37 -0
- prowler/providers/oraclecloud/services/kms/kms_service.py +136 -0
- prowler/providers/oraclecloud/services/logging/__init__.py +0 -0
- prowler/providers/oraclecloud/services/logging/logging_client.py +6 -0
- prowler/providers/oraclecloud/services/logging/logging_service.py +189 -0
- prowler/providers/oraclecloud/services/network/__init__.py +0 -0
- prowler/providers/oraclecloud/services/network/network_client.py +4 -0
- prowler/providers/oraclecloud/services/network/network_default_security_list_restricts_traffic/__init__.py +0 -0
- prowler/providers/oraclecloud/services/network/network_default_security_list_restricts_traffic/network_default_security_list_restricts_traffic.metadata.json +36 -0
- prowler/providers/oraclecloud/services/network/network_default_security_list_restricts_traffic/network_default_security_list_restricts_traffic.py +99 -0
- prowler/providers/oraclecloud/services/network/network_security_group_ingress_from_internet_to_rdp_port/__init__.py +0 -0
- prowler/providers/oraclecloud/services/network/network_security_group_ingress_from_internet_to_rdp_port/network_security_group_ingress_from_internet_to_rdp_port.metadata.json +36 -0
- prowler/providers/oraclecloud/services/network/network_security_group_ingress_from_internet_to_rdp_port/network_security_group_ingress_from_internet_to_rdp_port.py +65 -0
- prowler/providers/oraclecloud/services/network/network_security_group_ingress_from_internet_to_ssh_port/__init__.py +0 -0
- prowler/providers/oraclecloud/services/network/network_security_group_ingress_from_internet_to_ssh_port/network_security_group_ingress_from_internet_to_ssh_port.metadata.json +37 -0
- prowler/providers/oraclecloud/services/network/network_security_group_ingress_from_internet_to_ssh_port/network_security_group_ingress_from_internet_to_ssh_port.py +70 -0
- prowler/providers/oraclecloud/services/network/network_security_list_ingress_from_internet_to_rdp_port/__init__.py +0 -0
- prowler/providers/oraclecloud/services/network/network_security_list_ingress_from_internet_to_rdp_port/network_security_list_ingress_from_internet_to_rdp_port.metadata.json +36 -0
- prowler/providers/oraclecloud/services/network/network_security_list_ingress_from_internet_to_rdp_port/network_security_list_ingress_from_internet_to_rdp_port.py +62 -0
- prowler/providers/oraclecloud/services/network/network_security_list_ingress_from_internet_to_ssh_port/__init__.py +0 -0
- prowler/providers/oraclecloud/services/network/network_security_list_ingress_from_internet_to_ssh_port/network_security_list_ingress_from_internet_to_ssh_port.metadata.json +37 -0
- prowler/providers/oraclecloud/services/network/network_security_list_ingress_from_internet_to_ssh_port/network_security_list_ingress_from_internet_to_ssh_port.py +67 -0
- prowler/providers/oraclecloud/services/network/network_service.py +321 -0
- prowler/providers/oraclecloud/services/network/network_vcn_subnet_flow_logs_enabled/__init__.py +0 -0
- prowler/providers/oraclecloud/services/network/network_vcn_subnet_flow_logs_enabled/network_vcn_subnet_flow_logs_enabled.metadata.json +36 -0
- prowler/providers/oraclecloud/services/network/network_vcn_subnet_flow_logs_enabled/network_vcn_subnet_flow_logs_enabled.py +66 -0
- prowler/providers/oraclecloud/services/objectstorage/__init__.py +0 -0
- prowler/providers/oraclecloud/services/objectstorage/objectstorage_bucket_encrypted_with_cmk/__init__.py +0 -0
- prowler/providers/oraclecloud/services/objectstorage/objectstorage_bucket_encrypted_with_cmk/objectstorage_bucket_encrypted_with_cmk.metadata.json +37 -0
- prowler/providers/oraclecloud/services/objectstorage/objectstorage_bucket_encrypted_with_cmk/objectstorage_bucket_encrypted_with_cmk.py +40 -0
- prowler/providers/oraclecloud/services/objectstorage/objectstorage_bucket_logging_enabled/__init__.py +0 -0
- prowler/providers/oraclecloud/services/objectstorage/objectstorage_bucket_logging_enabled/objectstorage_bucket_logging_enabled.metadata.json +32 -0
- prowler/providers/oraclecloud/services/objectstorage/objectstorage_bucket_logging_enabled/objectstorage_bucket_logging_enabled.py +68 -0
- prowler/providers/oraclecloud/services/objectstorage/objectstorage_bucket_not_publicly_accessible/__init__.py +0 -0
- prowler/providers/oraclecloud/services/objectstorage/objectstorage_bucket_not_publicly_accessible/objectstorage_bucket_not_publicly_accessible.metadata.json +37 -0
- prowler/providers/oraclecloud/services/objectstorage/objectstorage_bucket_not_publicly_accessible/objectstorage_bucket_not_publicly_accessible.py +43 -0
- prowler/providers/oraclecloud/services/objectstorage/objectstorage_bucket_versioning_enabled/__init__.py +0 -0
- prowler/providers/oraclecloud/services/objectstorage/objectstorage_bucket_versioning_enabled/objectstorage_bucket_versioning_enabled.metadata.json +37 -0
- prowler/providers/oraclecloud/services/objectstorage/objectstorage_bucket_versioning_enabled/objectstorage_bucket_versioning_enabled.py +38 -0
- prowler/providers/oraclecloud/services/objectstorage/objectstorage_client.py +6 -0
- prowler/providers/oraclecloud/services/objectstorage/objectstorage_service.py +138 -0
- {prowler-5.7.4.dist-info → prowler-5.14.2.dist-info}/METADATA +66 -65
- {prowler-5.7.4.dist-info → prowler-5.14.2.dist-info}/RECORD +1244 -733
- /prowler/{providers/aws/services/ec2/ec2_securitygroup_allow_ingress_from_internet_to_port_mongodb_27017_27018 → compliance/iac}/__init__.py +0 -0
- /prowler/{providers/aws/services/ec2/ec2_securitygroup_allow_ingress_from_internet_to_tcp_ftp_port_20_21 → compliance/llm}/__init__.py +0 -0
- {prowler-5.7.4.dist-info → prowler-5.14.2.dist-info}/LICENSE +0 -0
- {prowler-5.7.4.dist-info → prowler-5.14.2.dist-info}/WHEEL +0 -0
- {prowler-5.7.4.dist-info → prowler-5.14.2.dist-info}/entry_points.txt +0 -0
dashboard/__main__.py
CHANGED
|
@@ -35,7 +35,8 @@ dashboard = dash.Dash(
|
|
|
35
35
|
|
|
36
36
|
# Logo
|
|
37
37
|
prowler_logo = html.Img(
|
|
38
|
-
src="https://
|
|
38
|
+
src="https://cdn.prod.website-files.com/68c4ec3f9fb7b154fbcb6e36/68ffb46d40ed7faa37a592a5_prowler-logo.png",
|
|
39
|
+
alt="Prowler Logo",
|
|
39
40
|
)
|
|
40
41
|
|
|
41
42
|
menu_icons = {
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/* Override Tailwind CSS reset for markdown content */
|
|
2
|
+
.markdown-content ul {
|
|
3
|
+
list-style: disc !important;
|
|
4
|
+
margin-left: 20px !important;
|
|
5
|
+
padding-left: 10px !important;
|
|
6
|
+
margin-bottom: 8px !important;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
.markdown-content ol {
|
|
10
|
+
list-style: decimal !important;
|
|
11
|
+
margin-left: 20px !important;
|
|
12
|
+
padding-left: 10px !important;
|
|
13
|
+
margin-bottom: 8px !important;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
.markdown-content li {
|
|
17
|
+
margin-bottom: 4px !important;
|
|
18
|
+
display: list-item !important;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.markdown-content p {
|
|
22
|
+
margin-bottom: 8px !important;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
/* Ensure nested lists work properly */
|
|
26
|
+
.markdown-content ul ul {
|
|
27
|
+
margin-top: 4px !important;
|
|
28
|
+
margin-bottom: 4px !important;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
.markdown-content ol ol {
|
|
32
|
+
margin-top: 4px !important;
|
|
33
|
+
margin-bottom: 4px !important;
|
|
34
|
+
}
|
dashboard/common_methods.py
CHANGED
|
@@ -2569,6 +2569,356 @@ def get_section_containers_3_levels(data, section_1, section_2, section_3):
|
|
|
2569
2569
|
return html.Div(section_containers, className="compliance-data-layout")
|
|
2570
2570
|
|
|
2571
2571
|
|
|
2572
|
+
def get_section_containers_threatscore(data, section_1, section_2, section_3):
|
|
2573
|
+
data["STATUS"] = data["STATUS"].apply(map_status_to_icon)
|
|
2574
|
+
findings_counts_marco = (
|
|
2575
|
+
data.groupby([section_1, "STATUS"]).size().unstack(fill_value=0)
|
|
2576
|
+
)
|
|
2577
|
+
section_containers = []
|
|
2578
|
+
data[section_1] = data[section_1].astype(str)
|
|
2579
|
+
data[section_2] = data[section_2].astype(str)
|
|
2580
|
+
data[section_3] = data[section_3].astype(str)
|
|
2581
|
+
|
|
2582
|
+
data.sort_values(
|
|
2583
|
+
by=section_3,
|
|
2584
|
+
key=lambda x: x.map(extract_numeric_values),
|
|
2585
|
+
ascending=True,
|
|
2586
|
+
inplace=True,
|
|
2587
|
+
)
|
|
2588
|
+
|
|
2589
|
+
for marco in data[section_1].unique():
|
|
2590
|
+
success_marco = findings_counts_marco.loc[marco].get(pass_emoji, 0)
|
|
2591
|
+
failed_marco = findings_counts_marco.loc[marco].get(fail_emoji, 0)
|
|
2592
|
+
|
|
2593
|
+
fig_name = go.Figure(
|
|
2594
|
+
[
|
|
2595
|
+
go.Bar(
|
|
2596
|
+
name="Failed",
|
|
2597
|
+
x=[failed_marco],
|
|
2598
|
+
y=[""],
|
|
2599
|
+
orientation="h",
|
|
2600
|
+
marker=dict(color="#e77676"),
|
|
2601
|
+
width=[0.8],
|
|
2602
|
+
),
|
|
2603
|
+
go.Bar(
|
|
2604
|
+
name="Success",
|
|
2605
|
+
x=[success_marco],
|
|
2606
|
+
y=[""],
|
|
2607
|
+
orientation="h",
|
|
2608
|
+
marker=dict(color="#45cc6e"),
|
|
2609
|
+
width=[0.8],
|
|
2610
|
+
),
|
|
2611
|
+
]
|
|
2612
|
+
)
|
|
2613
|
+
fig_name.update_layout(
|
|
2614
|
+
barmode="stack",
|
|
2615
|
+
margin=dict(l=10, r=10, t=10, b=10),
|
|
2616
|
+
paper_bgcolor="rgba(0,0,0,0)",
|
|
2617
|
+
plot_bgcolor="rgba(0,0,0,0)",
|
|
2618
|
+
showlegend=False,
|
|
2619
|
+
width=350,
|
|
2620
|
+
height=30,
|
|
2621
|
+
xaxis=dict(showticklabels=False, showgrid=False, zeroline=False),
|
|
2622
|
+
yaxis=dict(showticklabels=False, showgrid=False, zeroline=False),
|
|
2623
|
+
annotations=[
|
|
2624
|
+
dict(
|
|
2625
|
+
x=success_marco + failed_marco,
|
|
2626
|
+
y=0,
|
|
2627
|
+
xref="x",
|
|
2628
|
+
yref="y",
|
|
2629
|
+
text=str(success_marco),
|
|
2630
|
+
showarrow=False,
|
|
2631
|
+
font=dict(color="#45cc6e", size=14),
|
|
2632
|
+
xanchor="left",
|
|
2633
|
+
yanchor="middle",
|
|
2634
|
+
),
|
|
2635
|
+
dict(
|
|
2636
|
+
x=0,
|
|
2637
|
+
y=0,
|
|
2638
|
+
xref="x",
|
|
2639
|
+
yref="y",
|
|
2640
|
+
text=str(failed_marco),
|
|
2641
|
+
showarrow=False,
|
|
2642
|
+
font=dict(color="#e77676", size=14),
|
|
2643
|
+
xanchor="right",
|
|
2644
|
+
yanchor="middle",
|
|
2645
|
+
),
|
|
2646
|
+
],
|
|
2647
|
+
)
|
|
2648
|
+
fig_name.add_annotation(
|
|
2649
|
+
x=failed_marco,
|
|
2650
|
+
y=0.3,
|
|
2651
|
+
text="|",
|
|
2652
|
+
showarrow=False,
|
|
2653
|
+
font=dict(size=20),
|
|
2654
|
+
xanchor="center",
|
|
2655
|
+
yanchor="middle",
|
|
2656
|
+
)
|
|
2657
|
+
|
|
2658
|
+
graph_div = html.Div(
|
|
2659
|
+
dcc.Graph(
|
|
2660
|
+
figure=fig_name, config={"staticPlot": True}, className="info-bar"
|
|
2661
|
+
),
|
|
2662
|
+
className="graph-section",
|
|
2663
|
+
)
|
|
2664
|
+
direct_internal_items = []
|
|
2665
|
+
|
|
2666
|
+
for categoria in data[data[section_1] == marco][section_2].unique():
|
|
2667
|
+
specific_data = data[
|
|
2668
|
+
(data[section_1] == marco) & (data[section_2] == categoria)
|
|
2669
|
+
]
|
|
2670
|
+
findings_counts_categoria = (
|
|
2671
|
+
specific_data.groupby([section_2, "STATUS"])
|
|
2672
|
+
.size()
|
|
2673
|
+
.unstack(fill_value=0)
|
|
2674
|
+
)
|
|
2675
|
+
success_categoria = findings_counts_categoria.loc[categoria].get(
|
|
2676
|
+
pass_emoji, 0
|
|
2677
|
+
)
|
|
2678
|
+
failed_categoria = findings_counts_categoria.loc[categoria].get(
|
|
2679
|
+
fail_emoji, 0
|
|
2680
|
+
)
|
|
2681
|
+
|
|
2682
|
+
fig_section = go.Figure(
|
|
2683
|
+
[
|
|
2684
|
+
go.Bar(
|
|
2685
|
+
name="Failed",
|
|
2686
|
+
x=[failed_categoria],
|
|
2687
|
+
y=[""],
|
|
2688
|
+
orientation="h",
|
|
2689
|
+
marker=dict(color="#e77676"),
|
|
2690
|
+
width=[0.8],
|
|
2691
|
+
),
|
|
2692
|
+
go.Bar(
|
|
2693
|
+
name="Success",
|
|
2694
|
+
x=[success_categoria],
|
|
2695
|
+
y=[""],
|
|
2696
|
+
orientation="h",
|
|
2697
|
+
marker=dict(color="#45cc6e"),
|
|
2698
|
+
width=[0.8],
|
|
2699
|
+
),
|
|
2700
|
+
]
|
|
2701
|
+
)
|
|
2702
|
+
fig_section.update_layout(
|
|
2703
|
+
barmode="stack",
|
|
2704
|
+
margin=dict(l=10, r=10, t=10, b=10),
|
|
2705
|
+
paper_bgcolor="rgba(0,0,0,0)",
|
|
2706
|
+
plot_bgcolor="rgba(0,0,0,0)",
|
|
2707
|
+
showlegend=False,
|
|
2708
|
+
width=350,
|
|
2709
|
+
height=30,
|
|
2710
|
+
xaxis=dict(showticklabels=False, showgrid=False, zeroline=False),
|
|
2711
|
+
yaxis=dict(showticklabels=False, showgrid=False, zeroline=False),
|
|
2712
|
+
annotations=[
|
|
2713
|
+
dict(
|
|
2714
|
+
x=success_categoria + failed_categoria,
|
|
2715
|
+
y=0,
|
|
2716
|
+
xref="x",
|
|
2717
|
+
yref="y",
|
|
2718
|
+
text=str(success_categoria),
|
|
2719
|
+
showarrow=False,
|
|
2720
|
+
font=dict(color="#45cc6e", size=14),
|
|
2721
|
+
xanchor="left",
|
|
2722
|
+
yanchor="middle",
|
|
2723
|
+
),
|
|
2724
|
+
dict(
|
|
2725
|
+
x=0,
|
|
2726
|
+
y=0,
|
|
2727
|
+
xref="x",
|
|
2728
|
+
yref="y",
|
|
2729
|
+
text=str(failed_categoria),
|
|
2730
|
+
showarrow=False,
|
|
2731
|
+
font=dict(color="#e77676", size=14),
|
|
2732
|
+
xanchor="right",
|
|
2733
|
+
yanchor="middle",
|
|
2734
|
+
),
|
|
2735
|
+
],
|
|
2736
|
+
)
|
|
2737
|
+
fig_section.add_annotation(
|
|
2738
|
+
x=failed_categoria,
|
|
2739
|
+
y=0.3,
|
|
2740
|
+
text="|",
|
|
2741
|
+
showarrow=False,
|
|
2742
|
+
font=dict(size=20),
|
|
2743
|
+
xanchor="center",
|
|
2744
|
+
yanchor="middle",
|
|
2745
|
+
)
|
|
2746
|
+
|
|
2747
|
+
graph_div_section = html.Div(
|
|
2748
|
+
dcc.Graph(
|
|
2749
|
+
figure=fig_section,
|
|
2750
|
+
config={"staticPlot": True},
|
|
2751
|
+
className="info-bar-child",
|
|
2752
|
+
),
|
|
2753
|
+
className="graph-section-req",
|
|
2754
|
+
)
|
|
2755
|
+
direct_internal_items_idgrupocontrol = []
|
|
2756
|
+
|
|
2757
|
+
for idgrupocontrol in specific_data[section_3].unique():
|
|
2758
|
+
specific_data2 = specific_data[
|
|
2759
|
+
specific_data[section_3] == idgrupocontrol
|
|
2760
|
+
]
|
|
2761
|
+
findings_counts_idgrupocontrol = (
|
|
2762
|
+
specific_data2.groupby([section_3, "STATUS"])
|
|
2763
|
+
.size()
|
|
2764
|
+
.unstack(fill_value=0)
|
|
2765
|
+
)
|
|
2766
|
+
success_idgrupocontrol = findings_counts_idgrupocontrol.loc[
|
|
2767
|
+
idgrupocontrol
|
|
2768
|
+
].get(pass_emoji, 0)
|
|
2769
|
+
failed_idgrupocontrol = findings_counts_idgrupocontrol.loc[
|
|
2770
|
+
idgrupocontrol
|
|
2771
|
+
].get(fail_emoji, 0)
|
|
2772
|
+
|
|
2773
|
+
fig_idgrupocontrol = go.Figure(
|
|
2774
|
+
[
|
|
2775
|
+
go.Bar(
|
|
2776
|
+
name="Failed",
|
|
2777
|
+
x=[failed_idgrupocontrol],
|
|
2778
|
+
y=[""],
|
|
2779
|
+
orientation="h",
|
|
2780
|
+
marker=dict(color="#e77676"),
|
|
2781
|
+
width=[0.8],
|
|
2782
|
+
),
|
|
2783
|
+
go.Bar(
|
|
2784
|
+
name="Success",
|
|
2785
|
+
x=[success_idgrupocontrol],
|
|
2786
|
+
y=[""],
|
|
2787
|
+
orientation="h",
|
|
2788
|
+
marker=dict(color="#45cc6e"),
|
|
2789
|
+
width=[0.8],
|
|
2790
|
+
),
|
|
2791
|
+
]
|
|
2792
|
+
)
|
|
2793
|
+
fig_idgrupocontrol.update_layout(
|
|
2794
|
+
barmode="stack",
|
|
2795
|
+
margin=dict(l=10, r=10, t=10, b=10),
|
|
2796
|
+
paper_bgcolor="rgba(0,0,0,0)",
|
|
2797
|
+
plot_bgcolor="rgba(0,0,0,0)",
|
|
2798
|
+
showlegend=False,
|
|
2799
|
+
width=350,
|
|
2800
|
+
height=30,
|
|
2801
|
+
xaxis=dict(showticklabels=False, showgrid=False, zeroline=False),
|
|
2802
|
+
yaxis=dict(showticklabels=False, showgrid=False, zeroline=False),
|
|
2803
|
+
annotations=[
|
|
2804
|
+
dict(
|
|
2805
|
+
x=success_idgrupocontrol + failed_idgrupocontrol,
|
|
2806
|
+
y=0,
|
|
2807
|
+
xref="x",
|
|
2808
|
+
yref="y",
|
|
2809
|
+
text=str(success_idgrupocontrol),
|
|
2810
|
+
showarrow=False,
|
|
2811
|
+
font=dict(color="#45cc6e", size=14),
|
|
2812
|
+
xanchor="left",
|
|
2813
|
+
yanchor="middle",
|
|
2814
|
+
),
|
|
2815
|
+
dict(
|
|
2816
|
+
x=0,
|
|
2817
|
+
y=0,
|
|
2818
|
+
xref="x",
|
|
2819
|
+
yref="y",
|
|
2820
|
+
text=str(failed_idgrupocontrol),
|
|
2821
|
+
showarrow=False,
|
|
2822
|
+
font=dict(color="#e77676", size=14),
|
|
2823
|
+
xanchor="right",
|
|
2824
|
+
yanchor="middle",
|
|
2825
|
+
),
|
|
2826
|
+
],
|
|
2827
|
+
)
|
|
2828
|
+
fig_idgrupocontrol.add_annotation(
|
|
2829
|
+
x=failed_idgrupocontrol,
|
|
2830
|
+
y=0.3,
|
|
2831
|
+
text="|",
|
|
2832
|
+
showarrow=False,
|
|
2833
|
+
font=dict(size=20),
|
|
2834
|
+
xanchor="center",
|
|
2835
|
+
yanchor="middle",
|
|
2836
|
+
)
|
|
2837
|
+
|
|
2838
|
+
graph_div_idgrupocontrol = html.Div(
|
|
2839
|
+
dcc.Graph(
|
|
2840
|
+
figure=fig_idgrupocontrol,
|
|
2841
|
+
config={"staticPlot": True},
|
|
2842
|
+
className="info-bar-child",
|
|
2843
|
+
),
|
|
2844
|
+
className="graph-section-req",
|
|
2845
|
+
)
|
|
2846
|
+
|
|
2847
|
+
data_table = dash_table.DataTable(
|
|
2848
|
+
data=specific_data2.to_dict("records"),
|
|
2849
|
+
columns=[
|
|
2850
|
+
{"name": i, "id": i}
|
|
2851
|
+
for i in [
|
|
2852
|
+
"CHECKID",
|
|
2853
|
+
"STATUS",
|
|
2854
|
+
"REGION",
|
|
2855
|
+
"ACCOUNTID",
|
|
2856
|
+
"RESOURCEID",
|
|
2857
|
+
]
|
|
2858
|
+
],
|
|
2859
|
+
style_table={"overflowX": "auto"},
|
|
2860
|
+
style_as_list_view=True,
|
|
2861
|
+
style_cell={"textAlign": "left", "padding": "5px"},
|
|
2862
|
+
)
|
|
2863
|
+
|
|
2864
|
+
title_internal = f"{idgrupocontrol} - {specific_data2['REQUIREMENTS_DESCRIPTION'].iloc[0]}"
|
|
2865
|
+
|
|
2866
|
+
# Cut the title if it's too long
|
|
2867
|
+
title_internal = (
|
|
2868
|
+
title_internal[:130] + " ..."
|
|
2869
|
+
if len(title_internal) > 130
|
|
2870
|
+
else title_internal
|
|
2871
|
+
)
|
|
2872
|
+
|
|
2873
|
+
internal_accordion_item_2 = dbc.AccordionItem(
|
|
2874
|
+
title=title_internal,
|
|
2875
|
+
children=[
|
|
2876
|
+
graph_div_idgrupocontrol,
|
|
2877
|
+
html.Div([data_table], className="inner-accordion-content"),
|
|
2878
|
+
],
|
|
2879
|
+
)
|
|
2880
|
+
direct_internal_items_idgrupocontrol.append(
|
|
2881
|
+
html.Div(
|
|
2882
|
+
[
|
|
2883
|
+
graph_div_idgrupocontrol,
|
|
2884
|
+
dbc.Accordion(
|
|
2885
|
+
[internal_accordion_item_2],
|
|
2886
|
+
start_collapsed=True,
|
|
2887
|
+
flush=True,
|
|
2888
|
+
),
|
|
2889
|
+
],
|
|
2890
|
+
className="accordion-inner--child",
|
|
2891
|
+
)
|
|
2892
|
+
)
|
|
2893
|
+
|
|
2894
|
+
internal_accordion_item = dbc.AccordionItem(
|
|
2895
|
+
title=categoria,
|
|
2896
|
+
children=direct_internal_items_idgrupocontrol,
|
|
2897
|
+
)
|
|
2898
|
+
internal_section_container = html.Div(
|
|
2899
|
+
[
|
|
2900
|
+
graph_div_section,
|
|
2901
|
+
dbc.Accordion(
|
|
2902
|
+
[internal_accordion_item], start_collapsed=True, flush=True
|
|
2903
|
+
),
|
|
2904
|
+
],
|
|
2905
|
+
className="accordion-inner--child",
|
|
2906
|
+
)
|
|
2907
|
+
direct_internal_items.append(internal_section_container)
|
|
2908
|
+
|
|
2909
|
+
accordion_item = dbc.AccordionItem(title=marco, children=direct_internal_items)
|
|
2910
|
+
section_container = html.Div(
|
|
2911
|
+
[
|
|
2912
|
+
graph_div,
|
|
2913
|
+
dbc.Accordion([accordion_item], start_collapsed=True, flush=True),
|
|
2914
|
+
],
|
|
2915
|
+
className="accordion-inner",
|
|
2916
|
+
)
|
|
2917
|
+
section_containers.append(section_container)
|
|
2918
|
+
|
|
2919
|
+
return html.Div(section_containers, className="compliance-data-layout")
|
|
2920
|
+
|
|
2921
|
+
|
|
2572
2922
|
# This function extracts and compares up to two numeric values, ensuring correct sorting for version-like strings.
|
|
2573
2923
|
def extract_numeric_values(value):
|
|
2574
2924
|
numbers = re.findall(r"\d+", str(value))
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import warnings
|
|
2
|
+
|
|
3
|
+
from dashboard.common_methods import get_section_containers_3_levels
|
|
4
|
+
|
|
5
|
+
warnings.filterwarnings("ignore")
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
def get_table(data):
|
|
9
|
+
data["REQUIREMENTS_DESCRIPTION"] = (
|
|
10
|
+
data["REQUIREMENTS_ID"] + " - " + data["REQUIREMENTS_DESCRIPTION"]
|
|
11
|
+
)
|
|
12
|
+
|
|
13
|
+
data["REQUIREMENTS_DESCRIPTION"] = data["REQUIREMENTS_DESCRIPTION"].apply(
|
|
14
|
+
lambda x: x[:150] + "..." if len(str(x)) > 150 else x
|
|
15
|
+
)
|
|
16
|
+
|
|
17
|
+
data["REQUIREMENTS_ATTRIBUTES_SECTION"] = data[
|
|
18
|
+
"REQUIREMENTS_ATTRIBUTES_SECTION"
|
|
19
|
+
].apply(lambda x: x[:80] + "..." if len(str(x)) > 80 else x)
|
|
20
|
+
|
|
21
|
+
data["REQUIREMENTS_ATTRIBUTES_SUBSECTION"] = data[
|
|
22
|
+
"REQUIREMENTS_ATTRIBUTES_SUBSECTION"
|
|
23
|
+
].apply(lambda x: x[:150] + "..." if len(str(x)) > 150 else x)
|
|
24
|
+
|
|
25
|
+
aux = data[
|
|
26
|
+
[
|
|
27
|
+
"REQUIREMENTS_DESCRIPTION",
|
|
28
|
+
"REQUIREMENTS_ATTRIBUTES_SECTION",
|
|
29
|
+
"REQUIREMENTS_ATTRIBUTES_SUBSECTION",
|
|
30
|
+
"CHECKID",
|
|
31
|
+
"STATUS",
|
|
32
|
+
"REGION",
|
|
33
|
+
"ACCOUNTID",
|
|
34
|
+
"RESOURCEID",
|
|
35
|
+
]
|
|
36
|
+
]
|
|
37
|
+
|
|
38
|
+
return get_section_containers_3_levels(
|
|
39
|
+
aux,
|
|
40
|
+
"REQUIREMENTS_ATTRIBUTES_SECTION",
|
|
41
|
+
"REQUIREMENTS_ATTRIBUTES_SUBSECTION",
|
|
42
|
+
"REQUIREMENTS_DESCRIPTION",
|
|
43
|
+
)
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import warnings
|
|
2
|
+
|
|
3
|
+
from dashboard.common_methods import get_section_containers_3_levels
|
|
4
|
+
|
|
5
|
+
warnings.filterwarnings("ignore")
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
def get_table(data):
|
|
9
|
+
data["REQUIREMENTS_DESCRIPTION"] = (
|
|
10
|
+
data["REQUIREMENTS_ID"] + " - " + data["REQUIREMENTS_DESCRIPTION"]
|
|
11
|
+
)
|
|
12
|
+
|
|
13
|
+
data["REQUIREMENTS_DESCRIPTION"] = data["REQUIREMENTS_DESCRIPTION"].apply(
|
|
14
|
+
lambda x: x[:150] + "..." if len(str(x)) > 150 else x
|
|
15
|
+
)
|
|
16
|
+
|
|
17
|
+
data["REQUIREMENTS_ATTRIBUTES_SECTION"] = data[
|
|
18
|
+
"REQUIREMENTS_ATTRIBUTES_SECTION"
|
|
19
|
+
].apply(lambda x: x[:80] + "..." if len(str(x)) > 80 else x)
|
|
20
|
+
|
|
21
|
+
data["REQUIREMENTS_ATTRIBUTES_SUBSECTION"] = data[
|
|
22
|
+
"REQUIREMENTS_ATTRIBUTES_SUBSECTION"
|
|
23
|
+
].apply(lambda x: x[:150] + "..." if len(str(x)) > 150 else x)
|
|
24
|
+
|
|
25
|
+
aux = data[
|
|
26
|
+
[
|
|
27
|
+
"REQUIREMENTS_DESCRIPTION",
|
|
28
|
+
"REQUIREMENTS_ATTRIBUTES_SECTION",
|
|
29
|
+
"REQUIREMENTS_ATTRIBUTES_SUBSECTION",
|
|
30
|
+
"CHECKID",
|
|
31
|
+
"STATUS",
|
|
32
|
+
"REGION",
|
|
33
|
+
"ACCOUNTID",
|
|
34
|
+
"RESOURCEID",
|
|
35
|
+
]
|
|
36
|
+
]
|
|
37
|
+
|
|
38
|
+
return get_section_containers_3_levels(
|
|
39
|
+
aux,
|
|
40
|
+
"REQUIREMENTS_ATTRIBUTES_SECTION",
|
|
41
|
+
"REQUIREMENTS_ATTRIBUTES_SUBSECTION",
|
|
42
|
+
"REQUIREMENTS_DESCRIPTION",
|
|
43
|
+
)
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import warnings
|
|
2
|
+
|
|
3
|
+
from dashboard.common_methods import get_section_containers_3_levels
|
|
4
|
+
|
|
5
|
+
warnings.filterwarnings("ignore")
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
def get_table(data):
|
|
9
|
+
|
|
10
|
+
data["REQUIREMENTS_ID"] = (
|
|
11
|
+
data["REQUIREMENTS_ID"] + " - " + data["REQUIREMENTS_DESCRIPTION"]
|
|
12
|
+
)
|
|
13
|
+
|
|
14
|
+
data["REQUIREMENTS_ID"] = data["REQUIREMENTS_ID"].apply(
|
|
15
|
+
lambda x: x[:150] + "..." if len(str(x)) > 150 else x
|
|
16
|
+
)
|
|
17
|
+
|
|
18
|
+
aux = data[
|
|
19
|
+
[
|
|
20
|
+
"REQUIREMENTS_ID",
|
|
21
|
+
"REQUIREMENTS_ATTRIBUTES_SECTION",
|
|
22
|
+
"REQUIREMENTS_ATTRIBUTES_SUBSECTION",
|
|
23
|
+
"CHECKID",
|
|
24
|
+
"STATUS",
|
|
25
|
+
"REGION",
|
|
26
|
+
"ACCOUNTID",
|
|
27
|
+
"RESOURCEID",
|
|
28
|
+
]
|
|
29
|
+
]
|
|
30
|
+
|
|
31
|
+
return get_section_containers_3_levels(
|
|
32
|
+
aux,
|
|
33
|
+
"REQUIREMENTS_ATTRIBUTES_SECTION",
|
|
34
|
+
"REQUIREMENTS_ATTRIBUTES_SUBSECTION",
|
|
35
|
+
"REQUIREMENTS_ID",
|
|
36
|
+
)
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import warnings
|
|
2
|
+
|
|
3
|
+
from dashboard.common_methods import get_section_containers_3_levels
|
|
4
|
+
|
|
5
|
+
warnings.filterwarnings("ignore")
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
def get_table(data):
|
|
9
|
+
|
|
10
|
+
data["REQUIREMENTS_ID"] = (
|
|
11
|
+
data["REQUIREMENTS_ID"] + " - " + data["REQUIREMENTS_DESCRIPTION"]
|
|
12
|
+
)
|
|
13
|
+
|
|
14
|
+
data["REQUIREMENTS_ID"] = data["REQUIREMENTS_ID"].apply(
|
|
15
|
+
lambda x: x[:150] + "..." if len(str(x)) > 150 else x
|
|
16
|
+
)
|
|
17
|
+
|
|
18
|
+
aux = data[
|
|
19
|
+
[
|
|
20
|
+
"REQUIREMENTS_ID",
|
|
21
|
+
"REQUIREMENTS_ATTRIBUTES_SECTION",
|
|
22
|
+
"REQUIREMENTS_ATTRIBUTES_SUBSECTION",
|
|
23
|
+
"CHECKID",
|
|
24
|
+
"STATUS",
|
|
25
|
+
"REGION",
|
|
26
|
+
"ACCOUNTID",
|
|
27
|
+
"RESOURCEID",
|
|
28
|
+
]
|
|
29
|
+
]
|
|
30
|
+
|
|
31
|
+
return get_section_containers_3_levels(
|
|
32
|
+
aux,
|
|
33
|
+
"REQUIREMENTS_ATTRIBUTES_SECTION",
|
|
34
|
+
"REQUIREMENTS_ATTRIBUTES_SUBSECTION",
|
|
35
|
+
"REQUIREMENTS_ID",
|
|
36
|
+
)
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import warnings
|
|
2
|
+
|
|
3
|
+
from dashboard.common_methods import get_section_containers_3_levels
|
|
4
|
+
|
|
5
|
+
warnings.filterwarnings("ignore")
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
def get_table(data):
|
|
9
|
+
|
|
10
|
+
data["REQUIREMENTS_ID"] = (
|
|
11
|
+
data["REQUIREMENTS_ID"] + " - " + data["REQUIREMENTS_DESCRIPTION"]
|
|
12
|
+
)
|
|
13
|
+
|
|
14
|
+
data["REQUIREMENTS_ID"] = data["REQUIREMENTS_ID"].apply(
|
|
15
|
+
lambda x: x[:150] + "..." if len(str(x)) > 150 else x
|
|
16
|
+
)
|
|
17
|
+
|
|
18
|
+
aux = data[
|
|
19
|
+
[
|
|
20
|
+
"REQUIREMENTS_ID",
|
|
21
|
+
"REQUIREMENTS_ATTRIBUTES_SECTION",
|
|
22
|
+
"REQUIREMENTS_ATTRIBUTES_SUBSECTION",
|
|
23
|
+
"CHECKID",
|
|
24
|
+
"STATUS",
|
|
25
|
+
"REGION",
|
|
26
|
+
"ACCOUNTID",
|
|
27
|
+
"RESOURCEID",
|
|
28
|
+
]
|
|
29
|
+
]
|
|
30
|
+
|
|
31
|
+
return get_section_containers_3_levels(
|
|
32
|
+
aux,
|
|
33
|
+
"REQUIREMENTS_ATTRIBUTES_SECTION",
|
|
34
|
+
"REQUIREMENTS_ATTRIBUTES_SUBSECTION",
|
|
35
|
+
"REQUIREMENTS_ID",
|
|
36
|
+
)
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import warnings
|
|
2
|
+
|
|
3
|
+
from dashboard.common_methods import get_section_containers_cis
|
|
4
|
+
|
|
5
|
+
warnings.filterwarnings("ignore")
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
def get_table(data):
|
|
9
|
+
aux = data[
|
|
10
|
+
[
|
|
11
|
+
"REQUIREMENTS_ID",
|
|
12
|
+
"REQUIREMENTS_DESCRIPTION",
|
|
13
|
+
"REQUIREMENTS_ATTRIBUTES_SECTION",
|
|
14
|
+
"CHECKID",
|
|
15
|
+
"STATUS",
|
|
16
|
+
"REGION",
|
|
17
|
+
"ACCOUNTID",
|
|
18
|
+
"RESOURCEID",
|
|
19
|
+
]
|
|
20
|
+
].copy()
|
|
21
|
+
|
|
22
|
+
return get_section_containers_cis(
|
|
23
|
+
aux, "REQUIREMENTS_ID", "REQUIREMENTS_ATTRIBUTES_SECTION"
|
|
24
|
+
)
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import warnings
|
|
2
|
+
|
|
3
|
+
from dashboard.common_methods import get_section_containers_cis
|
|
4
|
+
|
|
5
|
+
warnings.filterwarnings("ignore")
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
def get_table(data):
|
|
9
|
+
"""
|
|
10
|
+
Generate CIS OCI Foundations Benchmark v3.0 compliance table.
|
|
11
|
+
|
|
12
|
+
Args:
|
|
13
|
+
data: DataFrame containing compliance check results with columns:
|
|
14
|
+
- REQUIREMENTS_ID: CIS requirement ID (e.g., "1.1", "2.1")
|
|
15
|
+
- REQUIREMENTS_DESCRIPTION: Description of the requirement
|
|
16
|
+
- REQUIREMENTS_ATTRIBUTES_SECTION: CIS section name
|
|
17
|
+
- CHECKID: Prowler check identifier
|
|
18
|
+
- STATUS: Check status (PASS/FAIL)
|
|
19
|
+
- REGION: OCI region
|
|
20
|
+
- TENANCYID: OCI tenancy OCID
|
|
21
|
+
- RESOURCEID: Resource OCID or identifier
|
|
22
|
+
|
|
23
|
+
Returns:
|
|
24
|
+
Section containers organized by CIS sections for dashboard display
|
|
25
|
+
"""
|
|
26
|
+
aux = data[
|
|
27
|
+
[
|
|
28
|
+
"REQUIREMENTS_ID",
|
|
29
|
+
"REQUIREMENTS_DESCRIPTION",
|
|
30
|
+
"REQUIREMENTS_ATTRIBUTES_SECTION",
|
|
31
|
+
"CHECKID",
|
|
32
|
+
"STATUS",
|
|
33
|
+
"REGION",
|
|
34
|
+
"TENANCYID",
|
|
35
|
+
"RESOURCEID",
|
|
36
|
+
]
|
|
37
|
+
].copy()
|
|
38
|
+
|
|
39
|
+
return get_section_containers_cis(
|
|
40
|
+
aux, "REQUIREMENTS_ID", "REQUIREMENTS_ATTRIBUTES_SECTION"
|
|
41
|
+
)
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import warnings
|
|
2
|
+
|
|
3
|
+
from dashboard.common_methods import get_section_containers_cis
|
|
4
|
+
|
|
5
|
+
warnings.filterwarnings("ignore")
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
def get_table(data):
|
|
9
|
+
|
|
10
|
+
aux = data[
|
|
11
|
+
[
|
|
12
|
+
"REQUIREMENTS_ID",
|
|
13
|
+
"REQUIREMENTS_DESCRIPTION",
|
|
14
|
+
"REQUIREMENTS_ATTRIBUTES_SECTION",
|
|
15
|
+
"CHECKID",
|
|
16
|
+
"STATUS",
|
|
17
|
+
"REGION",
|
|
18
|
+
"ACCOUNTID",
|
|
19
|
+
"RESOURCEID",
|
|
20
|
+
]
|
|
21
|
+
].copy()
|
|
22
|
+
|
|
23
|
+
return get_section_containers_cis(
|
|
24
|
+
aux, "REQUIREMENTS_ID", "REQUIREMENTS_ATTRIBUTES_SECTION"
|
|
25
|
+
)
|