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.
Files changed (1244) hide show
  1. dashboard/__main__.py +2 -1
  2. dashboard/assets/markdown-styles.css +34 -0
  3. dashboard/common_methods.py +350 -0
  4. dashboard/compliance/c5_aws.py +43 -0
  5. dashboard/compliance/c5_azure.py +43 -0
  6. dashboard/compliance/ccc_aws.py +36 -0
  7. dashboard/compliance/ccc_azure.py +36 -0
  8. dashboard/compliance/ccc_gcp.py +36 -0
  9. dashboard/compliance/cis_1_11_kubernetes.py +24 -0
  10. dashboard/compliance/cis_3_0_oci.py +41 -0
  11. dashboard/compliance/cis_4_0_azure.py +25 -0
  12. dashboard/compliance/cis_4_0_gcp.py +24 -0
  13. dashboard/compliance/fedramp_20x_ksi_low_aws.py +46 -0
  14. dashboard/compliance/fedramp_20x_ksi_low_azure.py +46 -0
  15. dashboard/compliance/fedramp_20x_ksi_low_gcp.py +46 -0
  16. dashboard/compliance/hipaa_gcp.py +25 -0
  17. dashboard/compliance/iso27001_2022_m365.py +23 -0
  18. dashboard/compliance/nis2_aws.py +43 -0
  19. dashboard/compliance/nis2_azure.py +43 -0
  20. dashboard/compliance/nis2_gcp.py +43 -0
  21. dashboard/compliance/nist_csf_2_0_aws.py +24 -0
  22. dashboard/compliance/prowler_threatscore_aws.py +7 -3
  23. dashboard/compliance/prowler_threatscore_azure.py +7 -3
  24. dashboard/compliance/prowler_threatscore_gcp.py +7 -3
  25. dashboard/compliance/prowler_threatscore_kubernetes.py +28 -0
  26. dashboard/compliance/prowler_threatscore_m365.py +7 -3
  27. dashboard/compliance/soc2_azure.py +24 -0
  28. dashboard/lib/cards.py +4 -1
  29. dashboard/lib/dropdowns.py +25 -0
  30. dashboard/lib/layouts.py +27 -8
  31. dashboard/pages/compliance.py +114 -62
  32. dashboard/pages/overview.py +177 -57
  33. prowler/AGENTS.md +366 -0
  34. prowler/CHANGELOG.md +523 -114
  35. prowler/__main__.py +254 -43
  36. prowler/compliance/aws/aws_account_security_onboarding_aws.json +1 -0
  37. prowler/compliance/aws/aws_audit_manager_control_tower_guardrails_aws.json +1 -0
  38. prowler/compliance/aws/aws_foundational_security_best_practices_aws.json +2 -1
  39. prowler/compliance/aws/aws_foundational_technical_review_aws.json +3 -2
  40. prowler/compliance/aws/aws_well_architected_framework_reliability_pillar_aws.json +1 -0
  41. prowler/compliance/aws/aws_well_architected_framework_security_pillar_aws.json +3 -2
  42. prowler/compliance/aws/c5_aws.json +10744 -0
  43. prowler/compliance/aws/ccc_aws.json +6206 -0
  44. prowler/compliance/aws/cis_1.4_aws.json +1 -0
  45. prowler/compliance/aws/cis_1.5_aws.json +1 -0
  46. prowler/compliance/aws/cis_2.0_aws.json +1 -0
  47. prowler/compliance/aws/cis_3.0_aws.json +1 -0
  48. prowler/compliance/aws/cis_4.0_aws.json +1 -0
  49. prowler/compliance/aws/cis_5.0_aws.json +1 -0
  50. prowler/compliance/aws/cisa_aws.json +1 -0
  51. prowler/compliance/aws/ens_rd2022_aws.json +1 -0
  52. prowler/compliance/aws/fedramp_20x_ksi_low_aws.json +347 -0
  53. prowler/compliance/aws/fedramp_low_revision_4_aws.json +1 -0
  54. prowler/compliance/aws/fedramp_moderate_revision_4_aws.json +1 -0
  55. prowler/compliance/aws/ffiec_aws.json +1 -0
  56. prowler/compliance/aws/gdpr_aws.json +1 -0
  57. prowler/compliance/aws/gxp_21_cfr_part_11_aws.json +1 -0
  58. prowler/compliance/aws/gxp_eu_annex_11_aws.json +1 -0
  59. prowler/compliance/aws/hipaa_aws.json +1 -0
  60. prowler/compliance/aws/iso27001_2013_aws.json +1 -0
  61. prowler/compliance/aws/iso27001_2022_aws.json +7 -6
  62. prowler/compliance/aws/kisa_isms_p_2023_aws.json +1183 -924
  63. prowler/compliance/aws/kisa_isms_p_2023_korean_aws.json +1308 -1034
  64. prowler/compliance/aws/mitre_attack_aws.json +297 -21
  65. prowler/compliance/aws/nis2_aws.json +2105 -0
  66. prowler/compliance/aws/nist_800_171_revision_2_aws.json +1 -0
  67. prowler/compliance/aws/nist_800_53_revision_4_aws.json +1 -0
  68. prowler/compliance/aws/nist_800_53_revision_5_aws.json +1 -0
  69. prowler/compliance/aws/nist_csf_1.1_aws.json +1 -0
  70. prowler/compliance/aws/nist_csf_2.0_aws.json +1781 -0
  71. prowler/compliance/aws/pci_3.2.1_aws.json +2 -1
  72. prowler/compliance/aws/pci_4.0_aws.json +1 -0
  73. prowler/compliance/aws/prowler_threatscore_aws.json +680 -573
  74. prowler/compliance/aws/rbi_cyber_security_framework_aws.json +2 -1
  75. prowler/compliance/aws/soc2_aws.json +3 -2
  76. prowler/compliance/azure/c5_azure.json +9471 -0
  77. prowler/compliance/azure/ccc_azure.json +6147 -0
  78. prowler/compliance/azure/cis_2.0_azure.json +1 -0
  79. prowler/compliance/azure/cis_2.1_azure.json +1 -0
  80. prowler/compliance/azure/cis_3.0_azure.json +1 -0
  81. prowler/compliance/azure/cis_4.0_azure.json +3088 -0
  82. prowler/compliance/azure/ens_rd2022_azure.json +1 -0
  83. prowler/compliance/azure/fedramp_20x_ksi_low_azure.json +358 -0
  84. prowler/compliance/azure/iso27001_2022_azure.json +1 -0
  85. prowler/compliance/azure/mitre_attack_azure.json +131 -5
  86. prowler/compliance/azure/nis2_azure.json +1899 -0
  87. prowler/compliance/azure/pci_4.0_azure.json +1 -0
  88. prowler/compliance/azure/prowler_threatscore_azure.json +157 -97
  89. prowler/compliance/azure/soc2_azure.json +624 -0
  90. prowler/compliance/gcp/c5_gcp.json +9401 -0
  91. prowler/compliance/gcp/ccc_gcp.json +6077 -0
  92. prowler/compliance/gcp/cis_2.0_gcp.json +1 -0
  93. prowler/compliance/gcp/cis_3.0_gcp.json +1 -0
  94. prowler/compliance/gcp/cis_4.0_gcp.json +1847 -0
  95. prowler/compliance/gcp/ens_rd2022_gcp.json +1 -0
  96. prowler/compliance/gcp/fedramp_20x_ksi_low_gcp.json +293 -0
  97. prowler/compliance/gcp/hipaa_gcp.json +415 -0
  98. prowler/compliance/gcp/iso27001_2022_gcp.json +1 -0
  99. prowler/compliance/gcp/mitre_attack_gcp.json +288 -11
  100. prowler/compliance/gcp/nis2_gcp.json +1493 -0
  101. prowler/compliance/gcp/pci_4.0_gcp.json +1 -0
  102. prowler/compliance/gcp/prowler_threatscore_gcp.json +115 -57
  103. prowler/compliance/gcp/soc2_gcp.json +1 -0
  104. prowler/compliance/github/cis_1.0_github.json +846 -848
  105. prowler/compliance/kubernetes/cis_1.10_kubernetes.json +131 -130
  106. prowler/compliance/kubernetes/cis_1.11_kubernetes.json +2981 -0
  107. prowler/compliance/kubernetes/cis_1.8_kubernetes.json +131 -130
  108. prowler/compliance/kubernetes/iso27001_2022_kubernetes.json +1 -0
  109. prowler/compliance/kubernetes/pci_4.0_kubernetes.json +2 -1
  110. prowler/compliance/kubernetes/prowler_threatscore_kubernetes.json +1269 -0
  111. prowler/compliance/m365/cis_4.0_m365.json +10 -3
  112. prowler/compliance/m365/iso27001_2022_m365.json +897 -0
  113. prowler/compliance/m365/prowler_threatscore_m365.json +152 -70
  114. prowler/compliance/mongodbatlas/__init__.py +0 -0
  115. prowler/compliance/nhn/iso27001_2022_nhn.json +1 -0
  116. prowler/compliance/oraclecloud/__init__.py +0 -0
  117. prowler/compliance/oraclecloud/cis_3.0_oraclecloud.json +1141 -0
  118. prowler/config/aws_mutelist_example.yaml +1 -16
  119. prowler/config/config.py +64 -4
  120. prowler/config/config.yaml +78 -0
  121. prowler/config/llm_config.yaml +175015 -0
  122. prowler/config/m365_mutelist_example.yaml +0 -3
  123. prowler/config/mongodbatlas_mutelist_example.yaml +32 -0
  124. prowler/config/oraclecloud_mutelist_example.yaml +61 -0
  125. prowler/lib/check/check.py +53 -1
  126. prowler/lib/check/checks_loader.py +76 -9
  127. prowler/lib/check/compliance.py +1 -0
  128. prowler/lib/check/compliance_models.py +56 -21
  129. prowler/lib/check/models.py +232 -19
  130. prowler/lib/check/utils.py +8 -0
  131. prowler/lib/cli/parser.py +26 -7
  132. prowler/lib/mutelist/mutelist.py +40 -20
  133. prowler/lib/outputs/asff/asff.py +2 -2
  134. prowler/lib/outputs/compliance/aws_well_architected/aws_well_architected.py +7 -2
  135. prowler/lib/outputs/compliance/aws_well_architected/models.py +4 -2
  136. prowler/lib/outputs/compliance/c5/__init__.py +0 -0
  137. prowler/lib/outputs/compliance/c5/c5.py +98 -0
  138. prowler/lib/outputs/compliance/c5/c5_aws.py +92 -0
  139. prowler/lib/outputs/compliance/c5/c5_azure.py +92 -0
  140. prowler/lib/outputs/compliance/c5/c5_gcp.py +92 -0
  141. prowler/lib/outputs/compliance/c5/models.py +84 -0
  142. prowler/lib/outputs/compliance/ccc/__init__.py +0 -0
  143. prowler/lib/outputs/compliance/ccc/ccc_aws.py +96 -0
  144. prowler/lib/outputs/compliance/ccc/ccc_azure.py +96 -0
  145. prowler/lib/outputs/compliance/ccc/ccc_gcp.py +96 -0
  146. prowler/lib/outputs/compliance/ccc/models.py +90 -0
  147. prowler/lib/outputs/compliance/cis/cis_aws.py +7 -2
  148. prowler/lib/outputs/compliance/cis/cis_azure.py +7 -2
  149. prowler/lib/outputs/compliance/cis/cis_gcp.py +7 -2
  150. prowler/lib/outputs/compliance/cis/cis_github.py +7 -4
  151. prowler/lib/outputs/compliance/cis/cis_kubernetes.py +7 -4
  152. prowler/lib/outputs/compliance/cis/cis_m365.py +7 -2
  153. prowler/lib/outputs/compliance/cis/cis_oraclecloud.py +106 -0
  154. prowler/lib/outputs/compliance/cis/models.py +66 -10
  155. prowler/lib/outputs/compliance/compliance.py +10 -0
  156. prowler/lib/outputs/compliance/compliance_output.py +4 -1
  157. prowler/lib/outputs/compliance/ens/ens_aws.py +7 -2
  158. prowler/lib/outputs/compliance/ens/ens_azure.py +7 -2
  159. prowler/lib/outputs/compliance/ens/ens_gcp.py +7 -2
  160. prowler/lib/outputs/compliance/ens/models.py +7 -1
  161. prowler/lib/outputs/compliance/generic/generic.py +7 -2
  162. prowler/lib/outputs/compliance/generic/models.py +8 -6
  163. prowler/lib/outputs/compliance/iso27001/iso27001_aws.py +7 -2
  164. prowler/lib/outputs/compliance/iso27001/iso27001_azure.py +7 -2
  165. prowler/lib/outputs/compliance/iso27001/iso27001_gcp.py +7 -2
  166. prowler/lib/outputs/compliance/iso27001/iso27001_kubernetes.py +7 -2
  167. prowler/lib/outputs/compliance/iso27001/iso27001_m365.py +92 -0
  168. prowler/lib/outputs/compliance/iso27001/iso27001_nhn.py +7 -2
  169. prowler/lib/outputs/compliance/iso27001/models.py +38 -1
  170. prowler/lib/outputs/compliance/kisa_ismsp/kisa_ismsp.py +20 -1
  171. prowler/lib/outputs/compliance/kisa_ismsp/kisa_ismsp_aws.py +7 -2
  172. prowler/lib/outputs/compliance/kisa_ismsp/models.py +7 -5
  173. prowler/lib/outputs/compliance/mitre_attack/mitre_attack_aws.py +7 -2
  174. prowler/lib/outputs/compliance/mitre_attack/mitre_attack_azure.py +7 -2
  175. prowler/lib/outputs/compliance/mitre_attack/mitre_attack_gcp.py +7 -2
  176. prowler/lib/outputs/compliance/mitre_attack/models.py +7 -1
  177. prowler/lib/outputs/compliance/prowler_threatscore/models.py +46 -5
  178. prowler/lib/outputs/compliance/prowler_threatscore/prowler_threatscore.py +67 -17
  179. prowler/lib/outputs/compliance/prowler_threatscore/prowler_threatscore_aws.py +9 -2
  180. prowler/lib/outputs/compliance/prowler_threatscore/prowler_threatscore_azure.py +9 -2
  181. prowler/lib/outputs/compliance/prowler_threatscore/prowler_threatscore_gcp.py +9 -2
  182. prowler/lib/outputs/compliance/prowler_threatscore/prowler_threatscore_kubernetes.py +98 -0
  183. prowler/lib/outputs/compliance/prowler_threatscore/prowler_threatscore_m365.py +9 -2
  184. prowler/lib/outputs/csv/csv.py +3 -0
  185. prowler/lib/outputs/finding.py +74 -6
  186. prowler/lib/outputs/html/html.py +350 -17
  187. prowler/lib/outputs/jira/exceptions/exceptions.py +11 -0
  188. prowler/lib/outputs/jira/jira.py +1337 -452
  189. prowler/lib/outputs/ocsf/ocsf.py +4 -7
  190. prowler/lib/outputs/outputs.py +9 -1
  191. prowler/lib/outputs/summary_table.py +22 -0
  192. prowler/lib/powershell/powershell.py +12 -11
  193. prowler/lib/scan/scan.py +105 -24
  194. prowler/lib/scan_filters/scan_filters.py +1 -1
  195. prowler/lib/utils/utils.py +1 -1
  196. prowler/providers/aws/aws_provider.py +35 -20
  197. prowler/providers/aws/aws_regions_by_service.json +643 -75
  198. prowler/providers/aws/lib/arn/models.py +2 -2
  199. prowler/providers/aws/lib/mutelist/mutelist.py +1 -1
  200. prowler/providers/aws/lib/quick_inventory/quick_inventory.py +4 -1
  201. prowler/providers/aws/lib/s3/exceptions/exceptions.py +11 -0
  202. prowler/providers/aws/lib/s3/s3.py +223 -24
  203. prowler/providers/aws/lib/security_hub/security_hub.py +405 -58
  204. prowler/providers/aws/lib/session/aws_set_up_session.py +10 -9
  205. prowler/providers/aws/services/accessanalyzer/accessanalyzer_enabled/accessanalyzer_enabled.metadata.json +27 -13
  206. prowler/providers/aws/services/accessanalyzer/accessanalyzer_enabled_without_findings/accessanalyzer_enabled_without_findings.metadata.json +32 -13
  207. prowler/providers/aws/services/accessanalyzer/accessanalyzer_service.py +1 -1
  208. prowler/providers/aws/services/account/account_maintain_current_contact_details/account_maintain_current_contact_details.metadata.json +23 -11
  209. 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
  210. prowler/providers/aws/services/account/account_security_contact_information_is_registered/account_security_contact_information_is_registered.metadata.json +19 -11
  211. 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
  212. prowler/providers/aws/services/account/account_service.py +5 -5
  213. prowler/providers/aws/services/acm/acm_certificates_expiration_check/acm_certificates_expiration_check.metadata.json +17 -9
  214. prowler/providers/aws/services/acm/acm_certificates_transparency_logs_enabled/acm_certificates_transparency_logs_enabled.metadata.json +16 -12
  215. prowler/providers/aws/services/acm/acm_certificates_with_secure_key_algorithms/acm_certificates_with_secure_key_algorithms.metadata.json +21 -12
  216. prowler/providers/aws/services/acm/acm_service.py +2 -2
  217. prowler/providers/aws/services/apigateway/apigateway_restapi_authorizers_enabled/apigateway_restapi_authorizers_enabled.metadata.json +23 -16
  218. prowler/providers/aws/services/apigateway/apigateway_restapi_cache_encrypted/apigateway_restapi_cache_encrypted.metadata.json +22 -12
  219. prowler/providers/aws/services/apigateway/apigateway_restapi_client_certificate_enabled/apigateway_restapi_client_certificate_enabled.metadata.json +26 -18
  220. prowler/providers/aws/services/apigateway/apigateway_restapi_logging_enabled/apigateway_restapi_logging_enabled.metadata.json +30 -19
  221. prowler/providers/aws/services/apigateway/apigateway_restapi_public/apigateway_restapi_public.metadata.json +24 -16
  222. prowler/providers/aws/services/apigateway/apigateway_restapi_public_with_authorizer/apigateway_restapi_public_with_authorizer.metadata.json +31 -18
  223. prowler/providers/aws/services/apigateway/apigateway_restapi_tracing_enabled/apigateway_restapi_tracing_enabled.metadata.json +20 -12
  224. prowler/providers/aws/services/apigateway/apigateway_restapi_waf_acl_attached/apigateway_restapi_waf_acl_attached.metadata.json +24 -18
  225. prowler/providers/aws/services/apigateway/apigateway_service.py +5 -5
  226. prowler/providers/aws/services/apigatewayv2/apigatewayv2_api_access_logging_enabled/apigatewayv2_api_access_logging_enabled.metadata.json +19 -13
  227. prowler/providers/aws/services/apigatewayv2/apigatewayv2_api_authorizers_enabled/apigatewayv2_api_authorizers_enabled.metadata.json +22 -13
  228. prowler/providers/aws/services/apigatewayv2/apigatewayv2_service.py +1 -1
  229. prowler/providers/aws/services/appstream/appstream_fleet_default_internet_access_disabled/appstream_fleet_default_internet_access_disabled.metadata.json +23 -15
  230. prowler/providers/aws/services/appstream/appstream_fleet_maximum_session_duration/appstream_fleet_maximum_session_duration.metadata.json +15 -12
  231. prowler/providers/aws/services/appstream/appstream_fleet_session_disconnect_timeout/appstream_fleet_session_disconnect_timeout.metadata.json +17 -14
  232. prowler/providers/aws/services/appstream/appstream_fleet_session_idle_disconnect_timeout/appstream_fleet_session_idle_disconnect_timeout.metadata.json +20 -15
  233. prowler/providers/aws/services/appstream/appstream_service.py +1 -1
  234. prowler/providers/aws/services/appsync/appsync_field_level_logging_enabled/appsync_field_level_logging_enabled.metadata.json +21 -12
  235. prowler/providers/aws/services/appsync/appsync_graphql_api_no_api_key_authentication/appsync_graphql_api_no_api_key_authentication.metadata.json +20 -13
  236. prowler/providers/aws/services/appsync/appsync_service.py +1 -1
  237. prowler/providers/aws/services/athena/athena_service.py +1 -1
  238. prowler/providers/aws/services/athena/athena_workgroup_encryption/athena_workgroup_encryption.metadata.json +24 -12
  239. prowler/providers/aws/services/athena/athena_workgroup_enforce_configuration/athena_workgroup_enforce_configuration.metadata.json +20 -13
  240. prowler/providers/aws/services/athena/athena_workgroup_logging_enabled/athena_workgroup_logging_enabled.metadata.json +21 -12
  241. prowler/providers/aws/services/autoscaling/autoscaling_find_secrets_ec2_launch_configuration/autoscaling_find_secrets_ec2_launch_configuration.metadata.json +15 -10
  242. prowler/providers/aws/services/autoscaling/autoscaling_group_capacity_rebalance_enabled/autoscaling_group_capacity_rebalance_enabled.metadata.json +20 -13
  243. prowler/providers/aws/services/autoscaling/autoscaling_group_elb_health_check_enabled/autoscaling_group_elb_health_check_enabled.metadata.json +20 -12
  244. prowler/providers/aws/services/autoscaling/autoscaling_group_launch_configuration_no_public_ip/autoscaling_group_launch_configuration_no_public_ip.metadata.json +20 -13
  245. prowler/providers/aws/services/autoscaling/autoscaling_group_launch_configuration_requires_imdsv2/autoscaling_group_launch_configuration_requires_imdsv2.metadata.json +26 -14
  246. prowler/providers/aws/services/autoscaling/autoscaling_group_multiple_az/autoscaling_group_multiple_az.metadata.json +22 -13
  247. prowler/providers/aws/services/autoscaling/autoscaling_group_multiple_instance_types/autoscaling_group_multiple_instance_types.metadata.json +21 -13
  248. prowler/providers/aws/services/autoscaling/autoscaling_group_using_ec2_launch_template/autoscaling_group_using_ec2_launch_template.metadata.json +19 -12
  249. prowler/providers/aws/services/autoscaling/autoscaling_service.py +2 -2
  250. prowler/providers/aws/services/awslambda/awslambda_function_inside_vpc/awslambda_function_inside_vpc.metadata.json +26 -13
  251. 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
  252. prowler/providers/aws/services/awslambda/awslambda_function_no_secrets_in_code/awslambda_function_no_secrets_in_code.metadata.json +18 -9
  253. prowler/providers/aws/services/awslambda/awslambda_function_no_secrets_in_variables/awslambda_function_no_secrets_in_variables.metadata.json +20 -12
  254. prowler/providers/aws/services/awslambda/awslambda_function_not_publicly_accessible/awslambda_function_not_publicly_accessible.metadata.json +21 -12
  255. prowler/providers/aws/services/awslambda/awslambda_function_url_cors_policy/awslambda_function_url_cors_policy.metadata.json +24 -13
  256. prowler/providers/aws/services/awslambda/awslambda_function_url_public/awslambda_function_url_public.metadata.json +22 -12
  257. prowler/providers/aws/services/awslambda/awslambda_function_using_supported_runtimes/awslambda_function_using_supported_runtimes.metadata.json +21 -12
  258. prowler/providers/aws/services/awslambda/awslambda_function_vpc_multi_az/awslambda_function_vpc_multi_az.metadata.json +23 -13
  259. prowler/providers/aws/services/awslambda/awslambda_service.py +5 -5
  260. prowler/providers/aws/services/backup/backup_plans_exist/backup_plans_exist.metadata.json +22 -15
  261. prowler/providers/aws/services/backup/backup_recovery_point_encrypted/backup_recovery_point_encrypted.metadata.json +21 -12
  262. prowler/providers/aws/services/backup/backup_reportplans_exist/backup_reportplans_exist.metadata.json +19 -15
  263. prowler/providers/aws/services/backup/backup_service.py +7 -7
  264. prowler/providers/aws/services/backup/backup_vaults_encrypted/backup_vaults_encrypted.metadata.json +24 -13
  265. prowler/providers/aws/services/backup/backup_vaults_exist/backup_vaults_exist.metadata.json +19 -15
  266. prowler/providers/aws/services/bedrock/bedrock_api_key_no_administrative_privileges/__init__.py +0 -0
  267. prowler/providers/aws/services/bedrock/bedrock_api_key_no_administrative_privileges/bedrock_api_key_no_administrative_privileges.metadata.json +36 -0
  268. prowler/providers/aws/services/bedrock/bedrock_api_key_no_administrative_privileges/bedrock_api_key_no_administrative_privileges.py +57 -0
  269. prowler/providers/aws/services/bedrock/bedrock_api_key_no_long_term_credentials/__init__.py +0 -0
  270. prowler/providers/aws/services/bedrock/bedrock_api_key_no_long_term_credentials/bedrock_api_key_no_long_term_credentials.metadata.json +36 -0
  271. prowler/providers/aws/services/bedrock/bedrock_api_key_no_long_term_credentials/bedrock_api_key_no_long_term_credentials.py +49 -0
  272. prowler/providers/aws/services/bedrock/bedrock_service.py +3 -3
  273. prowler/providers/aws/services/cloudformation/cloudformation_service.py +1 -1
  274. prowler/providers/aws/services/cloudformation/cloudformation_stack_cdktoolkit_bootstrap_version/cloudformation_stack_cdktoolkit_bootstrap_version.metadata.json +24 -13
  275. prowler/providers/aws/services/cloudformation/cloudformation_stack_outputs_find_secrets/cloudformation_stack_outputs_find_secrets.metadata.json +22 -12
  276. prowler/providers/aws/services/cloudformation/cloudformation_stacks_termination_protection_enabled/cloudformation_stacks_termination_protection_enabled.metadata.json +21 -12
  277. prowler/providers/aws/services/cloudfront/cloudfront_distributions_custom_ssl_certificate/cloudfront_distributions_custom_ssl_certificate.metadata.json +21 -12
  278. prowler/providers/aws/services/cloudfront/cloudfront_distributions_default_root_object/cloudfront_distributions_default_root_object.metadata.json +19 -12
  279. prowler/providers/aws/services/cloudfront/cloudfront_distributions_field_level_encryption_enabled/cloudfront_distributions_field_level_encryption_enabled.metadata.json +19 -12
  280. prowler/providers/aws/services/cloudfront/cloudfront_distributions_geo_restrictions_enabled/cloudfront_distributions_geo_restrictions_enabled.metadata.json +22 -13
  281. prowler/providers/aws/services/cloudfront/cloudfront_distributions_https_enabled/cloudfront_distributions_https_enabled.metadata.json +21 -12
  282. prowler/providers/aws/services/cloudfront/cloudfront_distributions_https_sni_enabled/cloudfront_distributions_https_sni_enabled.metadata.json +20 -12
  283. prowler/providers/aws/services/cloudfront/cloudfront_distributions_logging_enabled/cloudfront_distributions_logging_enabled.metadata.json +22 -13
  284. prowler/providers/aws/services/cloudfront/cloudfront_distributions_multiple_origin_failover_configured/cloudfront_distributions_multiple_origin_failover_configured.metadata.json +21 -16
  285. prowler/providers/aws/services/cloudfront/cloudfront_distributions_origin_traffic_encrypted/cloudfront_distributions_origin_traffic_encrypted.metadata.json +27 -14
  286. prowler/providers/aws/services/cloudfront/cloudfront_distributions_s3_origin_access_control/cloudfront_distributions_s3_origin_access_control.metadata.json +24 -14
  287. prowler/providers/aws/services/cloudfront/cloudfront_distributions_s3_origin_non_existent_bucket/cloudfront_distributions_s3_origin_non_existent_bucket.metadata.json +18 -11
  288. prowler/providers/aws/services/cloudfront/cloudfront_distributions_using_deprecated_ssl_protocols/cloudfront_distributions_using_deprecated_ssl_protocols.metadata.json +20 -12
  289. prowler/providers/aws/services/cloudfront/cloudfront_distributions_using_waf/cloudfront_distributions_using_waf.metadata.json +21 -12
  290. prowler/providers/aws/services/cloudfront/cloudfront_service.py +12 -12
  291. prowler/providers/aws/services/cloudtrail/cloudtrail_bucket_requires_mfa_delete/cloudtrail_bucket_requires_mfa_delete.metadata.json +16 -11
  292. prowler/providers/aws/services/cloudtrail/cloudtrail_cloudwatch_logging_enabled/cloudtrail_cloudwatch_logging_enabled.metadata.json +19 -15
  293. prowler/providers/aws/services/cloudtrail/cloudtrail_insights_exist/cloudtrail_insights_exist.metadata.json +19 -14
  294. prowler/providers/aws/services/cloudtrail/cloudtrail_kms_encryption_enabled/cloudtrail_kms_encryption_enabled.metadata.json +19 -14
  295. prowler/providers/aws/services/cloudtrail/cloudtrail_log_file_validation_enabled/cloudtrail_log_file_validation_enabled.metadata.json +20 -13
  296. prowler/providers/aws/services/cloudtrail/cloudtrail_logs_s3_bucket_access_logging_enabled/cloudtrail_logs_s3_bucket_access_logging_enabled.metadata.json +18 -13
  297. 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
  298. prowler/providers/aws/services/cloudtrail/cloudtrail_multi_region_enabled/cloudtrail_multi_region_enabled.metadata.json +17 -13
  299. prowler/providers/aws/services/cloudtrail/cloudtrail_multi_region_enabled_logging_management_events/cloudtrail_multi_region_enabled_logging_management_events.metadata.json +19 -12
  300. prowler/providers/aws/services/cloudtrail/cloudtrail_s3_dataevents_read_enabled/cloudtrail_s3_dataevents_read_enabled.metadata.json +22 -12
  301. prowler/providers/aws/services/cloudtrail/cloudtrail_s3_dataevents_write_enabled/cloudtrail_s3_dataevents_write_enabled.metadata.json +21 -11
  302. prowler/providers/aws/services/cloudtrail/cloudtrail_service.py +1 -1
  303. prowler/providers/aws/services/cloudtrail/cloudtrail_threat_detection_enumeration/cloudtrail_threat_detection_enumeration.metadata.json +22 -11
  304. prowler/providers/aws/services/cloudtrail/cloudtrail_threat_detection_enumeration/cloudtrail_threat_detection_enumeration.py +2 -0
  305. prowler/providers/aws/services/cloudtrail/cloudtrail_threat_detection_llm_jacking/cloudtrail_threat_detection_llm_jacking.metadata.json +25 -12
  306. prowler/providers/aws/services/cloudtrail/cloudtrail_threat_detection_privilege_escalation/cloudtrail_threat_detection_privilege_escalation.metadata.json +18 -10
  307. prowler/providers/aws/services/cloudwatch/cloudwatch_alarm_actions_alarm_state_configured/cloudwatch_alarm_actions_alarm_state_configured.metadata.json +23 -12
  308. prowler/providers/aws/services/cloudwatch/cloudwatch_alarm_actions_enabled/cloudwatch_alarm_actions_enabled.metadata.json +21 -12
  309. prowler/providers/aws/services/cloudwatch/cloudwatch_changes_to_network_acls_alarm_configured/cloudwatch_changes_to_network_acls_alarm_configured.metadata.json +23 -12
  310. prowler/providers/aws/services/cloudwatch/cloudwatch_changes_to_network_gateways_alarm_configured/cloudwatch_changes_to_network_gateways_alarm_configured.metadata.json +24 -12
  311. 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
  312. prowler/providers/aws/services/cloudwatch/cloudwatch_changes_to_vpcs_alarm_configured/cloudwatch_changes_to_vpcs_alarm_configured.metadata.json +17 -11
  313. prowler/providers/aws/services/cloudwatch/cloudwatch_cross_account_sharing_disabled/cloudwatch_cross_account_sharing_disabled.metadata.json +20 -12
  314. prowler/providers/aws/services/cloudwatch/cloudwatch_log_group_kms_encryption_enabled/cloudwatch_log_group_kms_encryption_enabled.metadata.json +22 -13
  315. prowler/providers/aws/services/cloudwatch/cloudwatch_log_group_no_secrets_in_logs/cloudwatch_log_group_no_secrets_in_logs.metadata.json +22 -17
  316. prowler/providers/aws/services/cloudwatch/cloudwatch_log_group_not_publicly_accessible/cloudwatch_log_group_not_publicly_accessible.metadata.json +18 -12
  317. 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
  318. 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
  319. 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
  320. prowler/providers/aws/services/cloudwatch/cloudwatch_log_metric_filter_authentication_failures/cloudwatch_log_metric_filter_authentication_failures.metadata.json +25 -12
  321. prowler/providers/aws/services/cloudwatch/cloudwatch_log_metric_filter_aws_organizations_changes/cloudwatch_log_metric_filter_aws_organizations_changes.metadata.json +23 -12
  322. 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
  323. 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
  324. prowler/providers/aws/services/cloudwatch/cloudwatch_log_metric_filter_policy_changes/cloudwatch_log_metric_filter_policy_changes.metadata.json +21 -12
  325. prowler/providers/aws/services/cloudwatch/cloudwatch_log_metric_filter_root_usage/cloudwatch_log_metric_filter_root_usage.metadata.json +27 -12
  326. prowler/providers/aws/services/cloudwatch/cloudwatch_log_metric_filter_security_group_changes/cloudwatch_log_metric_filter_security_group_changes.metadata.json +22 -12
  327. 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
  328. prowler/providers/aws/services/cloudwatch/cloudwatch_log_metric_filter_unauthorized_api_calls/cloudwatch_log_metric_filter_unauthorized_api_calls.metadata.json +25 -12
  329. prowler/providers/aws/services/cloudwatch/cloudwatch_service.py +4 -4
  330. prowler/providers/aws/services/codeartifact/codeartifact_packages_external_public_publishing_disabled/codeartifact_packages_external_public_publishing_disabled.metadata.json +20 -11
  331. prowler/providers/aws/services/codeartifact/codeartifact_service.py +2 -2
  332. prowler/providers/aws/services/codebuild/codebuild_project_logging_enabled/codebuild_project_logging_enabled.metadata.json +22 -12
  333. prowler/providers/aws/services/codebuild/codebuild_project_no_secrets_in_variables/codebuild_project_no_secrets_in_variables.metadata.json +28 -12
  334. prowler/providers/aws/services/codebuild/codebuild_project_not_publicly_accessible/__init__.py +0 -0
  335. prowler/providers/aws/services/codebuild/codebuild_project_not_publicly_accessible/codebuild_project_not_publicly_accessible.metadata.json +40 -0
  336. prowler/providers/aws/services/codebuild/codebuild_project_not_publicly_accessible/codebuild_project_not_publicly_accessible.py +26 -0
  337. prowler/providers/aws/services/codebuild/codebuild_project_older_90_days/codebuild_project_older_90_days.metadata.json +15 -10
  338. prowler/providers/aws/services/codebuild/codebuild_project_s3_logs_encrypted/codebuild_project_s3_logs_encrypted.metadata.json +19 -11
  339. 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
  340. prowler/providers/aws/services/codebuild/codebuild_project_user_controlled_buildspec/codebuild_project_user_controlled_buildspec.metadata.json +19 -12
  341. prowler/providers/aws/services/codebuild/codebuild_project_uses_allowed_github_organizations/codebuild_project_uses_allowed_github_organizations.metadata.json +41 -0
  342. prowler/providers/aws/services/codebuild/codebuild_project_uses_allowed_github_organizations/codebuild_project_uses_allowed_github_organizations.py +57 -0
  343. prowler/providers/aws/services/codebuild/codebuild_report_group_export_encrypted/codebuild_report_group_export_encrypted.metadata.json +35 -13
  344. prowler/providers/aws/services/codebuild/codebuild_service.py +12 -8
  345. prowler/providers/aws/services/codepipeline/__init__.py +0 -0
  346. prowler/providers/aws/services/codepipeline/codepipeline_client.py +6 -0
  347. prowler/providers/aws/services/codepipeline/codepipeline_project_repo_private/__init__.py +0 -0
  348. prowler/providers/aws/services/codepipeline/codepipeline_project_repo_private/codepipeline_project_repo_private.metadata.json +30 -0
  349. prowler/providers/aws/services/codepipeline/codepipeline_project_repo_private/codepipeline_project_repo_private.py +95 -0
  350. prowler/providers/aws/services/codepipeline/codepipeline_service.py +164 -0
  351. prowler/providers/aws/services/cognito/cognito_service.py +1 -1
  352. prowler/providers/aws/services/cognito/cognito_user_pool_self_registration_disabled/cognito_user_pool_self_registration_disabled.py +4 -1
  353. prowler/providers/aws/services/config/config_recorder_all_regions_enabled/config_recorder_all_regions_enabled.metadata.json +20 -12
  354. prowler/providers/aws/services/config/config_recorder_using_aws_service_role/config_recorder_using_aws_service_role.metadata.json +20 -13
  355. prowler/providers/aws/services/config/config_service.py +1 -1
  356. prowler/providers/aws/services/datasync/datasync_service.py +1 -1
  357. prowler/providers/aws/services/directconnect/directconnect_connection_redundancy/directconnect_connection_redundancy.metadata.json +19 -13
  358. prowler/providers/aws/services/directconnect/directconnect_service.py +1 -1
  359. prowler/providers/aws/services/directconnect/directconnect_virtual_interface_redundancy/directconnect_virtual_interface_redundancy.metadata.json +19 -13
  360. prowler/providers/aws/services/directoryservice/directoryservice_directory_log_forwarding_enabled/directoryservice_directory_log_forwarding_enabled.metadata.json +20 -11
  361. prowler/providers/aws/services/directoryservice/directoryservice_directory_monitor_notifications/directoryservice_directory_monitor_notifications.metadata.json +19 -11
  362. prowler/providers/aws/services/directoryservice/directoryservice_directory_snapshots_limit/directoryservice_directory_snapshots_limit.metadata.json +19 -10
  363. prowler/providers/aws/services/directoryservice/directoryservice_ldap_certificate_expiration/directoryservice_ldap_certificate_expiration.metadata.json +20 -11
  364. prowler/providers/aws/services/directoryservice/directoryservice_radius_server_security_protocol/directoryservice_radius_server_security_protocol.metadata.json +23 -12
  365. prowler/providers/aws/services/directoryservice/directoryservice_service.py +1 -1
  366. prowler/providers/aws/services/directoryservice/directoryservice_supported_mfa_radius_enabled/directoryservice_supported_mfa_radius_enabled.metadata.json +23 -12
  367. prowler/providers/aws/services/dlm/dlm_ebs_snapshot_lifecycle_policy_exists/dlm_ebs_snapshot_lifecycle_policy_exists.metadata.json +19 -13
  368. prowler/providers/aws/services/dlm/dlm_service.py +1 -1
  369. prowler/providers/aws/services/dms/dms_endpoint_mongodb_authentication_enabled/dms_endpoint_mongodb_authentication_enabled.metadata.json +20 -13
  370. prowler/providers/aws/services/dms/dms_endpoint_neptune_iam_authorization_enabled/dms_endpoint_neptune_iam_authorization_enabled.metadata.json +19 -12
  371. prowler/providers/aws/services/dms/dms_endpoint_redis_in_transit_encryption_enabled/dms_endpoint_redis_in_transit_encryption_enabled.metadata.json +23 -13
  372. prowler/providers/aws/services/dms/dms_endpoint_ssl_enabled/dms_endpoint_ssl_enabled.metadata.json +27 -19
  373. prowler/providers/aws/services/dms/dms_instance_minor_version_upgrade_enabled/dms_instance_minor_version_upgrade_enabled.metadata.json +22 -12
  374. prowler/providers/aws/services/dms/dms_instance_multi_az_enabled/dms_instance_multi_az_enabled.metadata.json +20 -13
  375. prowler/providers/aws/services/dms/dms_instance_no_public_access/dms_instance_no_public_access.metadata.json +22 -11
  376. prowler/providers/aws/services/dms/dms_replication_task_source_logging_enabled/dms_replication_task_source_logging_enabled.metadata.json +21 -13
  377. prowler/providers/aws/services/dms/dms_replication_task_target_logging_enabled/dms_replication_task_target_logging_enabled.metadata.json +22 -13
  378. prowler/providers/aws/services/dms/dms_replication_task_target_logging_enabled/dms_replication_task_target_logging_enabled.py +39 -37
  379. prowler/providers/aws/services/dms/dms_service.py +1 -2
  380. prowler/providers/aws/services/documentdb/documentdb_cluster_backup_enabled/documentdb_cluster_backup_enabled.metadata.json +25 -14
  381. prowler/providers/aws/services/documentdb/documentdb_cluster_cloudwatch_log_export/documentdb_cluster_cloudwatch_log_export.metadata.json +23 -13
  382. prowler/providers/aws/services/documentdb/documentdb_cluster_deletion_protection/documentdb_cluster_deletion_protection.metadata.json +24 -13
  383. prowler/providers/aws/services/documentdb/documentdb_cluster_multi_az_enabled/documentdb_cluster_multi_az_enabled.metadata.json +19 -13
  384. prowler/providers/aws/services/documentdb/documentdb_cluster_public_snapshot/documentdb_cluster_public_snapshot.metadata.json +20 -10
  385. prowler/providers/aws/services/documentdb/documentdb_cluster_storage_encrypted/documentdb_cluster_storage_encrypted.metadata.json +26 -13
  386. prowler/providers/aws/services/documentdb/documentdb_service.py +1 -1
  387. prowler/providers/aws/services/drs/drs_job_exist/drs_job_exist.metadata.json +20 -10
  388. prowler/providers/aws/services/drs/drs_service.py +1 -1
  389. prowler/providers/aws/services/dynamodb/dynamodb_accelerator_cluster_encryption_enabled/dynamodb_accelerator_cluster_encryption_enabled.metadata.json +18 -11
  390. prowler/providers/aws/services/dynamodb/dynamodb_accelerator_cluster_in_transit_encryption_enabled/dynamodb_accelerator_cluster_in_transit_encryption_enabled.metadata.json +16 -11
  391. prowler/providers/aws/services/dynamodb/dynamodb_accelerator_cluster_multi_az/dynamodb_accelerator_cluster_multi_az.metadata.json +21 -13
  392. prowler/providers/aws/services/dynamodb/dynamodb_service.py +1 -1
  393. prowler/providers/aws/services/dynamodb/dynamodb_table_autoscaling_enabled/dynamodb_table_autoscaling_enabled.metadata.json +20 -12
  394. prowler/providers/aws/services/dynamodb/dynamodb_table_cross_account_access/dynamodb_table_cross_account_access.metadata.json +17 -10
  395. prowler/providers/aws/services/dynamodb/dynamodb_table_deletion_protection_enabled/dynamodb_table_deletion_protection_enabled.metadata.json +21 -13
  396. prowler/providers/aws/services/dynamodb/dynamodb_table_protected_by_backup_plan/dynamodb_table_protected_by_backup_plan.metadata.json +18 -12
  397. prowler/providers/aws/services/dynamodb/dynamodb_tables_kms_cmk_encryption_enabled/dynamodb_tables_kms_cmk_encryption_enabled.metadata.json +18 -12
  398. prowler/providers/aws/services/dynamodb/dynamodb_tables_pitr_enabled/dynamodb_tables_pitr_enabled.metadata.json +19 -12
  399. prowler/providers/aws/services/ec2/ec2_ami_public/ec2_ami_public.py +11 -10
  400. prowler/providers/aws/services/ec2/ec2_instance_with_outdated_ami/__init__.py +0 -0
  401. prowler/providers/aws/services/ec2/ec2_instance_with_outdated_ami/ec2_instance_with_outdated_ami.metadata.json +30 -0
  402. prowler/providers/aws/services/ec2/ec2_instance_with_outdated_ami/ec2_instance_with_outdated_ami.py +52 -0
  403. prowler/providers/aws/services/ec2/ec2_launch_template_imdsv2_required/ec2_launch_template_imdsv2_required.py +4 -1
  404. prowler/providers/aws/services/ec2/ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_ftp_20_21/__init__.py +0 -0
  405. 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
  406. 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
  407. prowler/providers/aws/services/ec2/ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_mongodb_27017_27018/__init__.py +0 -0
  408. 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
  409. 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
  410. prowler/providers/aws/services/ec2/ec2_service.py +27 -15
  411. prowler/providers/aws/services/ec2/lib/security_groups.py +7 -0
  412. prowler/providers/aws/services/ecr/ecr_registry_scan_images_on_push_enabled/ecr_registry_scan_images_on_push_enabled.metadata.json +16 -11
  413. prowler/providers/aws/services/ecr/ecr_repositories_lifecycle_policy_enabled/ecr_repositories_lifecycle_policy_enabled.metadata.json +22 -13
  414. prowler/providers/aws/services/ecr/ecr_repositories_not_publicly_accessible/ecr_repositories_not_publicly_accessible.metadata.json +19 -13
  415. prowler/providers/aws/services/ecr/ecr_repositories_scan_images_on_push_enabled/ecr_repositories_scan_images_on_push_enabled.metadata.json +21 -13
  416. prowler/providers/aws/services/ecr/ecr_repositories_scan_vulnerabilities_in_latest_image/ecr_repositories_scan_vulnerabilities_in_latest_image.metadata.json +22 -12
  417. prowler/providers/aws/services/ecr/ecr_repositories_tag_immutability/ecr_repositories_tag_immutability.metadata.json +20 -12
  418. prowler/providers/aws/services/ecr/ecr_service.py +1 -1
  419. prowler/providers/aws/services/ecs/ecs_cluster_container_insights_enabled/ecs_cluster_container_insights_enabled.metadata.json +21 -11
  420. prowler/providers/aws/services/ecs/ecs_cluster_container_insights_enabled/ecs_cluster_container_insights_enabled.py +3 -4
  421. prowler/providers/aws/services/ecs/ecs_service.py +2 -1
  422. prowler/providers/aws/services/ecs/ecs_service_fargate_latest_platform_version/ecs_service_fargate_latest_platform_version.metadata.json +20 -11
  423. prowler/providers/aws/services/ecs/ecs_service_no_assign_public_ip/ecs_service_no_assign_public_ip.metadata.json +18 -12
  424. prowler/providers/aws/services/ecs/ecs_task_definitions_containers_readonly_access/ecs_task_definitions_containers_readonly_access.metadata.json +20 -13
  425. prowler/providers/aws/services/ecs/ecs_task_definitions_host_namespace_not_shared/ecs_task_definitions_host_namespace_not_shared.metadata.json +21 -13
  426. prowler/providers/aws/services/ecs/ecs_task_definitions_host_networking_mode_users/ecs_task_definitions_host_networking_mode_users.metadata.json +26 -13
  427. prowler/providers/aws/services/ecs/ecs_task_definitions_logging_block_mode/ecs_task_definitions_logging_block_mode.metadata.json +19 -12
  428. prowler/providers/aws/services/ecs/ecs_task_definitions_logging_enabled/ecs_task_definitions_logging_enabled.metadata.json +18 -12
  429. prowler/providers/aws/services/ecs/ecs_task_definitions_no_environment_secrets/ecs_task_definitions_no_environment_secrets.metadata.json +16 -12
  430. prowler/providers/aws/services/ecs/ecs_task_definitions_no_privileged_containers/ecs_task_definitions_no_privileged_containers.metadata.json +21 -14
  431. prowler/providers/aws/services/ecs/ecs_task_set_no_assign_public_ip/ecs_task_set_no_assign_public_ip.metadata.json +19 -13
  432. prowler/providers/aws/services/efs/efs_access_point_enforce_root_directory/efs_access_point_enforce_root_directory.metadata.json +19 -13
  433. prowler/providers/aws/services/efs/efs_access_point_enforce_user_identity/efs_access_point_enforce_user_identity.metadata.json +23 -13
  434. prowler/providers/aws/services/efs/efs_encryption_at_rest_enabled/efs_encryption_at_rest_enabled.metadata.json +23 -13
  435. prowler/providers/aws/services/efs/efs_have_backup_enabled/efs_have_backup_enabled.metadata.json +20 -14
  436. prowler/providers/aws/services/efs/efs_mount_target_not_publicly_accessible/efs_mount_target_not_publicly_accessible.metadata.json +18 -12
  437. prowler/providers/aws/services/efs/efs_multi_az_enabled/efs_multi_az_enabled.metadata.json +21 -13
  438. prowler/providers/aws/services/efs/efs_not_publicly_accessible/efs_not_publicly_accessible.metadata.json +17 -13
  439. prowler/providers/aws/services/efs/efs_service.py +1 -1
  440. prowler/providers/aws/services/eks/eks_cluster_deletion_protection_enabled/__init__.py +0 -0
  441. prowler/providers/aws/services/eks/eks_cluster_deletion_protection_enabled/eks_cluster_deletion_protection_enabled.metadata.json +39 -0
  442. prowler/providers/aws/services/eks/eks_cluster_deletion_protection_enabled/eks_cluster_deletion_protection_enabled.py +21 -0
  443. 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
  444. prowler/providers/aws/services/eks/eks_cluster_network_policy_enabled/eks_cluster_network_policy_enabled.metadata.json +20 -14
  445. prowler/providers/aws/services/eks/eks_cluster_not_publicly_accessible/eks_cluster_not_publicly_accessible.metadata.json +22 -13
  446. prowler/providers/aws/services/eks/eks_cluster_private_nodes_enabled/eks_cluster_private_nodes_enabled.metadata.json +19 -13
  447. prowler/providers/aws/services/eks/eks_cluster_uses_a_supported_version/eks_cluster_uses_a_supported_version.metadata.json +21 -12
  448. prowler/providers/aws/services/eks/eks_cluster_uses_a_supported_version/eks_cluster_uses_a_supported_version.py +4 -0
  449. prowler/providers/aws/services/eks/eks_control_plane_logging_all_types_enabled/eks_control_plane_logging_all_types_enabled.metadata.json +20 -13
  450. prowler/providers/aws/services/eks/eks_service.py +6 -1
  451. prowler/providers/aws/services/elasticache/elasticache_cluster_uses_public_subnet/elasticache_cluster_uses_public_subnet.metadata.json +20 -12
  452. prowler/providers/aws/services/elasticache/elasticache_redis_cluster_auto_minor_version_upgrades/elasticache_redis_cluster_auto_minor_version_upgrades.metadata.json +21 -12
  453. prowler/providers/aws/services/elasticache/elasticache_redis_cluster_automatic_failover_enabled/elasticache_redis_cluster_automatic_failover_enabled.metadata.json +20 -13
  454. prowler/providers/aws/services/elasticache/elasticache_redis_cluster_backup_enabled/elasticache_redis_cluster_backup_enabled.metadata.json +23 -13
  455. prowler/providers/aws/services/elasticache/elasticache_redis_cluster_in_transit_encryption_enabled/elasticache_redis_cluster_in_transit_encryption_enabled.metadata.json +21 -12
  456. prowler/providers/aws/services/elasticache/elasticache_redis_cluster_multi_az_enabled/elasticache_redis_cluster_multi_az_enabled.metadata.json +22 -14
  457. prowler/providers/aws/services/elasticache/elasticache_redis_cluster_rest_encryption_enabled/elasticache_redis_cluster_rest_encryption_enabled.metadata.json +20 -11
  458. prowler/providers/aws/services/elasticache/elasticache_redis_replication_group_auth_enabled/elasticache_redis_replication_group_auth_enabled.metadata.json +23 -13
  459. prowler/providers/aws/services/elasticache/elasticache_service.py +1 -1
  460. prowler/providers/aws/services/elasticbeanstalk/elasticbeanstalk_environment_cloudwatch_logging_enabled/elasticbeanstalk_environment_cloudwatch_logging_enabled.metadata.json +18 -12
  461. prowler/providers/aws/services/elasticbeanstalk/elasticbeanstalk_environment_enhanced_health_reporting/elasticbeanstalk_environment_enhanced_health_reporting.metadata.json +17 -12
  462. prowler/providers/aws/services/elasticbeanstalk/elasticbeanstalk_environment_managed_updates_enabled/elasticbeanstalk_environment_managed_updates_enabled.metadata.json +17 -11
  463. prowler/providers/aws/services/elasticbeanstalk/elasticbeanstalk_service.py +24 -5
  464. prowler/providers/aws/services/elb/elb_connection_draining_enabled/elb_connection_draining_enabled.metadata.json +22 -13
  465. prowler/providers/aws/services/elb/elb_cross_zone_load_balancing_enabled/elb_cross_zone_load_balancing_enabled.metadata.json +24 -13
  466. prowler/providers/aws/services/elb/elb_desync_mitigation_mode/elb_desync_mitigation_mode.metadata.json +20 -11
  467. prowler/providers/aws/services/elb/elb_insecure_ssl_ciphers/elb_insecure_ssl_ciphers.metadata.json +20 -10
  468. prowler/providers/aws/services/elb/elb_internet_facing/elb_internet_facing.metadata.json +20 -11
  469. prowler/providers/aws/services/elb/elb_is_in_multiple_az/elb_is_in_multiple_az.metadata.json +20 -12
  470. prowler/providers/aws/services/elb/elb_logging_enabled/elb_logging_enabled.metadata.json +19 -12
  471. prowler/providers/aws/services/elb/elb_service.py +1 -1
  472. prowler/providers/aws/services/elb/elb_ssl_listeners/elb_ssl_listeners.metadata.json +19 -11
  473. prowler/providers/aws/services/elb/elb_ssl_listeners_use_acm_certificate/elb_ssl_listeners_use_acm_certificate.metadata.json +17 -12
  474. prowler/providers/aws/services/elb/elb_ssl_listeners_use_acm_certificate/elb_ssl_listeners_use_acm_certificate.py +8 -2
  475. prowler/providers/aws/services/elbv2/elbv2_cross_zone_load_balancing_enabled/elbv2_cross_zone_load_balancing_enabled.metadata.json +21 -13
  476. prowler/providers/aws/services/elbv2/elbv2_deletion_protection/elbv2_deletion_protection.metadata.json +19 -11
  477. prowler/providers/aws/services/elbv2/elbv2_desync_mitigation_mode/elbv2_desync_mitigation_mode.metadata.json +21 -12
  478. prowler/providers/aws/services/elbv2/elbv2_desync_mitigation_mode/elbv2_desync_mitigation_mode.py +1 -1
  479. prowler/providers/aws/services/elbv2/elbv2_insecure_ssl_ciphers/elbv2_insecure_ssl_ciphers.metadata.json +18 -11
  480. prowler/providers/aws/services/elbv2/elbv2_internet_facing/elbv2_internet_facing.metadata.json +17 -10
  481. prowler/providers/aws/services/elbv2/elbv2_is_in_multiple_az/elbv2_is_in_multiple_az.metadata.json +22 -13
  482. prowler/providers/aws/services/elbv2/elbv2_listeners_underneath/elbv2_listeners_underneath.metadata.json +18 -12
  483. prowler/providers/aws/services/elbv2/elbv2_logging_enabled/elbv2_logging_enabled.metadata.json +17 -12
  484. prowler/providers/aws/services/elbv2/elbv2_nlb_tls_termination_enabled/elbv2_nlb_tls_termination_enabled.metadata.json +18 -11
  485. prowler/providers/aws/services/elbv2/elbv2_service.py +1 -1
  486. prowler/providers/aws/services/elbv2/elbv2_ssl_listeners/elbv2_ssl_listeners.metadata.json +18 -12
  487. prowler/providers/aws/services/elbv2/elbv2_waf_acl_attached/elbv2_waf_acl_attached.metadata.json +16 -11
  488. prowler/providers/aws/services/emr/emr_cluster_account_public_block_enabled/emr_cluster_account_public_block_enabled.metadata.json +21 -13
  489. prowler/providers/aws/services/emr/emr_cluster_master_nodes_no_public_ip/emr_cluster_master_nodes_no_public_ip.metadata.json +24 -11
  490. prowler/providers/aws/services/emr/emr_cluster_publicly_accesible/emr_cluster_publicly_accesible.metadata.json +18 -11
  491. prowler/providers/aws/services/emr/emr_cluster_publicly_accesible/emr_cluster_publicly_accesible.py +2 -2
  492. prowler/providers/aws/services/emr/emr_service.py +1 -1
  493. prowler/providers/aws/services/eventbridge/eventbridge_bus_cross_account_access/eventbridge_bus_cross_account_access.metadata.json +26 -13
  494. prowler/providers/aws/services/eventbridge/eventbridge_bus_exposed/eventbridge_bus_exposed.metadata.json +21 -11
  495. prowler/providers/aws/services/eventbridge/eventbridge_global_endpoint_event_replication_enabled/eventbridge_global_endpoint_event_replication_enabled.metadata.json +24 -13
  496. prowler/providers/aws/services/eventbridge/eventbridge_schema_registry_cross_account_access/eventbridge_schema_registry_cross_account_access.metadata.json +26 -14
  497. prowler/providers/aws/services/eventbridge/eventbridge_service.py +1 -1
  498. prowler/providers/aws/services/firehose/firehose_service.py +108 -12
  499. prowler/providers/aws/services/firehose/firehose_stream_encrypted_at_rest/firehose_stream_encrypted_at_rest.metadata.json +26 -15
  500. prowler/providers/aws/services/firehose/firehose_stream_encrypted_at_rest/firehose_stream_encrypted_at_rest.py +40 -8
  501. prowler/providers/aws/services/fms/fms_policy_compliant/fms_policy_compliant.metadata.json +23 -11
  502. prowler/providers/aws/services/fms/fms_service.py +1 -1
  503. 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
  504. 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
  505. prowler/providers/aws/services/fsx/fsx_service.py +1 -1
  506. prowler/providers/aws/services/fsx/fsx_windows_file_system_multi_az_enabled/fsx_windows_file_system_multi_az_enabled.metadata.json +22 -13
  507. prowler/providers/aws/services/glacier/glacier_service.py +1 -1
  508. prowler/providers/aws/services/glacier/glacier_vaults_policy_public_access/glacier_vaults_policy_public_access.metadata.json +21 -12
  509. prowler/providers/aws/services/globalaccelerator/globalaccelerator_service.py +1 -1
  510. prowler/providers/aws/services/glue/glue_service.py +1 -1
  511. prowler/providers/aws/services/guardduty/guardduty_service.py +1 -1
  512. prowler/providers/aws/services/iam/iam_aws_attached_policy_no_administrative_privileges/iam_aws_attached_policy_no_administrative_privileges.py +1 -1
  513. prowler/providers/aws/services/iam/iam_customer_attached_policy_no_administrative_privileges/iam_customer_attached_policy_no_administrative_privileges.py +1 -1
  514. prowler/providers/aws/services/iam/iam_customer_unattached_policy_no_administrative_privileges/iam_customer_unattached_policy_no_administrative_privileges.py +1 -1
  515. prowler/providers/aws/services/iam/iam_inline_policy_allows_privilege_escalation/iam_inline_policy_allows_privilege_escalation.py +1 -1
  516. prowler/providers/aws/services/iam/iam_inline_policy_no_administrative_privileges/iam_inline_policy_no_administrative_privileges.py +1 -1
  517. prowler/providers/aws/services/iam/iam_inline_policy_no_full_access_to_cloudtrail/iam_inline_policy_no_full_access_to_cloudtrail.py +1 -1
  518. prowler/providers/aws/services/iam/iam_inline_policy_no_full_access_to_kms/iam_inline_policy_no_full_access_to_kms.py +1 -1
  519. prowler/providers/aws/services/iam/iam_no_custom_policy_permissive_role_assumption/iam_no_custom_policy_permissive_role_assumption.py +22 -20
  520. prowler/providers/aws/services/iam/iam_no_root_access_key/iam_no_root_access_key.metadata.json +1 -1
  521. prowler/providers/aws/services/iam/iam_no_root_access_key/iam_no_root_access_key.py +55 -29
  522. prowler/providers/aws/services/iam/iam_policy_allows_privilege_escalation/iam_policy_allows_privilege_escalation.py +1 -1
  523. prowler/providers/aws/services/iam/iam_policy_no_full_access_to_cloudtrail/iam_policy_no_full_access_to_cloudtrail.py +1 -1
  524. prowler/providers/aws/services/iam/iam_policy_no_full_access_to_kms/iam_policy_no_full_access_to_kms.py +1 -2
  525. prowler/providers/aws/services/iam/iam_root_hardware_mfa_enabled/iam_root_hardware_mfa_enabled.metadata.json +1 -1
  526. prowler/providers/aws/services/iam/iam_root_hardware_mfa_enabled/iam_root_hardware_mfa_enabled.py +70 -33
  527. prowler/providers/aws/services/iam/iam_root_mfa_enabled/iam_root_mfa_enabled.metadata.json +1 -1
  528. prowler/providers/aws/services/iam/iam_root_mfa_enabled/iam_root_mfa_enabled.py +37 -12
  529. prowler/providers/aws/services/iam/iam_service.py +116 -78
  530. prowler/providers/aws/services/iam/iam_user_accesskey_unused/iam_user_accesskey_unused.metadata.json +2 -2
  531. prowler/providers/aws/services/iam/lib/policy.py +471 -92
  532. prowler/providers/aws/services/iam/lib/privilege_escalation.py +74 -137
  533. prowler/providers/aws/services/inspector2/inspector2_service.py +1 -1
  534. prowler/providers/aws/services/kafka/kafka_cluster_encryption_at_rest_uses_cmk/kafka_cluster_encryption_at_rest_uses_cmk.py +6 -1
  535. prowler/providers/aws/services/kafka/kafka_cluster_enhanced_monitoring_enabled/kafka_cluster_enhanced_monitoring_enabled.py +6 -1
  536. prowler/providers/aws/services/kafka/kafka_cluster_in_transit_encryption_enabled/kafka_cluster_in_transit_encryption_enabled.py +6 -1
  537. prowler/providers/aws/services/kafka/kafka_cluster_is_public/kafka_cluster_is_public.py +8 -3
  538. prowler/providers/aws/services/kafka/kafka_cluster_mutual_tls_authentication_enabled/kafka_cluster_mutual_tls_authentication_enabled.py +6 -1
  539. prowler/providers/aws/services/kafka/kafka_cluster_unrestricted_access_disabled/kafka_cluster_unrestricted_access_disabled.py +6 -1
  540. prowler/providers/aws/services/kafka/kafka_cluster_uses_latest_version/kafka_cluster_uses_latest_version.py +6 -1
  541. prowler/providers/aws/services/kafka/kafka_service.py +110 -38
  542. prowler/providers/aws/services/kinesis/kinesis_service.py +1 -1
  543. prowler/providers/aws/services/kinesis/kinesis_stream_data_retention_period/kinesis_stream_data_retention_period.metadata.json +21 -13
  544. prowler/providers/aws/services/kinesis/kinesis_stream_encrypted_at_rest/kinesis_stream_encrypted_at_rest.metadata.json +22 -13
  545. prowler/providers/aws/services/kms/kms_service.py +1 -1
  546. prowler/providers/aws/services/lightsail/lightsail_service.py +1 -1
  547. prowler/providers/aws/services/macie/macie_service.py +1 -1
  548. prowler/providers/aws/services/memorydb/memorydb_service.py +2 -2
  549. prowler/providers/aws/services/mq/mq_service.py +1 -1
  550. prowler/providers/aws/services/neptune/neptune_cluster_backup_enabled/neptune_cluster_backup_enabled.metadata.json +23 -13
  551. prowler/providers/aws/services/neptune/neptune_cluster_copy_tags_to_snapshots/neptune_cluster_copy_tags_to_snapshots.metadata.json +18 -14
  552. prowler/providers/aws/services/neptune/neptune_cluster_deletion_protection/neptune_cluster_deletion_protection.metadata.json +23 -14
  553. prowler/providers/aws/services/neptune/neptune_cluster_iam_authentication_enabled/neptune_cluster_iam_authentication_enabled.metadata.json +25 -13
  554. prowler/providers/aws/services/neptune/neptune_cluster_integration_cloudwatch_logs/neptune_cluster_integration_cloudwatch_logs.metadata.json +22 -14
  555. prowler/providers/aws/services/neptune/neptune_cluster_multi_az/neptune_cluster_multi_az.metadata.json +20 -12
  556. prowler/providers/aws/services/neptune/neptune_cluster_public_snapshot/neptune_cluster_public_snapshot.metadata.json +18 -10
  557. prowler/providers/aws/services/neptune/neptune_cluster_snapshot_encrypted/neptune_cluster_snapshot_encrypted.metadata.json +16 -10
  558. prowler/providers/aws/services/neptune/neptune_cluster_storage_encrypted/neptune_cluster_storage_encrypted.metadata.json +22 -13
  559. prowler/providers/aws/services/neptune/neptune_cluster_uses_public_subnet/neptune_cluster_uses_public_subnet.metadata.json +20 -12
  560. prowler/providers/aws/services/neptune/neptune_service.py +1 -1
  561. prowler/providers/aws/services/networkfirewall/networkfirewall_deletion_protection/networkfirewall_deletion_protection.metadata.json +1 -1
  562. prowler/providers/aws/services/networkfirewall/networkfirewall_in_all_vpc/networkfirewall_in_all_vpc.metadata.json +1 -1
  563. prowler/providers/aws/services/networkfirewall/networkfirewall_logging_enabled/networkfirewall_logging_enabled.metadata.json +1 -1
  564. prowler/providers/aws/services/networkfirewall/networkfirewall_multi_az/networkfirewall_multi_az.metadata.json +1 -1
  565. prowler/providers/aws/services/networkfirewall/networkfirewall_policy_default_action_fragmented_packets/networkfirewall_policy_default_action_fragmented_packets.metadata.json +1 -1
  566. prowler/providers/aws/services/networkfirewall/networkfirewall_policy_default_action_full_packets/networkfirewall_policy_default_action_full_packets.metadata.json +1 -1
  567. prowler/providers/aws/services/networkfirewall/networkfirewall_policy_rule_group_associated/networkfirewall_policy_rule_group_associated.metadata.json +1 -1
  568. prowler/providers/aws/services/networkfirewall/networkfirewall_service.py +1 -1
  569. prowler/providers/aws/services/opensearch/opensearch_service.py +4 -4
  570. prowler/providers/aws/services/organizations/organizations_scp_check_deny_regions/organizations_scp_check_deny_regions.py +3 -3
  571. prowler/providers/aws/services/organizations/organizations_service.py +1 -1
  572. prowler/providers/aws/services/rds/rds_service.py +10 -3
  573. prowler/providers/aws/services/redshift/redshift_service.py +1 -1
  574. prowler/providers/aws/services/resourceexplorer2/resourceexplorer2_service.py +1 -1
  575. prowler/providers/aws/services/route53/route53_service.py +1 -1
  576. prowler/providers/aws/services/s3/s3_bucket_shadow_resource_vulnerability/__init__.py +0 -0
  577. prowler/providers/aws/services/s3/s3_bucket_shadow_resource_vulnerability/s3_bucket_shadow_resource_vulnerability.metadata.json +34 -0
  578. prowler/providers/aws/services/s3/s3_bucket_shadow_resource_vulnerability/s3_bucket_shadow_resource_vulnerability.py +86 -0
  579. prowler/providers/aws/services/s3/s3_service.py +8 -3
  580. prowler/providers/aws/services/sagemaker/sagemaker_service.py +1 -1
  581. prowler/providers/aws/services/secretsmanager/secretsmanager_service.py +17 -1
  582. prowler/providers/aws/services/securityhub/securityhub_service.py +1 -1
  583. prowler/providers/aws/services/servicecatalog/servicecatalog_service.py +1 -1
  584. prowler/providers/aws/services/ses/ses_service.py +1 -1
  585. prowler/providers/aws/services/shield/shield_service.py +1 -1
  586. prowler/providers/aws/services/sns/sns_service.py +1 -1
  587. prowler/providers/aws/services/sns/sns_topics_not_publicly_accessible/sns_topics_not_publicly_accessible.py +22 -36
  588. prowler/providers/aws/services/sqs/sqs_service.py +4 -1
  589. prowler/providers/aws/services/ssm/ssm_service.py +16 -1
  590. prowler/providers/aws/services/ssmincidents/ssmincidents_enabled_with_plans/ssmincidents_enabled_with_plans.metadata.json +1 -1
  591. prowler/providers/aws/services/ssmincidents/ssmincidents_service.py +1 -1
  592. prowler/providers/aws/services/stepfunctions/stepfunctions_service.py +1 -1
  593. prowler/providers/aws/services/storagegateway/storagegateway_service.py +1 -1
  594. prowler/providers/aws/services/transfer/transfer_service.py +1 -1
  595. prowler/providers/aws/services/trustedadvisor/trustedadvisor_premium_support_plan_subscribed/trustedadvisor_premium_support_plan_subscribed.metadata.json +1 -1
  596. prowler/providers/aws/services/trustedadvisor/trustedadvisor_service.py +1 -1
  597. prowler/providers/aws/services/vpc/vpc_endpoint_multi_az_enabled/vpc_endpoint_multi_az_enabled.py +2 -2
  598. prowler/providers/aws/services/vpc/vpc_service.py +2 -2
  599. prowler/providers/aws/services/waf/waf_service.py +1 -1
  600. prowler/providers/aws/services/wafv2/wafv2_service.py +1 -1
  601. prowler/providers/aws/services/wellarchitected/wellarchitected_service.py +1 -1
  602. prowler/providers/aws/services/workspaces/workspaces_service.py +1 -1
  603. prowler/providers/azure/azure_provider.py +4 -3
  604. prowler/providers/azure/lib/mutelist/mutelist.py +8 -1
  605. prowler/providers/azure/lib/service/service.py +3 -0
  606. prowler/providers/azure/models.py +4 -2
  607. prowler/providers/azure/services/aisearch/aisearch_service.py +1 -1
  608. prowler/providers/azure/services/aisearch/aisearch_service_not_publicly_accessible/aisearch_service_not_publicly_accessible.metadata.json +4 -2
  609. prowler/providers/azure/services/apim/__init__.py +0 -0
  610. prowler/providers/azure/services/apim/apim_client.py +4 -0
  611. prowler/providers/azure/services/apim/apim_service.py +252 -0
  612. prowler/providers/azure/services/apim/apim_threat_detection_llm_jacking/__init__.py +0 -0
  613. prowler/providers/azure/services/apim/apim_threat_detection_llm_jacking/apim_threat_detection_llm_jacking.metadata.json +34 -0
  614. prowler/providers/azure/services/apim/apim_threat_detection_llm_jacking/apim_threat_detection_llm_jacking.py +107 -0
  615. prowler/providers/azure/services/app/app_function_application_insights_enabled/app_function_application_insights_enabled.py +4 -10
  616. prowler/providers/azure/services/app/app_function_identity_without_admin_privileges/app_function_identity_without_admin_privileges.py +9 -3
  617. prowler/providers/azure/services/app/app_http_logs_enabled/app_http_logs_enabled.py +4 -0
  618. prowler/providers/azure/services/app/app_service.py +21 -3
  619. prowler/providers/azure/services/appinsights/appinsights_service.py +1 -1
  620. prowler/providers/azure/services/cosmosdb/cosmosdb_service.py +7 -2
  621. prowler/providers/azure/services/databricks/__init__.py +0 -0
  622. prowler/providers/azure/services/databricks/databricks_client.py +4 -0
  623. prowler/providers/azure/services/databricks/databricks_service.py +118 -0
  624. prowler/providers/azure/services/databricks/databricks_workspace_cmk_encryption_enabled/__init__.py +0 -0
  625. prowler/providers/azure/services/databricks/databricks_workspace_cmk_encryption_enabled/databricks_workspace_cmk_encryption_enabled.metadata.json +30 -0
  626. prowler/providers/azure/services/databricks/databricks_workspace_cmk_encryption_enabled/databricks_workspace_cmk_encryption_enabled.py +33 -0
  627. prowler/providers/azure/services/databricks/databricks_workspace_vnet_injection_enabled/__init__.py +0 -0
  628. prowler/providers/azure/services/databricks/databricks_workspace_vnet_injection_enabled/databricks_workspace_vnet_injection_enabled.metadata.json +30 -0
  629. prowler/providers/azure/services/databricks/databricks_workspace_vnet_injection_enabled/databricks_workspace_vnet_injection_enabled.py +32 -0
  630. prowler/providers/azure/services/defender/defender_additional_email_configured_with_a_security_contact/defender_additional_email_configured_with_a_security_contact.py +14 -15
  631. prowler/providers/azure/services/defender/defender_attack_path_notifications_properly_configured/__init__.py +0 -0
  632. prowler/providers/azure/services/defender/defender_attack_path_notifications_properly_configured/defender_attack_path_notifications_properly_configured.metadata.json +30 -0
  633. prowler/providers/azure/services/defender/defender_attack_path_notifications_properly_configured/defender_attack_path_notifications_properly_configured.py +56 -0
  634. prowler/providers/azure/services/defender/defender_ensure_notify_alerts_severity_is_high/defender_ensure_notify_alerts_severity_is_high.py +14 -7
  635. prowler/providers/azure/services/defender/defender_ensure_notify_emails_to_owners/defender_ensure_notify_emails_to_owners.py +17 -10
  636. prowler/providers/azure/services/defender/defender_service.py +154 -55
  637. prowler/providers/azure/services/entra/entra_service.py +81 -45
  638. prowler/providers/azure/services/entra/entra_user_with_vm_access_has_mfa/entra_user_with_vm_access_has_mfa.py +1 -1
  639. 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
  640. prowler/providers/azure/services/iam/iam_role_user_access_admin_restricted/__init__.py +0 -0
  641. prowler/providers/azure/services/iam/iam_role_user_access_admin_restricted/iam_role_user_access_admin_restricted.metadata.json +30 -0
  642. prowler/providers/azure/services/iam/iam_role_user_access_admin_restricted/iam_role_user_access_admin_restricted.py +29 -0
  643. prowler/providers/azure/services/iam/iam_service.py +43 -31
  644. prowler/providers/azure/services/iam/iam_subscription_roles_owner_custom_not_created/iam_subscription_roles_owner_custom_not_created.py +1 -1
  645. prowler/providers/azure/services/keyvault/keyvault_access_only_through_private_endpoints/__init__.py +0 -0
  646. prowler/providers/azure/services/keyvault/keyvault_access_only_through_private_endpoints/keyvault_access_only_through_private_endpoints.metadata.json +30 -0
  647. prowler/providers/azure/services/keyvault/keyvault_access_only_through_private_endpoints/keyvault_access_only_through_private_endpoints.py +37 -0
  648. prowler/providers/azure/services/keyvault/keyvault_service.py +9 -0
  649. prowler/providers/azure/services/logs/__init__.py +0 -0
  650. prowler/providers/azure/services/logs/loganalytics_client.py +4 -0
  651. prowler/providers/azure/services/logs/logs_service.py +15 -0
  652. prowler/providers/azure/services/logs/logsquery_client.py +4 -0
  653. prowler/providers/azure/services/monitor/monitor_alert_service_health_exists/__init__.py +0 -0
  654. prowler/providers/azure/services/monitor/monitor_alert_service_health_exists/monitor_alert_service_health_exists.metadata.json +30 -0
  655. prowler/providers/azure/services/monitor/monitor_alert_service_health_exists/monitor_alert_service_health_exists.py +48 -0
  656. prowler/providers/azure/services/monitor/monitor_service.py +4 -2
  657. prowler/providers/azure/services/network/network_flow_log_more_than_90_days/network_flow_log_more_than_90_days.metadata.json +1 -1
  658. prowler/providers/azure/services/network/network_flow_log_more_than_90_days/network_flow_log_more_than_90_days.py +4 -1
  659. prowler/providers/azure/services/postgresql/postgresql_flexible_server_entra_id_authentication_enabled/__init__.py +0 -0
  660. prowler/providers/azure/services/postgresql/postgresql_flexible_server_entra_id_authentication_enabled/postgresql_flexible_server_entra_id_authentication_enabled.metadata.json +36 -0
  661. prowler/providers/azure/services/postgresql/postgresql_flexible_server_entra_id_authentication_enabled/postgresql_flexible_server_entra_id_authentication_enabled.py +43 -0
  662. prowler/providers/azure/services/postgresql/postgresql_service.py +66 -9
  663. prowler/providers/azure/services/recovery/recovery_client.py +4 -0
  664. prowler/providers/azure/services/recovery/recovery_service.py +165 -0
  665. prowler/providers/azure/services/sqlserver/sqlserver_auditing_enabled/sqlserver_auditing_enabled.py +1 -1
  666. prowler/providers/azure/services/storage/lib/__init__.py +0 -0
  667. prowler/providers/azure/services/storage/lib/constants.py +3 -0
  668. prowler/providers/azure/services/storage/storage_account_key_access_disabled/__init__.py +0 -0
  669. prowler/providers/azure/services/storage/storage_account_key_access_disabled/storage_account_key_access_disabled.metadata.json +32 -0
  670. prowler/providers/azure/services/storage/storage_account_key_access_disabled/storage_account_key_access_disabled.py +34 -0
  671. prowler/providers/azure/services/storage/storage_blob_versioning_is_enabled/__init__.py +0 -0
  672. prowler/providers/azure/services/storage/storage_blob_versioning_is_enabled/storage_blob_versioning_is_enabled.metadata.json +30 -0
  673. prowler/providers/azure/services/storage/storage_blob_versioning_is_enabled/storage_blob_versioning_is_enabled.py +24 -0
  674. prowler/providers/azure/services/storage/storage_cross_tenant_replication_disabled/__init__.py +0 -0
  675. prowler/providers/azure/services/storage/storage_cross_tenant_replication_disabled/storage_cross_tenant_replication_disabled.metadata.json +30 -0
  676. prowler/providers/azure/services/storage/storage_cross_tenant_replication_disabled/storage_cross_tenant_replication_disabled.py +34 -0
  677. prowler/providers/azure/services/storage/storage_default_to_entra_authorization_enabled/__init__.py +0 -0
  678. prowler/providers/azure/services/storage/storage_default_to_entra_authorization_enabled/storage_default_to_entra_authorization_enabled.metadata.json +30 -0
  679. prowler/providers/azure/services/storage/storage_default_to_entra_authorization_enabled/storage_default_to_entra_authorization_enabled.py +38 -0
  680. prowler/providers/azure/services/storage/storage_ensure_file_shares_soft_delete_is_enabled/__init__.py +0 -0
  681. 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
  682. prowler/providers/azure/services/storage/storage_ensure_file_shares_soft_delete_is_enabled/storage_ensure_file_shares_soft_delete_is_enabled.py +30 -0
  683. prowler/providers/azure/services/storage/storage_geo_redundant_enabled/__init__.py +0 -0
  684. prowler/providers/azure/services/storage/storage_geo_redundant_enabled/storage_geo_redundant_enabled.metadata.json +30 -0
  685. prowler/providers/azure/services/storage/storage_geo_redundant_enabled/storage_geo_redundant_enabled.py +42 -0
  686. prowler/providers/azure/services/storage/storage_service.py +166 -20
  687. prowler/providers/azure/services/storage/storage_smb_channel_encryption_with_secure_algorithm/__init__.py +0 -0
  688. prowler/providers/azure/services/storage/storage_smb_channel_encryption_with_secure_algorithm/storage_smb_channel_encryption_with_secure_algorithm.metadata.json +30 -0
  689. prowler/providers/azure/services/storage/storage_smb_channel_encryption_with_secure_algorithm/storage_smb_channel_encryption_with_secure_algorithm.py +51 -0
  690. prowler/providers/azure/services/storage/storage_smb_protocol_version_is_latest/__init__.py +0 -0
  691. prowler/providers/azure/services/storage/storage_smb_protocol_version_is_latest/storage_smb_protocol_version_is_latest.metadata.json +30 -0
  692. prowler/providers/azure/services/storage/storage_smb_protocol_version_is_latest/storage_smb_protocol_version_is_latest.py +48 -0
  693. prowler/providers/azure/services/vm/vm_backup_enabled/__init__.py +0 -0
  694. prowler/providers/azure/services/vm/vm_backup_enabled/vm_backup_enabled.metadata.json +30 -0
  695. prowler/providers/azure/services/vm/vm_backup_enabled/vm_backup_enabled.py +50 -0
  696. prowler/providers/azure/services/vm/vm_desired_sku_size/__init__.py +0 -0
  697. prowler/providers/azure/services/vm/vm_desired_sku_size/vm_desired_sku_size.metadata.json +30 -0
  698. prowler/providers/azure/services/vm/vm_desired_sku_size/vm_desired_sku_size.py +49 -0
  699. prowler/providers/azure/services/vm/vm_ensure_using_approved_images/__init__.py +0 -0
  700. prowler/providers/azure/services/vm/vm_ensure_using_approved_images/vm_ensure_using_approved_images.metadata.json +30 -0
  701. prowler/providers/azure/services/vm/vm_ensure_using_approved_images/vm_ensure_using_approved_images.py +33 -0
  702. prowler/providers/azure/services/vm/vm_ensure_using_managed_disks/vm_ensure_using_managed_disks.py +7 -7
  703. prowler/providers/azure/services/vm/vm_jit_access_enabled/__init__.py +0 -0
  704. prowler/providers/azure/services/vm/vm_jit_access_enabled/vm_jit_access_enabled.metadata.json +30 -0
  705. prowler/providers/azure/services/vm/vm_jit_access_enabled/vm_jit_access_enabled.py +33 -0
  706. prowler/providers/azure/services/vm/vm_linux_enforce_ssh_authentication/__init__.py +0 -0
  707. prowler/providers/azure/services/vm/vm_linux_enforce_ssh_authentication/vm_linux_enforce_ssh_authentication.metadata.json +30 -0
  708. prowler/providers/azure/services/vm/vm_linux_enforce_ssh_authentication/vm_linux_enforce_ssh_authentication.py +29 -0
  709. prowler/providers/azure/services/vm/vm_scaleset_associated_with_load_balancer/__init__.py +0 -0
  710. prowler/providers/azure/services/vm/vm_scaleset_associated_with_load_balancer/vm_scaleset_associated_with_load_balancer.metadata.json +30 -0
  711. prowler/providers/azure/services/vm/vm_scaleset_associated_with_load_balancer/vm_scaleset_associated_with_load_balancer.py +36 -0
  712. prowler/providers/azure/services/vm/vm_scaleset_not_empty/__init__.py +0 -0
  713. prowler/providers/azure/services/vm/vm_scaleset_not_empty/vm_scaleset_not_empty.metadata.json +30 -0
  714. prowler/providers/azure/services/vm/vm_scaleset_not_empty/vm_scaleset_not_empty.py +29 -0
  715. prowler/providers/azure/services/vm/vm_service.py +221 -29
  716. prowler/providers/azure/services/vm/vm_sufficient_daily_backup_retention_period/__init__.py +0 -0
  717. prowler/providers/azure/services/vm/vm_sufficient_daily_backup_retention_period/vm_sufficient_daily_backup_retention_period.metadata.json +30 -0
  718. prowler/providers/azure/services/vm/vm_sufficient_daily_backup_retention_period/vm_sufficient_daily_backup_retention_period.py +51 -0
  719. prowler/providers/common/arguments.py +17 -0
  720. prowler/providers/common/models.py +1 -1
  721. prowler/providers/common/provider.py +44 -1
  722. prowler/providers/gcp/config.py +4 -0
  723. prowler/providers/gcp/gcp_provider.py +54 -9
  724. prowler/providers/gcp/lib/arguments/arguments.py +16 -0
  725. prowler/providers/gcp/lib/service/service.py +12 -3
  726. prowler/providers/gcp/models.py +4 -4
  727. prowler/providers/gcp/services/apikeys/apikeys_service.py +3 -2
  728. prowler/providers/gcp/services/artifacts/artifacts_container_analysis_enabled/artifacts_container_analysis_enabled.metadata.json +16 -15
  729. prowler/providers/gcp/services/bigquery/bigquery_service.py +6 -5
  730. prowler/providers/gcp/services/cloudresourcemanager/cloudresourcemanager_service.py +40 -7
  731. prowler/providers/gcp/services/cloudsql/cloudsql_service.py +6 -5
  732. prowler/providers/gcp/services/cloudstorage/cloudstorage_audit_logs_enabled/__init__.py +0 -0
  733. prowler/providers/gcp/services/cloudstorage/cloudstorage_audit_logs_enabled/cloudstorage_audit_logs_enabled.metadata.json +36 -0
  734. prowler/providers/gcp/services/cloudstorage/cloudstorage_audit_logs_enabled/cloudstorage_audit_logs_enabled.py +61 -0
  735. prowler/providers/gcp/services/cloudstorage/cloudstorage_bucket_lifecycle_management_enabled/__init__.py +0 -0
  736. prowler/providers/gcp/services/cloudstorage/cloudstorage_bucket_lifecycle_management_enabled/cloudstorage_bucket_lifecycle_management_enabled.metadata.json +34 -0
  737. prowler/providers/gcp/services/cloudstorage/cloudstorage_bucket_lifecycle_management_enabled/cloudstorage_bucket_lifecycle_management_enabled.py +48 -0
  738. prowler/providers/gcp/services/cloudstorage/cloudstorage_bucket_log_retention_policy_lock/cloudstorage_bucket_log_retention_policy_lock.metadata.json +12 -9
  739. prowler/providers/gcp/services/cloudstorage/cloudstorage_bucket_log_retention_policy_lock/cloudstorage_bucket_log_retention_policy_lock.py +10 -3
  740. prowler/providers/gcp/services/cloudstorage/cloudstorage_bucket_logging_enabled/__init__.py +0 -0
  741. prowler/providers/gcp/services/cloudstorage/cloudstorage_bucket_logging_enabled/cloudstorage_bucket_logging_enabled.metadata.json +36 -0
  742. prowler/providers/gcp/services/cloudstorage/cloudstorage_bucket_logging_enabled/cloudstorage_bucket_logging_enabled.py +40 -0
  743. prowler/providers/gcp/services/cloudstorage/cloudstorage_bucket_soft_delete_enabled/__init__.py +0 -0
  744. prowler/providers/gcp/services/cloudstorage/cloudstorage_bucket_soft_delete_enabled/cloudstorage_bucket_soft_delete_enabled.metadata.json +36 -0
  745. prowler/providers/gcp/services/cloudstorage/cloudstorage_bucket_soft_delete_enabled/cloudstorage_bucket_soft_delete_enabled.py +31 -0
  746. prowler/providers/gcp/services/cloudstorage/cloudstorage_bucket_sufficient_retention_period/__init__.py +0 -0
  747. prowler/providers/gcp/services/cloudstorage/cloudstorage_bucket_sufficient_retention_period/cloudstorage_bucket_sufficient_retention_period.metadata.json +35 -0
  748. prowler/providers/gcp/services/cloudstorage/cloudstorage_bucket_sufficient_retention_period/cloudstorage_bucket_sufficient_retention_period.py +55 -0
  749. prowler/providers/gcp/services/cloudstorage/cloudstorage_bucket_versioning_enabled/__init__.py +0 -0
  750. prowler/providers/gcp/services/cloudstorage/cloudstorage_bucket_versioning_enabled/cloudstorage_bucket_versioning_enabled.metadata.json +36 -0
  751. prowler/providers/gcp/services/cloudstorage/cloudstorage_bucket_versioning_enabled/cloudstorage_bucket_versioning_enabled.py +30 -0
  752. prowler/providers/gcp/services/cloudstorage/cloudstorage_service.py +62 -5
  753. 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
  754. 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
  755. prowler/providers/gcp/services/compute/compute_instance_block_project_wide_ssh_keys_disabled/compute_instance_block_project_wide_ssh_keys_disabled.py +1 -1
  756. prowler/providers/gcp/services/compute/compute_project_os_login_enabled/compute_project_os_login_enabled.metadata.json +1 -1
  757. prowler/providers/gcp/services/compute/compute_project_os_login_enabled/compute_project_os_login_enabled.py +5 -0
  758. prowler/providers/gcp/services/compute/compute_service.py +21 -13
  759. prowler/providers/gcp/services/dataproc/dataproc_service.py +4 -2
  760. prowler/providers/gcp/services/dns/dns_service.py +4 -3
  761. prowler/providers/gcp/services/gke/gke_service.py +7 -3
  762. prowler/providers/gcp/services/iam/iam_audit_logs_enabled/iam_audit_logs_enabled.metadata.json +1 -1
  763. prowler/providers/gcp/services/iam/iam_audit_logs_enabled/iam_audit_logs_enabled.py +5 -0
  764. prowler/providers/gcp/services/iam/iam_no_service_roles_at_project_level/iam_no_service_roles_at_project_level.py +1 -2
  765. prowler/providers/gcp/services/iam/iam_role_kms_enforce_separation_of_duties/iam_role_kms_enforce_separation_of_duties.py +5 -0
  766. prowler/providers/gcp/services/iam/iam_sa_user_managed_key_unused/iam_sa_user_managed_key_unused.metadata.json +2 -2
  767. prowler/providers/gcp/services/iam/iam_sa_user_managed_key_unused/iam_sa_user_managed_key_unused.py +5 -2
  768. prowler/providers/gcp/services/iam/iam_service.py +8 -5
  769. prowler/providers/gcp/services/iam/iam_service_account_unused/__init__.py +0 -0
  770. prowler/providers/gcp/services/iam/iam_service_account_unused/iam_service_account_unused.metadata.json +30 -0
  771. prowler/providers/gcp/services/iam/iam_service_account_unused/iam_service_account_unused.py +30 -0
  772. prowler/providers/gcp/services/kms/kms_service.py +11 -7
  773. 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
  774. 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
  775. 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
  776. 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
  777. 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
  778. 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
  779. 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
  780. 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
  781. prowler/providers/gcp/services/logging/logging_service.py +4 -3
  782. prowler/providers/gcp/services/logging/logging_sink_created/logging_sink_created.py +13 -3
  783. prowler/providers/gcp/services/monitoring/monitoring_service.py +85 -6
  784. prowler/providers/gcp/services/serviceusage/serviceusage_service.py +3 -2
  785. prowler/providers/github/exceptions/exceptions.py +11 -0
  786. prowler/providers/github/github_provider.py +268 -36
  787. prowler/providers/github/lib/arguments/arguments.py +23 -0
  788. prowler/providers/github/lib/service/service.py +56 -2
  789. prowler/providers/github/models.py +6 -1
  790. prowler/providers/github/services/organization/organization_default_repository_permission_strict/__init__.py +0 -0
  791. prowler/providers/github/services/organization/organization_default_repository_permission_strict/organization_default_repository_permission_strict.metadata.json +35 -0
  792. prowler/providers/github/services/organization/organization_default_repository_permission_strict/organization_default_repository_permission_strict.py +36 -0
  793. prowler/providers/github/services/organization/organization_members_mfa_required/organization_members_mfa_required.metadata.json +14 -8
  794. prowler/providers/github/services/organization/organization_repository_creation_limited/__init__.py +0 -0
  795. prowler/providers/github/services/organization/organization_repository_creation_limited/organization_repository_creation_limited.metadata.json +30 -0
  796. prowler/providers/github/services/organization/organization_repository_creation_limited/organization_repository_creation_limited.py +106 -0
  797. prowler/providers/github/services/organization/organization_service.py +204 -15
  798. prowler/providers/github/services/repository/repository_branch_delete_on_merge_enabled/repository_branch_delete_on_merge_enabled.py +3 -9
  799. prowler/providers/github/services/repository/repository_default_branch_deletion_disabled/repository_default_branch_deletion_disabled.py +3 -5
  800. prowler/providers/github/services/repository/repository_default_branch_disallows_force_push/repository_default_branch_disallows_force_push.py +5 -11
  801. prowler/providers/github/services/repository/repository_default_branch_protection_applies_to_admins/repository_default_branch_protection_applies_to_admins.py +3 -5
  802. prowler/providers/github/services/repository/repository_default_branch_protection_enabled/repository_default_branch_protection_enabled.py +5 -7
  803. prowler/providers/github/services/repository/repository_default_branch_requires_codeowners_review/__init__.py +0 -0
  804. prowler/providers/github/services/repository/repository_default_branch_requires_codeowners_review/repository_default_branch_requires_codeowners_review.metadata.json +30 -0
  805. prowler/providers/github/services/repository/repository_default_branch_requires_codeowners_review/repository_default_branch_requires_codeowners_review.py +36 -0
  806. prowler/providers/github/services/repository/repository_default_branch_requires_conversation_resolution/repository_default_branch_requires_conversation_resolution.py +5 -11
  807. prowler/providers/github/services/repository/repository_default_branch_requires_linear_history/repository_default_branch_requires_linear_history.py +5 -7
  808. prowler/providers/github/services/repository/repository_default_branch_requires_multiple_approvals/repository_default_branch_requires_multiple_approvals.py +3 -5
  809. prowler/providers/github/services/repository/repository_default_branch_requires_signed_commits/__init__.py +0 -0
  810. prowler/providers/github/services/repository/repository_default_branch_requires_signed_commits/repository_default_branch_requires_signed_commits.metadata.json +30 -0
  811. prowler/providers/github/services/repository/repository_default_branch_requires_signed_commits/repository_default_branch_requires_signed_commits.py +36 -0
  812. prowler/providers/github/services/repository/repository_default_branch_status_checks_required/repository_default_branch_status_checks_required.py +3 -5
  813. prowler/providers/github/services/repository/repository_dependency_scanning_enabled/__init__.py +0 -0
  814. prowler/providers/github/services/repository/repository_dependency_scanning_enabled/repository_dependency_scanning_enabled.metadata.json +30 -0
  815. prowler/providers/github/services/repository/repository_dependency_scanning_enabled/repository_dependency_scanning_enabled.py +36 -0
  816. prowler/providers/github/services/repository/repository_has_codeowners_file/__init__.py +0 -0
  817. prowler/providers/github/services/repository/repository_has_codeowners_file/repository_has_codeowners_file.metadata.json +30 -0
  818. prowler/providers/github/services/repository/repository_has_codeowners_file/repository_has_codeowners_file.py +40 -0
  819. prowler/providers/github/services/repository/repository_inactive_not_archived/__init__.py +0 -0
  820. prowler/providers/github/services/repository/repository_inactive_not_archived/repository_inactive_not_archived.metadata.json +30 -0
  821. prowler/providers/github/services/repository/repository_inactive_not_archived/repository_inactive_not_archived.py +43 -0
  822. prowler/providers/github/services/repository/repository_public_has_securitymd_file/repository_public_has_securitymd_file.py +1 -3
  823. prowler/providers/github/services/repository/repository_secret_scanning_enabled/__init__.py +0 -0
  824. prowler/providers/github/services/repository/repository_secret_scanning_enabled/repository_secret_scanning_enabled.metadata.json +30 -0
  825. prowler/providers/github/services/repository/repository_secret_scanning_enabled/repository_secret_scanning_enabled.py +36 -0
  826. prowler/providers/github/services/repository/repository_service.py +366 -97
  827. prowler/providers/iac/__init__.py +0 -0
  828. prowler/providers/iac/iac_provider.py +660 -0
  829. prowler/providers/iac/lib/__init__.py +0 -0
  830. prowler/providers/iac/lib/arguments/__init__.py +0 -0
  831. prowler/providers/iac/lib/arguments/arguments.py +83 -0
  832. prowler/providers/iac/models.py +27 -0
  833. prowler/providers/kubernetes/kubernetes_provider.py +39 -2
  834. prowler/providers/kubernetes/services/apiserver/apiserver_strong_ciphers_only/apiserver_strong_ciphers_only.py +7 -9
  835. prowler/providers/kubernetes/services/controllermanager/controllermanager_bind_address/controllermanager_bind_address.metadata.json +1 -1
  836. prowler/providers/kubernetes/services/controllermanager/controllermanager_disable_profiling/controllermanager_disable_profiling.metadata.json +1 -1
  837. prowler/providers/kubernetes/services/controllermanager/controllermanager_garbage_collection/controllermanager_garbage_collection.metadata.json +1 -1
  838. prowler/providers/kubernetes/services/controllermanager/controllermanager_root_ca_file_set/controllermanager_root_ca_file_set.metadata.json +1 -1
  839. prowler/providers/kubernetes/services/controllermanager/controllermanager_rotate_kubelet_server_cert/controllermanager_rotate_kubelet_server_cert.metadata.json +1 -1
  840. prowler/providers/kubernetes/services/controllermanager/controllermanager_service_account_credentials/controllermanager_service_account_credentials.metadata.json +1 -1
  841. prowler/providers/kubernetes/services/controllermanager/controllermanager_service_account_private_key_file/controllermanager_service_account_private_key_file.metadata.json +1 -1
  842. prowler/providers/kubernetes/services/core/core_service.py +2 -2
  843. prowler/providers/kubernetes/services/etcd/etcd_client_cert_auth/etcd_client_cert_auth.metadata.json +18 -13
  844. prowler/providers/kubernetes/services/etcd/etcd_no_auto_tls/etcd_no_auto_tls.metadata.json +16 -11
  845. prowler/providers/kubernetes/services/etcd/etcd_no_peer_auto_tls/etcd_no_peer_auto_tls.metadata.json +16 -11
  846. prowler/providers/kubernetes/services/etcd/etcd_peer_client_cert_auth/etcd_peer_client_cert_auth.metadata.json +18 -13
  847. prowler/providers/kubernetes/services/etcd/etcd_peer_tls_config/etcd_peer_tls_config.metadata.json +16 -12
  848. prowler/providers/kubernetes/services/etcd/etcd_tls_encryption/etcd_tls_encryption.metadata.json +16 -11
  849. prowler/providers/kubernetes/services/etcd/etcd_unique_ca/etcd_unique_ca.metadata.json +16 -10
  850. prowler/providers/kubernetes/services/rbac/rbac_cluster_admin_usage/rbac_cluster_admin_usage.metadata.json +1 -1
  851. prowler/providers/kubernetes/services/rbac/rbac_minimize_csr_approval_access/rbac_minimize_csr_approval_access.metadata.json +1 -1
  852. prowler/providers/kubernetes/services/rbac/rbac_minimize_node_proxy_subresource_access/rbac_minimize_node_proxy_subresource_access.metadata.json +1 -1
  853. prowler/providers/kubernetes/services/rbac/rbac_minimize_pod_creation_access/rbac_minimize_pod_creation_access.metadata.json +1 -1
  854. prowler/providers/kubernetes/services/rbac/rbac_minimize_pv_creation_access/rbac_minimize_pv_creation_access.metadata.json +1 -1
  855. prowler/providers/kubernetes/services/rbac/rbac_minimize_secret_access/rbac_minimize_secret_access.metadata.json +1 -1
  856. prowler/providers/kubernetes/services/rbac/rbac_minimize_service_account_token_creation/rbac_minimize_service_account_token_creation.metadata.json +1 -1
  857. prowler/providers/kubernetes/services/rbac/rbac_minimize_webhook_config_access/rbac_minimize_webhook_config_access.metadata.json +1 -1
  858. prowler/providers/kubernetes/services/rbac/rbac_minimize_wildcard_use_roles/rbac_minimize_wildcard_use_roles.metadata.json +1 -1
  859. prowler/providers/kubernetes/services/rbac/rbac_service.py +4 -4
  860. prowler/providers/llm/__init__.py +0 -0
  861. prowler/providers/llm/lib/__init__.py +0 -0
  862. prowler/providers/llm/lib/arguments/__init__.py +0 -0
  863. prowler/providers/llm/lib/arguments/arguments.py +13 -0
  864. prowler/providers/llm/llm_provider.py +518 -0
  865. prowler/providers/llm/models.py +27 -0
  866. prowler/providers/m365/exceptions/exceptions.py +36 -25
  867. prowler/providers/m365/lib/arguments/arguments.py +19 -4
  868. prowler/providers/m365/lib/jwt/jwt_decoder.py +68 -0
  869. prowler/providers/m365/lib/mutelist/mutelist.py +2 -1
  870. prowler/providers/m365/lib/powershell/m365_powershell.py +233 -122
  871. prowler/providers/m365/m365_provider.py +344 -175
  872. prowler/providers/m365/models.py +7 -6
  873. prowler/providers/m365/services/admincenter/admincenter_external_calendar_sharing_disabled/__init__.py +0 -0
  874. prowler/providers/m365/services/admincenter/admincenter_external_calendar_sharing_disabled/admincenter_external_calendar_sharing_disabled.metadata.json +32 -0
  875. prowler/providers/m365/services/admincenter/admincenter_external_calendar_sharing_disabled/admincenter_external_calendar_sharing_disabled.py +52 -0
  876. prowler/providers/m365/services/admincenter/admincenter_groups_not_public_visibility/admincenter_groups_not_public_visibility.metadata.json +3 -1
  877. prowler/providers/m365/services/admincenter/admincenter_organization_customer_lockbox_enabled/__init__.py +0 -0
  878. prowler/providers/m365/services/admincenter/admincenter_organization_customer_lockbox_enabled/admincenter_organization_customer_lockbox_enabled.metadata.json +32 -0
  879. prowler/providers/m365/services/admincenter/admincenter_organization_customer_lockbox_enabled/admincenter_organization_customer_lockbox_enabled.py +52 -0
  880. prowler/providers/m365/services/admincenter/admincenter_service.py +128 -41
  881. prowler/providers/m365/services/admincenter/admincenter_settings_password_never_expire/admincenter_settings_password_never_expire.metadata.json +3 -1
  882. prowler/providers/m365/services/admincenter/admincenter_settings_password_never_expire/admincenter_settings_password_never_expire.py +15 -13
  883. prowler/providers/m365/services/admincenter/admincenter_users_admins_reduced_license_footprint/admincenter_users_admins_reduced_license_footprint.metadata.json +3 -1
  884. 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
  885. prowler/providers/m365/services/defender/defender_antiphishing_policy_configured/defender_antiphishing_policy_configured.metadata.json +3 -1
  886. 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
  887. 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
  888. prowler/providers/m365/services/defender/defender_antispam_outbound_policy_configured/defender_antispam_outbound_policy_configured.metadata.json +3 -1
  889. prowler/providers/m365/services/defender/defender_antispam_outbound_policy_forwarding_disabled/defender_antispam_outbound_policy_forwarding_disabled.metadata.json +3 -1
  890. prowler/providers/m365/services/defender/defender_antispam_outbound_policy_forwarding_disabled/defender_antispam_outbound_policy_forwarding_disabled.py +1 -1
  891. prowler/providers/m365/services/defender/defender_antispam_policy_inbound_no_allowed_domains/defender_antispam_policy_inbound_no_allowed_domains.metadata.json +3 -1
  892. prowler/providers/m365/services/defender/defender_chat_report_policy_configured/defender_chat_report_policy_configured.metadata.json +3 -1
  893. prowler/providers/m365/services/defender/defender_domain_dkim_enabled/defender_domain_dkim_enabled.metadata.json +3 -1
  894. prowler/providers/m365/services/defender/defender_domain_dkim_enabled/defender_domain_dkim_enabled.py +1 -1
  895. prowler/providers/m365/services/defender/defender_malware_policy_common_attachments_filter_enabled/defender_malware_policy_common_attachments_filter_enabled.metadata.json +3 -1
  896. prowler/providers/m365/services/defender/defender_malware_policy_comprehensive_attachments_filter_applied/defender_malware_policy_comprehensive_attachments_filter_applied.metadata.json +3 -1
  897. 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
  898. prowler/providers/m365/services/defender/defender_service.py +87 -33
  899. prowler/providers/m365/services/entra/entra_admin_consent_workflow_enabled/entra_admin_consent_workflow_enabled.metadata.json +3 -1
  900. prowler/providers/m365/services/entra/entra_admin_portals_access_restriction/entra_admin_portals_access_restriction.metadata.json +3 -1
  901. prowler/providers/m365/services/entra/entra_admin_users_cloud_only/entra_admin_users_cloud_only.metadata.json +3 -1
  902. prowler/providers/m365/services/entra/entra_admin_users_mfa_enabled/entra_admin_users_mfa_enabled.metadata.json +3 -1
  903. prowler/providers/m365/services/entra/entra_admin_users_phishing_resistant_mfa_enabled/entra_admin_users_phishing_resistant_mfa_enabled.metadata.json +4 -2
  904. prowler/providers/m365/services/entra/entra_admin_users_phishing_resistant_mfa_enabled/entra_admin_users_phishing_resistant_mfa_enabled.py +19 -2
  905. prowler/providers/m365/services/entra/entra_admin_users_sign_in_frequency_enabled/entra_admin_users_sign_in_frequency_enabled.metadata.json +3 -1
  906. prowler/providers/m365/services/entra/entra_dynamic_group_for_guests_created/entra_dynamic_group_for_guests_created.metadata.json +3 -1
  907. prowler/providers/m365/services/entra/entra_identity_protection_sign_in_risk_enabled/entra_identity_protection_sign_in_risk_enabled.metadata.json +3 -1
  908. prowler/providers/m365/services/entra/entra_identity_protection_sign_in_risk_enabled/entra_identity_protection_sign_in_risk_enabled.py +3 -3
  909. prowler/providers/m365/services/entra/entra_identity_protection_user_risk_enabled/entra_identity_protection_user_risk_enabled.metadata.json +3 -1
  910. prowler/providers/m365/services/entra/entra_identity_protection_user_risk_enabled/entra_identity_protection_user_risk_enabled.py +7 -7
  911. prowler/providers/m365/services/entra/entra_intune_enrollment_sign_in_frequency_every_time/__init__.py +0 -0
  912. 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
  913. prowler/providers/m365/services/entra/entra_intune_enrollment_sign_in_frequency_every_time/entra_intune_enrollment_sign_in_frequency_every_time.py +70 -0
  914. prowler/providers/m365/services/entra/entra_legacy_authentication_blocked/entra_legacy_authentication_blocked.metadata.json +3 -1
  915. prowler/providers/m365/services/entra/entra_managed_device_required_for_authentication/entra_managed_device_required_for_authentication.metadata.json +3 -1
  916. prowler/providers/m365/services/entra/entra_managed_device_required_for_mfa_registration/entra_managed_device_required_for_mfa_registration.metadata.json +3 -1
  917. prowler/providers/m365/services/entra/entra_password_hash_sync_enabled/entra_password_hash_sync_enabled.metadata.json +3 -1
  918. 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
  919. 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
  920. prowler/providers/m365/services/entra/entra_policy_guest_users_access_restrictions/entra_policy_guest_users_access_restrictions.metadata.json +3 -1
  921. prowler/providers/m365/services/entra/entra_policy_restricts_user_consent_for_apps/entra_policy_restricts_user_consent_for_apps.metadata.json +3 -1
  922. prowler/providers/m365/services/entra/entra_service.py +78 -22
  923. prowler/providers/m365/services/entra/entra_thirdparty_integrated_apps_not_allowed/entra_thirdparty_integrated_apps_not_allowed.metadata.json +3 -1
  924. prowler/providers/m365/services/entra/entra_users_mfa_capable/__init__.py +0 -0
  925. prowler/providers/m365/services/entra/entra_users_mfa_capable/entra_users_mfa_capable.metadata.json +32 -0
  926. prowler/providers/m365/services/entra/entra_users_mfa_capable/entra_users_mfa_capable.py +46 -0
  927. prowler/providers/m365/services/entra/entra_users_mfa_enabled/entra_users_mfa_enabled.metadata.json +3 -1
  928. prowler/providers/m365/services/exchange/exchange_external_email_tagging_enabled/exchange_external_email_tagging_enabled.metadata.json +3 -1
  929. prowler/providers/m365/services/exchange/exchange_mailbox_audit_bypass_disabled/exchange_mailbox_audit_bypass_disabled.metadata.json +3 -1
  930. prowler/providers/m365/services/exchange/exchange_mailbox_policy_additional_storage_restricted/exchange_mailbox_policy_additional_storage_restricted.metadata.json +3 -1
  931. prowler/providers/m365/services/exchange/exchange_mailbox_policy_additional_storage_restricted/exchange_mailbox_policy_additional_storage_restricted.py +17 -21
  932. prowler/providers/m365/services/exchange/exchange_organization_mailbox_auditing_enabled/exchange_organization_mailbox_auditing_enabled.metadata.json +3 -1
  933. prowler/providers/m365/services/exchange/exchange_organization_mailtips_enabled/exchange_organization_mailtips_enabled.metadata.json +3 -1
  934. prowler/providers/m365/services/exchange/exchange_organization_modern_authentication_enabled/exchange_organization_modern_authentication_enabled.metadata.json +3 -1
  935. prowler/providers/m365/services/exchange/exchange_roles_assignment_policy_addins_disabled/exchange_roles_assignment_policy_addins_disabled.metadata.json +3 -1
  936. prowler/providers/m365/services/exchange/exchange_service.py +38 -24
  937. prowler/providers/m365/services/exchange/exchange_transport_config_smtp_auth_disabled/exchange_transport_config_smtp_auth_disabled.metadata.json +3 -1
  938. prowler/providers/m365/services/exchange/exchange_transport_rules_mail_forwarding_disabled/exchange_transport_rules_mail_forwarding_disabled.metadata.json +3 -1
  939. prowler/providers/m365/services/exchange/exchange_transport_rules_whitelist_disabled/exchange_transport_rules_whitelist_disabled.metadata.json +3 -1
  940. prowler/providers/m365/services/exchange/exchange_user_mailbox_auditing_enabled/exchange_user_mailbox_auditing_enabled.metadata.json +4 -1
  941. prowler/providers/m365/services/purview/purview_audit_log_search_enabled/purview_audit_log_search_enabled.metadata.json +3 -1
  942. prowler/providers/m365/services/purview/purview_service.py +3 -3
  943. prowler/providers/m365/services/sharepoint/sharepoint_external_sharing_managed/sharepoint_external_sharing_managed.metadata.json +3 -1
  944. prowler/providers/m365/services/sharepoint/sharepoint_external_sharing_managed/sharepoint_external_sharing_managed.py +10 -8
  945. prowler/providers/m365/services/sharepoint/sharepoint_external_sharing_restricted/sharepoint_external_sharing_restricted.metadata.json +3 -1
  946. prowler/providers/m365/services/sharepoint/sharepoint_external_sharing_restricted/sharepoint_external_sharing_restricted.py +1 -1
  947. prowler/providers/m365/services/sharepoint/sharepoint_guest_sharing_restricted/sharepoint_guest_sharing_restricted.metadata.json +3 -1
  948. prowler/providers/m365/services/sharepoint/sharepoint_guest_sharing_restricted/sharepoint_guest_sharing_restricted.py +1 -1
  949. prowler/providers/m365/services/sharepoint/sharepoint_modern_authentication_required/sharepoint_modern_authentication_required.metadata.json +3 -1
  950. prowler/providers/m365/services/sharepoint/sharepoint_modern_authentication_required/sharepoint_modern_authentication_required.py +1 -1
  951. prowler/providers/m365/services/sharepoint/sharepoint_onedrive_sync_restricted_unmanaged_devices/sharepoint_onedrive_sync_restricted_unmanaged_devices.metadata.json +3 -1
  952. prowler/providers/m365/services/sharepoint/sharepoint_onedrive_sync_restricted_unmanaged_devices/sharepoint_onedrive_sync_restricted_unmanaged_devices.py +1 -1
  953. prowler/providers/m365/services/sharepoint/sharepoint_service.py +25 -4
  954. prowler/providers/m365/services/teams/teams_email_sending_to_channel_disabled/teams_email_sending_to_channel_disabled.metadata.json +3 -1
  955. prowler/providers/m365/services/teams/teams_external_domains_restricted/teams_external_domains_restricted.metadata.json +3 -1
  956. prowler/providers/m365/services/teams/teams_external_file_sharing_restricted/teams_external_file_sharing_restricted.metadata.json +3 -1
  957. prowler/providers/m365/services/teams/teams_external_users_cannot_start_conversations/teams_external_users_cannot_start_conversations.metadata.json +3 -1
  958. prowler/providers/m365/services/teams/teams_meeting_anonymous_user_join_disabled/teams_meeting_anonymous_user_join_disabled.metadata.json +3 -1
  959. prowler/providers/m365/services/teams/teams_meeting_anonymous_user_start_disabled/teams_meeting_anonymous_user_start_disabled.metadata.json +3 -1
  960. prowler/providers/m365/services/teams/teams_meeting_chat_anonymous_users_disabled/teams_meeting_chat_anonymous_users_disabled.metadata.json +3 -1
  961. prowler/providers/m365/services/teams/teams_meeting_dial_in_lobby_bypass_disabled/teams_meeting_dial_in_lobby_bypass_disabled.metadata.json +3 -1
  962. prowler/providers/m365/services/teams/teams_meeting_external_chat_disabled/teams_meeting_external_chat_disabled.metadata.json +3 -1
  963. prowler/providers/m365/services/teams/teams_meeting_external_control_disabled/teams_meeting_external_control_disabled.metadata.json +3 -1
  964. prowler/providers/m365/services/teams/teams_meeting_external_lobby_bypass_disabled/teams_meeting_external_lobby_bypass_disabled.metadata.json +3 -1
  965. prowler/providers/m365/services/teams/teams_meeting_presenters_restricted/teams_meeting_presenters_restricted.metadata.json +3 -1
  966. prowler/providers/m365/services/teams/teams_meeting_recording_disabled/teams_meeting_recording_disabled.metadata.json +3 -1
  967. prowler/providers/m365/services/teams/teams_security_reporting_enabled/teams_security_reporting_enabled.metadata.json +3 -1
  968. prowler/providers/m365/services/teams/teams_service.py +6 -6
  969. prowler/providers/m365/services/teams/teams_unmanaged_communication_disabled/teams_unmanaged_communication_disabled.metadata.json +3 -1
  970. prowler/providers/mongodbatlas/__init__.py +0 -0
  971. prowler/providers/mongodbatlas/config.py +2 -0
  972. prowler/providers/mongodbatlas/exceptions/__init__.py +0 -0
  973. prowler/providers/mongodbatlas/exceptions/exceptions.py +134 -0
  974. prowler/providers/mongodbatlas/lib/__init__.py +0 -0
  975. prowler/providers/mongodbatlas/lib/arguments/__init__.py +0 -0
  976. prowler/providers/mongodbatlas/lib/arguments/arguments.py +45 -0
  977. prowler/providers/mongodbatlas/lib/mutelist/__init__.py +0 -0
  978. prowler/providers/mongodbatlas/lib/mutelist/mutelist.py +30 -0
  979. prowler/providers/mongodbatlas/lib/service/__init__.py +0 -0
  980. prowler/providers/mongodbatlas/lib/service/service.py +172 -0
  981. prowler/providers/mongodbatlas/models.py +39 -0
  982. prowler/providers/mongodbatlas/mongodbatlas_provider.py +335 -0
  983. prowler/providers/mongodbatlas/services/__init__.py +0 -0
  984. prowler/providers/mongodbatlas/services/clusters/__init__.py +0 -0
  985. prowler/providers/mongodbatlas/services/clusters/clusters_authentication_enabled/__init__.py +0 -0
  986. prowler/providers/mongodbatlas/services/clusters/clusters_authentication_enabled/clusters_authentication_enabled.metadata.json +30 -0
  987. prowler/providers/mongodbatlas/services/clusters/clusters_authentication_enabled/clusters_authentication_enabled.py +45 -0
  988. prowler/providers/mongodbatlas/services/clusters/clusters_backup_enabled/__init__.py +0 -0
  989. prowler/providers/mongodbatlas/services/clusters/clusters_backup_enabled/clusters_backup_enabled.metadata.json +30 -0
  990. prowler/providers/mongodbatlas/services/clusters/clusters_backup_enabled/clusters_backup_enabled.py +45 -0
  991. prowler/providers/mongodbatlas/services/clusters/clusters_client.py +4 -0
  992. prowler/providers/mongodbatlas/services/clusters/clusters_encryption_at_rest_enabled/__init__.py +0 -0
  993. prowler/providers/mongodbatlas/services/clusters/clusters_encryption_at_rest_enabled/clusters_encryption_at_rest_enabled.metadata.json +30 -0
  994. prowler/providers/mongodbatlas/services/clusters/clusters_encryption_at_rest_enabled/clusters_encryption_at_rest_enabled.py +71 -0
  995. prowler/providers/mongodbatlas/services/clusters/clusters_service.py +140 -0
  996. prowler/providers/mongodbatlas/services/clusters/clusters_tls_enabled/__init__.py +0 -0
  997. prowler/providers/mongodbatlas/services/clusters/clusters_tls_enabled/clusters_tls_enabled.metadata.json +30 -0
  998. prowler/providers/mongodbatlas/services/clusters/clusters_tls_enabled/clusters_tls_enabled.py +45 -0
  999. prowler/providers/mongodbatlas/services/organizations/__init__.py +0 -0
  1000. prowler/providers/mongodbatlas/services/organizations/organizations_api_access_list_required/__init__.py +0 -0
  1001. prowler/providers/mongodbatlas/services/organizations/organizations_api_access_list_required/organizations_api_access_list_required.metadata.json +30 -0
  1002. prowler/providers/mongodbatlas/services/organizations/organizations_api_access_list_required/organizations_api_access_list_required.py +47 -0
  1003. prowler/providers/mongodbatlas/services/organizations/organizations_client.py +6 -0
  1004. prowler/providers/mongodbatlas/services/organizations/organizations_mfa_required/__init__.py +0 -0
  1005. prowler/providers/mongodbatlas/services/organizations/organizations_mfa_required/organizations_mfa_required.metadata.json +30 -0
  1006. prowler/providers/mongodbatlas/services/organizations/organizations_mfa_required/organizations_mfa_required.py +47 -0
  1007. prowler/providers/mongodbatlas/services/organizations/organizations_security_contact_defined/__init__.py +0 -0
  1008. prowler/providers/mongodbatlas/services/organizations/organizations_security_contact_defined/organizations_security_contact_defined.metadata.json +30 -0
  1009. prowler/providers/mongodbatlas/services/organizations/organizations_security_contact_defined/organizations_security_contact_defined.py +47 -0
  1010. prowler/providers/mongodbatlas/services/organizations/organizations_service.py +97 -0
  1011. prowler/providers/mongodbatlas/services/organizations/organizations_service_account_secrets_expiration/__init__.py +0 -0
  1012. prowler/providers/mongodbatlas/services/organizations/organizations_service_account_secrets_expiration/organizations_service_account_secrets_expiration.metadata.json +30 -0
  1013. prowler/providers/mongodbatlas/services/organizations/organizations_service_account_secrets_expiration/organizations_service_account_secrets_expiration.py +66 -0
  1014. prowler/providers/mongodbatlas/services/projects/__init__.py +0 -0
  1015. prowler/providers/mongodbatlas/services/projects/projects_auditing_enabled/__init__.py +0 -0
  1016. prowler/providers/mongodbatlas/services/projects/projects_auditing_enabled/projects_auditing_enabled.metadata.json +41 -0
  1017. prowler/providers/mongodbatlas/services/projects/projects_auditing_enabled/projects_auditing_enabled.py +48 -0
  1018. prowler/providers/mongodbatlas/services/projects/projects_client.py +4 -0
  1019. prowler/providers/mongodbatlas/services/projects/projects_network_access_list_exposed_to_internet/__init__.py +0 -0
  1020. prowler/providers/mongodbatlas/services/projects/projects_network_access_list_exposed_to_internet/projects_network_access_list_exposed_to_internet.metadata.json +35 -0
  1021. prowler/providers/mongodbatlas/services/projects/projects_network_access_list_exposed_to_internet/projects_network_access_list_exposed_to_internet.py +61 -0
  1022. prowler/providers/mongodbatlas/services/projects/projects_service.py +245 -0
  1023. prowler/providers/nhn/models.py +1 -1
  1024. prowler/providers/nhn/services/compute/compute_instance_login_user/compute_instance_login_user.py +1 -1
  1025. prowler/providers/nhn/services/compute/compute_service.py +1 -1
  1026. prowler/providers/nhn/services/network/network_service.py +1 -1
  1027. prowler/providers/oraclecloud/__init__.py +0 -0
  1028. prowler/providers/oraclecloud/config.py +61 -0
  1029. prowler/providers/oraclecloud/exceptions/__init__.py +0 -0
  1030. prowler/providers/oraclecloud/exceptions/exceptions.py +197 -0
  1031. prowler/providers/oraclecloud/lib/__init__.py +0 -0
  1032. prowler/providers/oraclecloud/lib/arguments/__init__.py +0 -0
  1033. prowler/providers/oraclecloud/lib/arguments/arguments.py +114 -0
  1034. prowler/providers/oraclecloud/lib/mutelist/__init__.py +0 -0
  1035. prowler/providers/oraclecloud/lib/mutelist/mutelist.py +176 -0
  1036. prowler/providers/oraclecloud/lib/service/__init__.py +0 -0
  1037. prowler/providers/oraclecloud/lib/service/service.py +213 -0
  1038. prowler/providers/oraclecloud/models.py +96 -0
  1039. prowler/providers/oraclecloud/oraclecloud_provider.py +1038 -0
  1040. prowler/providers/oraclecloud/services/__init__.py +0 -0
  1041. prowler/providers/oraclecloud/services/analytics/__init__.py +0 -0
  1042. prowler/providers/oraclecloud/services/analytics/analytics_client.py +6 -0
  1043. prowler/providers/oraclecloud/services/analytics/analytics_instance_access_restricted/__init__.py +0 -0
  1044. prowler/providers/oraclecloud/services/analytics/analytics_instance_access_restricted/analytics_instance_access_restricted.metadata.json +40 -0
  1045. prowler/providers/oraclecloud/services/analytics/analytics_instance_access_restricted/analytics_instance_access_restricted.py +48 -0
  1046. prowler/providers/oraclecloud/services/analytics/analytics_service.py +99 -0
  1047. prowler/providers/oraclecloud/services/audit/__init__.py +0 -0
  1048. prowler/providers/oraclecloud/services/audit/audit_client.py +4 -0
  1049. prowler/providers/oraclecloud/services/audit/audit_log_retention_period_365_days/__init__.py +0 -0
  1050. prowler/providers/oraclecloud/services/audit/audit_log_retention_period_365_days/audit_log_retention_period_365_days.metadata.json +37 -0
  1051. prowler/providers/oraclecloud/services/audit/audit_log_retention_period_365_days/audit_log_retention_period_365_days.py +46 -0
  1052. prowler/providers/oraclecloud/services/audit/audit_service.py +57 -0
  1053. prowler/providers/oraclecloud/services/blockstorage/__init__.py +0 -0
  1054. prowler/providers/oraclecloud/services/blockstorage/blockstorage_block_volume_encrypted_with_cmk/__init__.py +0 -0
  1055. prowler/providers/oraclecloud/services/blockstorage/blockstorage_block_volume_encrypted_with_cmk/blockstorage_block_volume_encrypted_with_cmk.metadata.json +35 -0
  1056. prowler/providers/oraclecloud/services/blockstorage/blockstorage_block_volume_encrypted_with_cmk/blockstorage_block_volume_encrypted_with_cmk.py +39 -0
  1057. prowler/providers/oraclecloud/services/blockstorage/blockstorage_boot_volume_encrypted_with_cmk/__init__.py +0 -0
  1058. prowler/providers/oraclecloud/services/blockstorage/blockstorage_boot_volume_encrypted_with_cmk/blockstorage_boot_volume_encrypted_with_cmk.metadata.json +36 -0
  1059. prowler/providers/oraclecloud/services/blockstorage/blockstorage_boot_volume_encrypted_with_cmk/blockstorage_boot_volume_encrypted_with_cmk.py +35 -0
  1060. prowler/providers/oraclecloud/services/blockstorage/blockstorage_client.py +6 -0
  1061. prowler/providers/oraclecloud/services/blockstorage/blockstorage_service.py +182 -0
  1062. prowler/providers/oraclecloud/services/cloudguard/__init__.py +0 -0
  1063. prowler/providers/oraclecloud/services/cloudguard/cloudguard_client.py +6 -0
  1064. prowler/providers/oraclecloud/services/cloudguard/cloudguard_enabled/__init__.py +0 -0
  1065. prowler/providers/oraclecloud/services/cloudguard/cloudguard_enabled/cloudguard_enabled.metadata.json +35 -0
  1066. prowler/providers/oraclecloud/services/cloudguard/cloudguard_enabled/cloudguard_enabled.py +39 -0
  1067. prowler/providers/oraclecloud/services/cloudguard/cloudguard_service.py +63 -0
  1068. prowler/providers/oraclecloud/services/compute/__init__.py +0 -0
  1069. prowler/providers/oraclecloud/services/compute/compute_client.py +4 -0
  1070. prowler/providers/oraclecloud/services/compute/compute_instance_in_transit_encryption_enabled/__init__.py +0 -0
  1071. prowler/providers/oraclecloud/services/compute/compute_instance_in_transit_encryption_enabled/compute_instance_in_transit_encryption_enabled.metadata.json +37 -0
  1072. prowler/providers/oraclecloud/services/compute/compute_instance_in_transit_encryption_enabled/compute_instance_in_transit_encryption_enabled.py +38 -0
  1073. prowler/providers/oraclecloud/services/compute/compute_instance_legacy_metadata_endpoint_disabled/__init__.py +0 -0
  1074. prowler/providers/oraclecloud/services/compute/compute_instance_legacy_metadata_endpoint_disabled/compute_instance_legacy_metadata_endpoint_disabled.metadata.json +37 -0
  1075. prowler/providers/oraclecloud/services/compute/compute_instance_legacy_metadata_endpoint_disabled/compute_instance_legacy_metadata_endpoint_disabled.py +37 -0
  1076. prowler/providers/oraclecloud/services/compute/compute_instance_secure_boot_enabled/__init__.py +0 -0
  1077. prowler/providers/oraclecloud/services/compute/compute_instance_secure_boot_enabled/compute_instance_secure_boot_enabled.metadata.json +37 -0
  1078. prowler/providers/oraclecloud/services/compute/compute_instance_secure_boot_enabled/compute_instance_secure_boot_enabled.py +39 -0
  1079. prowler/providers/oraclecloud/services/compute/compute_service.py +136 -0
  1080. prowler/providers/oraclecloud/services/database/__init__.py +0 -0
  1081. prowler/providers/oraclecloud/services/database/database_autonomous_database_access_restricted/__init__.py +0 -0
  1082. prowler/providers/oraclecloud/services/database/database_autonomous_database_access_restricted/database_autonomous_database_access_restricted.metadata.json +36 -0
  1083. prowler/providers/oraclecloud/services/database/database_autonomous_database_access_restricted/database_autonomous_database_access_restricted.py +40 -0
  1084. prowler/providers/oraclecloud/services/database/database_client.py +6 -0
  1085. prowler/providers/oraclecloud/services/database/database_service.py +79 -0
  1086. prowler/providers/oraclecloud/services/events/__init__.py +0 -0
  1087. prowler/providers/oraclecloud/services/events/events_client.py +4 -0
  1088. prowler/providers/oraclecloud/services/events/events_notification_topic_and_subscription_exists/__init__.py +0 -0
  1089. prowler/providers/oraclecloud/services/events/events_notification_topic_and_subscription_exists/events_notification_topic_and_subscription_exists.metadata.json +37 -0
  1090. prowler/providers/oraclecloud/services/events/events_notification_topic_and_subscription_exists/events_notification_topic_and_subscription_exists.py +53 -0
  1091. prowler/providers/oraclecloud/services/events/events_rule_cloudguard_problems/__init__.py +0 -0
  1092. prowler/providers/oraclecloud/services/events/events_rule_cloudguard_problems/events_rule_cloudguard_problems.metadata.json +36 -0
  1093. prowler/providers/oraclecloud/services/events/events_rule_cloudguard_problems/events_rule_cloudguard_problems.py +90 -0
  1094. prowler/providers/oraclecloud/services/events/events_rule_iam_group_changes/__init__.py +0 -0
  1095. prowler/providers/oraclecloud/services/events/events_rule_iam_group_changes/events_rule_iam_group_changes.metadata.json +37 -0
  1096. prowler/providers/oraclecloud/services/events/events_rule_iam_group_changes/events_rule_iam_group_changes.py +67 -0
  1097. prowler/providers/oraclecloud/services/events/events_rule_iam_policy_changes/__init__.py +0 -0
  1098. prowler/providers/oraclecloud/services/events/events_rule_iam_policy_changes/events_rule_iam_policy_changes.metadata.json +37 -0
  1099. prowler/providers/oraclecloud/services/events/events_rule_iam_policy_changes/events_rule_iam_policy_changes.py +67 -0
  1100. prowler/providers/oraclecloud/services/events/events_rule_identity_provider_changes/__init__.py +0 -0
  1101. prowler/providers/oraclecloud/services/events/events_rule_identity_provider_changes/events_rule_identity_provider_changes.metadata.json +37 -0
  1102. prowler/providers/oraclecloud/services/events/events_rule_identity_provider_changes/events_rule_identity_provider_changes.py +67 -0
  1103. prowler/providers/oraclecloud/services/events/events_rule_idp_group_mapping_changes/__init__.py +0 -0
  1104. prowler/providers/oraclecloud/services/events/events_rule_idp_group_mapping_changes/events_rule_idp_group_mapping_changes.metadata.json +37 -0
  1105. prowler/providers/oraclecloud/services/events/events_rule_idp_group_mapping_changes/events_rule_idp_group_mapping_changes.py +67 -0
  1106. prowler/providers/oraclecloud/services/events/events_rule_local_user_authentication/__init__.py +0 -0
  1107. prowler/providers/oraclecloud/services/events/events_rule_local_user_authentication/events_rule_local_user_authentication.metadata.json +38 -0
  1108. prowler/providers/oraclecloud/services/events/events_rule_local_user_authentication/events_rule_local_user_authentication.py +63 -0
  1109. prowler/providers/oraclecloud/services/events/events_rule_network_gateway_changes/__init__.py +0 -0
  1110. prowler/providers/oraclecloud/services/events/events_rule_network_gateway_changes/events_rule_network_gateway_changes.metadata.json +37 -0
  1111. prowler/providers/oraclecloud/services/events/events_rule_network_gateway_changes/events_rule_network_gateway_changes.py +88 -0
  1112. prowler/providers/oraclecloud/services/events/events_rule_network_security_group_changes/__init__.py +0 -0
  1113. prowler/providers/oraclecloud/services/events/events_rule_network_security_group_changes/events_rule_network_security_group_changes.metadata.json +37 -0
  1114. prowler/providers/oraclecloud/services/events/events_rule_network_security_group_changes/events_rule_network_security_group_changes.py +68 -0
  1115. prowler/providers/oraclecloud/services/events/events_rule_route_table_changes/__init__.py +0 -0
  1116. prowler/providers/oraclecloud/services/events/events_rule_route_table_changes/events_rule_route_table_changes.metadata.json +37 -0
  1117. prowler/providers/oraclecloud/services/events/events_rule_route_table_changes/events_rule_route_table_changes.py +68 -0
  1118. prowler/providers/oraclecloud/services/events/events_rule_security_list_changes/__init__.py +0 -0
  1119. prowler/providers/oraclecloud/services/events/events_rule_security_list_changes/events_rule_security_list_changes.metadata.json +37 -0
  1120. prowler/providers/oraclecloud/services/events/events_rule_security_list_changes/events_rule_security_list_changes.py +68 -0
  1121. prowler/providers/oraclecloud/services/events/events_rule_user_changes/__init__.py +0 -0
  1122. prowler/providers/oraclecloud/services/events/events_rule_user_changes/events_rule_user_changes.metadata.json +37 -0
  1123. prowler/providers/oraclecloud/services/events/events_rule_user_changes/events_rule_user_changes.py +69 -0
  1124. prowler/providers/oraclecloud/services/events/events_rule_vcn_changes/__init__.py +0 -0
  1125. prowler/providers/oraclecloud/services/events/events_rule_vcn_changes/events_rule_vcn_changes.metadata.json +37 -0
  1126. prowler/providers/oraclecloud/services/events/events_rule_vcn_changes/events_rule_vcn_changes.py +65 -0
  1127. prowler/providers/oraclecloud/services/events/events_service.py +215 -0
  1128. prowler/providers/oraclecloud/services/events/lib/__init__.py +0 -0
  1129. prowler/providers/oraclecloud/services/events/lib/helpers.py +116 -0
  1130. prowler/providers/oraclecloud/services/filestorage/__init__.py +0 -0
  1131. prowler/providers/oraclecloud/services/filestorage/filestorage_client.py +6 -0
  1132. prowler/providers/oraclecloud/services/filestorage/filestorage_file_system_encrypted_with_cmk/__init__.py +0 -0
  1133. prowler/providers/oraclecloud/services/filestorage/filestorage_file_system_encrypted_with_cmk/filestorage_file_system_encrypted_with_cmk.metadata.json +36 -0
  1134. prowler/providers/oraclecloud/services/filestorage/filestorage_file_system_encrypted_with_cmk/filestorage_file_system_encrypted_with_cmk.py +39 -0
  1135. prowler/providers/oraclecloud/services/filestorage/filestorage_service.py +96 -0
  1136. prowler/providers/oraclecloud/services/identity/__init__.py +0 -0
  1137. prowler/providers/oraclecloud/services/identity/identity_client.py +4 -0
  1138. prowler/providers/oraclecloud/services/identity/identity_iam_admins_cannot_update_tenancy_admins/__init__.py +0 -0
  1139. prowler/providers/oraclecloud/services/identity/identity_iam_admins_cannot_update_tenancy_admins/identity_iam_admins_cannot_update_tenancy_admins.metadata.json +36 -0
  1140. prowler/providers/oraclecloud/services/identity/identity_iam_admins_cannot_update_tenancy_admins/identity_iam_admins_cannot_update_tenancy_admins.py +107 -0
  1141. prowler/providers/oraclecloud/services/identity/identity_instance_principal_used/__init__.py +0 -0
  1142. prowler/providers/oraclecloud/services/identity/identity_instance_principal_used/identity_instance_principal_used.metadata.json +36 -0
  1143. prowler/providers/oraclecloud/services/identity/identity_instance_principal_used/identity_instance_principal_used.py +70 -0
  1144. prowler/providers/oraclecloud/services/identity/identity_no_resources_in_root_compartment/__init__.py +0 -0
  1145. prowler/providers/oraclecloud/services/identity/identity_no_resources_in_root_compartment/identity_no_resources_in_root_compartment.metadata.json +32 -0
  1146. prowler/providers/oraclecloud/services/identity/identity_no_resources_in_root_compartment/identity_no_resources_in_root_compartment.py +51 -0
  1147. prowler/providers/oraclecloud/services/identity/identity_non_root_compartment_exists/__init__.py +0 -0
  1148. prowler/providers/oraclecloud/services/identity/identity_non_root_compartment_exists/identity_non_root_compartment_exists.metadata.json +32 -0
  1149. prowler/providers/oraclecloud/services/identity/identity_non_root_compartment_exists/identity_non_root_compartment_exists.py +39 -0
  1150. prowler/providers/oraclecloud/services/identity/identity_password_policy_expires_within_365_days/__init__.py +0 -0
  1151. prowler/providers/oraclecloud/services/identity/identity_password_policy_expires_within_365_days/identity_password_policy_expires_within_365_days.metadata.json +36 -0
  1152. prowler/providers/oraclecloud/services/identity/identity_password_policy_expires_within_365_days/identity_password_policy_expires_within_365_days.py +67 -0
  1153. prowler/providers/oraclecloud/services/identity/identity_password_policy_minimum_length_14/__init__.py +0 -0
  1154. prowler/providers/oraclecloud/services/identity/identity_password_policy_minimum_length_14/identity_password_policy_minimum_length_14.metadata.json +36 -0
  1155. prowler/providers/oraclecloud/services/identity/identity_password_policy_minimum_length_14/identity_password_policy_minimum_length_14.py +97 -0
  1156. prowler/providers/oraclecloud/services/identity/identity_password_policy_prevents_reuse/__init__.py +0 -0
  1157. prowler/providers/oraclecloud/services/identity/identity_password_policy_prevents_reuse/identity_password_policy_prevents_reuse.metadata.json +36 -0
  1158. prowler/providers/oraclecloud/services/identity/identity_password_policy_prevents_reuse/identity_password_policy_prevents_reuse.py +77 -0
  1159. prowler/providers/oraclecloud/services/identity/identity_service.py +828 -0
  1160. prowler/providers/oraclecloud/services/identity/identity_service_level_admins_exist/__init__.py +0 -0
  1161. prowler/providers/oraclecloud/services/identity/identity_service_level_admins_exist/identity_service_level_admins_exist.metadata.json +32 -0
  1162. prowler/providers/oraclecloud/services/identity/identity_service_level_admins_exist/identity_service_level_admins_exist.py +81 -0
  1163. prowler/providers/oraclecloud/services/identity/identity_tenancy_admin_permissions_limited/__init__.py +0 -0
  1164. prowler/providers/oraclecloud/services/identity/identity_tenancy_admin_permissions_limited/identity_tenancy_admin_permissions_limited.metadata.json +36 -0
  1165. prowler/providers/oraclecloud/services/identity/identity_tenancy_admin_permissions_limited/identity_tenancy_admin_permissions_limited.py +81 -0
  1166. prowler/providers/oraclecloud/services/identity/identity_tenancy_admin_users_no_api_keys/__init__.py +0 -0
  1167. prowler/providers/oraclecloud/services/identity/identity_tenancy_admin_users_no_api_keys/identity_tenancy_admin_users_no_api_keys.metadata.json +36 -0
  1168. prowler/providers/oraclecloud/services/identity/identity_tenancy_admin_users_no_api_keys/identity_tenancy_admin_users_no_api_keys.py +49 -0
  1169. prowler/providers/oraclecloud/services/identity/identity_user_api_keys_rotated_90_days/__init__.py +0 -0
  1170. prowler/providers/oraclecloud/services/identity/identity_user_api_keys_rotated_90_days/identity_user_api_keys_rotated_90_days.metadata.json +37 -0
  1171. prowler/providers/oraclecloud/services/identity/identity_user_api_keys_rotated_90_days/identity_user_api_keys_rotated_90_days.py +73 -0
  1172. prowler/providers/oraclecloud/services/identity/identity_user_auth_tokens_rotated_90_days/__init__.py +0 -0
  1173. prowler/providers/oraclecloud/services/identity/identity_user_auth_tokens_rotated_90_days/identity_user_auth_tokens_rotated_90_days.metadata.json +36 -0
  1174. prowler/providers/oraclecloud/services/identity/identity_user_auth_tokens_rotated_90_days/identity_user_auth_tokens_rotated_90_days.py +52 -0
  1175. prowler/providers/oraclecloud/services/identity/identity_user_customer_secret_keys_rotated_90_days/__init__.py +0 -0
  1176. 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
  1177. prowler/providers/oraclecloud/services/identity/identity_user_customer_secret_keys_rotated_90_days/identity_user_customer_secret_keys_rotated_90_days.py +49 -0
  1178. prowler/providers/oraclecloud/services/identity/identity_user_db_passwords_rotated_90_days/__init__.py +0 -0
  1179. prowler/providers/oraclecloud/services/identity/identity_user_db_passwords_rotated_90_days/identity_user_db_passwords_rotated_90_days.metadata.json +36 -0
  1180. prowler/providers/oraclecloud/services/identity/identity_user_db_passwords_rotated_90_days/identity_user_db_passwords_rotated_90_days.py +49 -0
  1181. prowler/providers/oraclecloud/services/identity/identity_user_mfa_enabled_console_access/__init__.py +0 -0
  1182. prowler/providers/oraclecloud/services/identity/identity_user_mfa_enabled_console_access/identity_user_mfa_enabled_console_access.metadata.json +36 -0
  1183. prowler/providers/oraclecloud/services/identity/identity_user_mfa_enabled_console_access/identity_user_mfa_enabled_console_access.py +43 -0
  1184. prowler/providers/oraclecloud/services/identity/identity_user_valid_email_address/__init__.py +0 -0
  1185. prowler/providers/oraclecloud/services/identity/identity_user_valid_email_address/identity_user_valid_email_address.metadata.json +36 -0
  1186. prowler/providers/oraclecloud/services/identity/identity_user_valid_email_address/identity_user_valid_email_address.py +38 -0
  1187. prowler/providers/oraclecloud/services/integration/__init__.py +0 -0
  1188. prowler/providers/oraclecloud/services/integration/integration_client.py +8 -0
  1189. prowler/providers/oraclecloud/services/integration/integration_instance_access_restricted/__init__.py +0 -0
  1190. prowler/providers/oraclecloud/services/integration/integration_instance_access_restricted/integration_instance_access_restricted.metadata.json +36 -0
  1191. prowler/providers/oraclecloud/services/integration/integration_instance_access_restricted/integration_instance_access_restricted.py +48 -0
  1192. prowler/providers/oraclecloud/services/integration/integration_service.py +92 -0
  1193. prowler/providers/oraclecloud/services/kms/__init__.py +0 -0
  1194. prowler/providers/oraclecloud/services/kms/kms_client.py +4 -0
  1195. prowler/providers/oraclecloud/services/kms/kms_key_rotation_enabled/__init__.py +0 -0
  1196. prowler/providers/oraclecloud/services/kms/kms_key_rotation_enabled/kms_key_rotation_enabled.metadata.json +36 -0
  1197. prowler/providers/oraclecloud/services/kms/kms_key_rotation_enabled/kms_key_rotation_enabled.py +37 -0
  1198. prowler/providers/oraclecloud/services/kms/kms_service.py +136 -0
  1199. prowler/providers/oraclecloud/services/logging/__init__.py +0 -0
  1200. prowler/providers/oraclecloud/services/logging/logging_client.py +6 -0
  1201. prowler/providers/oraclecloud/services/logging/logging_service.py +189 -0
  1202. prowler/providers/oraclecloud/services/network/__init__.py +0 -0
  1203. prowler/providers/oraclecloud/services/network/network_client.py +4 -0
  1204. prowler/providers/oraclecloud/services/network/network_default_security_list_restricts_traffic/__init__.py +0 -0
  1205. prowler/providers/oraclecloud/services/network/network_default_security_list_restricts_traffic/network_default_security_list_restricts_traffic.metadata.json +36 -0
  1206. prowler/providers/oraclecloud/services/network/network_default_security_list_restricts_traffic/network_default_security_list_restricts_traffic.py +99 -0
  1207. prowler/providers/oraclecloud/services/network/network_security_group_ingress_from_internet_to_rdp_port/__init__.py +0 -0
  1208. 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
  1209. 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
  1210. prowler/providers/oraclecloud/services/network/network_security_group_ingress_from_internet_to_ssh_port/__init__.py +0 -0
  1211. 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
  1212. 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
  1213. prowler/providers/oraclecloud/services/network/network_security_list_ingress_from_internet_to_rdp_port/__init__.py +0 -0
  1214. 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
  1215. 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
  1216. prowler/providers/oraclecloud/services/network/network_security_list_ingress_from_internet_to_ssh_port/__init__.py +0 -0
  1217. 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
  1218. 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
  1219. prowler/providers/oraclecloud/services/network/network_service.py +321 -0
  1220. prowler/providers/oraclecloud/services/network/network_vcn_subnet_flow_logs_enabled/__init__.py +0 -0
  1221. prowler/providers/oraclecloud/services/network/network_vcn_subnet_flow_logs_enabled/network_vcn_subnet_flow_logs_enabled.metadata.json +36 -0
  1222. prowler/providers/oraclecloud/services/network/network_vcn_subnet_flow_logs_enabled/network_vcn_subnet_flow_logs_enabled.py +66 -0
  1223. prowler/providers/oraclecloud/services/objectstorage/__init__.py +0 -0
  1224. prowler/providers/oraclecloud/services/objectstorage/objectstorage_bucket_encrypted_with_cmk/__init__.py +0 -0
  1225. prowler/providers/oraclecloud/services/objectstorage/objectstorage_bucket_encrypted_with_cmk/objectstorage_bucket_encrypted_with_cmk.metadata.json +37 -0
  1226. prowler/providers/oraclecloud/services/objectstorage/objectstorage_bucket_encrypted_with_cmk/objectstorage_bucket_encrypted_with_cmk.py +40 -0
  1227. prowler/providers/oraclecloud/services/objectstorage/objectstorage_bucket_logging_enabled/__init__.py +0 -0
  1228. prowler/providers/oraclecloud/services/objectstorage/objectstorage_bucket_logging_enabled/objectstorage_bucket_logging_enabled.metadata.json +32 -0
  1229. prowler/providers/oraclecloud/services/objectstorage/objectstorage_bucket_logging_enabled/objectstorage_bucket_logging_enabled.py +68 -0
  1230. prowler/providers/oraclecloud/services/objectstorage/objectstorage_bucket_not_publicly_accessible/__init__.py +0 -0
  1231. prowler/providers/oraclecloud/services/objectstorage/objectstorage_bucket_not_publicly_accessible/objectstorage_bucket_not_publicly_accessible.metadata.json +37 -0
  1232. prowler/providers/oraclecloud/services/objectstorage/objectstorage_bucket_not_publicly_accessible/objectstorage_bucket_not_publicly_accessible.py +43 -0
  1233. prowler/providers/oraclecloud/services/objectstorage/objectstorage_bucket_versioning_enabled/__init__.py +0 -0
  1234. prowler/providers/oraclecloud/services/objectstorage/objectstorage_bucket_versioning_enabled/objectstorage_bucket_versioning_enabled.metadata.json +37 -0
  1235. prowler/providers/oraclecloud/services/objectstorage/objectstorage_bucket_versioning_enabled/objectstorage_bucket_versioning_enabled.py +38 -0
  1236. prowler/providers/oraclecloud/services/objectstorage/objectstorage_client.py +6 -0
  1237. prowler/providers/oraclecloud/services/objectstorage/objectstorage_service.py +138 -0
  1238. {prowler-5.7.4.dist-info → prowler-5.14.2.dist-info}/METADATA +66 -65
  1239. {prowler-5.7.4.dist-info → prowler-5.14.2.dist-info}/RECORD +1244 -733
  1240. /prowler/{providers/aws/services/ec2/ec2_securitygroup_allow_ingress_from_internet_to_port_mongodb_27017_27018 → compliance/iac}/__init__.py +0 -0
  1241. /prowler/{providers/aws/services/ec2/ec2_securitygroup_allow_ingress_from_internet_to_tcp_ftp_port_20_21 → compliance/llm}/__init__.py +0 -0
  1242. {prowler-5.7.4.dist-info → prowler-5.14.2.dist-info}/LICENSE +0 -0
  1243. {prowler-5.7.4.dist-info → prowler-5.14.2.dist-info}/WHEEL +0 -0
  1244. {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://prowler.com/wp-content/uploads/logo-dashboard.png", alt="Prowler Logo"
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
+ }
@@ -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
+ )