From abaacd7dbf4e7fed579b19f89c2b4d5d02d0ac38 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adri=C3=A1n=20Pe=C3=B1a?= Date: Tue, 7 Apr 2026 16:41:08 +0200 Subject: [PATCH 1/9] feat(api): finding group first_seen_at semantics and resource delta (#10595) --- api/CHANGELOG.md | 1 + api/src/backend/api/v1/serializers.py | 1 + api/src/backend/api/v1/views.py | 42 +++++++++++++++++++++++++++ api/src/backend/tasks/jobs/scan.py | 4 ++- 4 files changed, 47 insertions(+), 1 deletion(-) diff --git a/api/CHANGELOG.md b/api/CHANGELOG.md index 49d856302e..4704532d22 100644 --- a/api/CHANGELOG.md +++ b/api/CHANGELOG.md @@ -28,6 +28,7 @@ All notable changes to the **Prowler API** are documented in this file. - Membership `post_delete` signal using raw FK ids to avoid `DoesNotExist` during cascade deletions [(#10497)](https://github.com/prowler-cloud/prowler/pull/10497) - Finding group resources endpoints returning false 404 when filters match no results, and `sort` parameter being ignored [(#10510)](https://github.com/prowler-cloud/prowler/pull/10510) - Jira integration failing with `JiraInvalidIssueTypeError` on non-English Jira instances due to hardcoded `"Task"` issue type; now dynamically fetches available issue types per project [(#10534)](https://github.com/prowler-cloud/prowler/pull/10534) +- Finding group `first_seen_at` now reflects when a new finding appeared in the scan instead of the oldest carry-forward date across all unchanged findings [(#10595)](https://github.com/prowler-cloud/prowler/pull/10595) - Attack Paths: Remove `clear_cache` call from read-only query endpoints; cache clearing belongs to the scan/ingestion flow, not API queries [(#10586)](https://github.com/prowler-cloud/prowler/pull/10586) ### 🔐 Security diff --git a/api/src/backend/api/v1/serializers.py b/api/src/backend/api/v1/serializers.py index 185a8e047a..6af4d01000 100644 --- a/api/src/backend/api/v1/serializers.py +++ b/api/src/backend/api/v1/serializers.py @@ -4216,6 +4216,7 @@ class FindingGroupResourceSerializer(BaseSerializerV1): provider = serializers.SerializerMethodField() status = serializers.CharField() severity = serializers.CharField() + delta = serializers.CharField(required=False, allow_null=True) first_seen_at = serializers.DateTimeField(required=False, allow_null=True) last_seen_at = serializers.DateTimeField(required=False, allow_null=True) muted_reason = serializers.CharField(required=False, allow_null=True) diff --git a/api/src/backend/api/v1/views.py b/api/src/backend/api/v1/views.py index 32c7834274..38875ccc2f 100644 --- a/api/src/backend/api/v1/views.py +++ b/api/src/backend/api/v1/views.py @@ -7234,6 +7234,7 @@ class FindingGroupViewSet(BaseRLSViewSet): _RESOURCE_SORT_MAP = { "status": "status_order", "severity": "severity_order", + "delta": "delta_order", "first_seen_at": "first_seen_at", "last_seen_at": "last_seen_at", "resource.uid": "resource_uid", @@ -7370,6 +7371,22 @@ class FindingGroupViewSet(BaseRLSViewSet): output_field=IntegerField(), ) ), + delta_order=Max( + Case( + When( + finding__delta="new", + finding__muted=False, + then=Value(2), + ), + When( + finding__delta="changed", + finding__muted=False, + then=Value(1), + ), + default=Value(0), + output_field=IntegerField(), + ) + ), first_seen_at=Min("finding__first_seen_at"), last_seen_at=Max("finding__inserted_at"), # Max() on muted_reason / check_metadata is safe because @@ -7402,6 +7419,22 @@ class FindingGroupViewSet(BaseRLSViewSet): output_field=IntegerField(), ) ), + "delta_order": lambda: Max( + Case( + When( + finding__delta="new", + finding__muted=False, + then=Value(2), + ), + When( + finding__delta="changed", + finding__muted=False, + then=Value(1), + ), + default=Value(0), + output_field=IntegerField(), + ) + ), "first_seen_at": lambda: Min("finding__first_seen_at"), "last_seen_at": lambda: Max("finding__inserted_at"), "resource_uid": lambda: Max("resource__uid"), @@ -7448,6 +7481,14 @@ class FindingGroupViewSet(BaseRLSViewSet): else: status = "MUTED" + delta_order = row.get("delta_order", 0) + if delta_order == 2: + delta = "new" + elif delta_order == 1: + delta = "changed" + else: + delta = None + results.append( { "resource_id": row["resource_id"], @@ -7463,6 +7504,7 @@ class FindingGroupViewSet(BaseRLSViewSet): "severity": SEVERITY_ORDER_REVERSE.get( severity_order, "informational" ), + "delta": delta, "first_seen_at": row["first_seen_at"], "last_seen_at": row["last_seen_at"], "muted_reason": row.get("muted_reason"), diff --git a/api/src/backend/tasks/jobs/scan.py b/api/src/backend/tasks/jobs/scan.py index 3a96e892e1..364b12d146 100644 --- a/api/src/backend/tasks/jobs/scan.py +++ b/api/src/backend/tasks/jobs/scan.py @@ -1824,7 +1824,9 @@ def aggregate_finding_group_summaries(tenant_id: str, scan_id: str): filter=Q(status="FAIL", muted=False), ), # Use prefixed names to avoid conflict with model field names - agg_first_seen_at=Min("first_seen_at"), + agg_first_seen_at=Min( + "first_seen_at", filter=Q(delta="new", muted=False) + ), agg_last_seen_at=Max("inserted_at"), agg_failing_since=Min( "first_seen_at", filter=Q(status="FAIL", muted=False) From 283259f34c9c6e48e6ad453b3d99a2132177cd64 Mon Sep 17 00:00:00 2001 From: Josema Camacho Date: Wed, 8 Apr 2026 08:40:58 +0200 Subject: [PATCH 2/9] fix(sdk): resolve empty-set bug in `_enabled_regions` causing 36-region client creation and CI timeouts (#10598) --- .github/workflows/sdk-tests.yml | 4 +-- prowler/CHANGELOG.md | 1 + prowler/providers/aws/aws_provider.py | 12 ++++---- .../aws/services/route53/route53_service.py | 6 ++-- .../providers/aws/lib/service/service_test.py | 4 ++- ...a_function_not_publicly_accessible_test.py | 16 +++++++--- .../codebuild/codebuild_service_test.py | 2 +- .../codepipeline/codepipeline_service_test.py | 2 +- .../datasync/datasync_service_test.py | 14 ++++----- .../aws/services/ecr/ecr_service_test.py | 16 +++++----- .../aws/services/ecs/ecs_service_test.py | 16 +++++----- .../aws/services/efs/efs_service_test.py | 12 ++++---- .../aws/services/eks/eks_service_test.py | 10 +++---- .../elasticbeanstalk_service_test.py | 24 +++++++++++---- .../emr_cluster_publicly_accesible_test.py | 30 +++++++++++++++---- .../aws/services/emr/emr_service_test.py | 10 +++---- .../globalaccelerator_service_test.py | 10 +++---- .../guardduty_centrally_managed_test.py | 8 ++--- ...elegated_admin_enabled_all_regions_test.py | 8 ++--- ...uty_ec2_malware_protection_enabled_test.py | 8 ++--- .../guardduty_eks_audit_log_enabled_test.py | 8 ++--- .../guardduty_is_enabled_test.py | 13 ++++---- ...uardduty_lambda_protection_enabled_test.py | 8 ++--- ...uardduty_no_high_severity_findings_test.py | 6 ++-- .../guardduty/guardduty_service_test.py | 16 +++++----- .../opensearch/opensearch_service_test.py | 12 ++++---- .../rds_instance_no_public_access_test.py | 13 ++++++-- tests/providers/aws/utils.py | 6 ++-- 28 files changed, 176 insertions(+), 119 deletions(-) diff --git a/.github/workflows/sdk-tests.yml b/.github/workflows/sdk-tests.yml index d0da08cc55..b649db4f5a 100644 --- a/.github/workflows/sdk-tests.yml +++ b/.github/workflows/sdk-tests.yml @@ -216,11 +216,11 @@ jobs: echo "AWS service_paths='${STEPS_AWS_SERVICES_OUTPUTS_SERVICE_PATHS}'" if [ "${STEPS_AWS_SERVICES_OUTPUTS_RUN_ALL}" = "true" ]; then - poetry run pytest -n auto --cov=./prowler/providers/aws --cov-report=xml:aws_coverage.xml tests/providers/aws + poetry run pytest -p no:randomly -n auto --cov=./prowler/providers/aws --cov-report=xml:aws_coverage.xml tests/providers/aws elif [ -z "${STEPS_AWS_SERVICES_OUTPUTS_SERVICE_PATHS}" ]; then echo "No AWS service paths detected; skipping AWS tests." else - poetry run pytest -n auto --cov=./prowler/providers/aws --cov-report=xml:aws_coverage.xml ${STEPS_AWS_SERVICES_OUTPUTS_SERVICE_PATHS} + poetry run pytest -p no:randomly -n auto --cov=./prowler/providers/aws --cov-report=xml:aws_coverage.xml ${STEPS_AWS_SERVICES_OUTPUTS_SERVICE_PATHS} fi env: STEPS_AWS_SERVICES_OUTPUTS_RUN_ALL: ${{ steps.aws-services.outputs.run_all }} diff --git a/prowler/CHANGELOG.md b/prowler/CHANGELOG.md index 8a1504d398..a6cbc6c9d4 100644 --- a/prowler/CHANGELOG.md +++ b/prowler/CHANGELOG.md @@ -33,6 +33,7 @@ All notable changes to the **Prowler SDK** are documented in this file. - `--list-checks` and `--list-checks-json` now include `threat-detection` category checks in their output [(#10578)](https://github.com/prowler-cloud/prowler/pull/10578) - Missing `__init__.py` in `codebuild_project_uses_allowed_github_organizations` check preventing discovery by `--list-checks` [(#10584)](https://github.com/prowler-cloud/prowler/pull/10584) - Azure Key Vault checks emitting incorrect findings for keys, secrets, and vault logging [(#10332)](https://github.com/prowler-cloud/prowler/pull/10332) +- `_enabled_regions` empty-set bug in `AwsProvider.generate_regional_clients` creating boto3 clients for all 36 AWS regions instead of the audited ones, causing random CI timeouts and slow test runs [(#10598)](https://github.com/prowler-cloud/prowler/pull/10598) ### 🔐 Security diff --git a/prowler/providers/aws/aws_provider.py b/prowler/providers/aws/aws_provider.py index 9f0afe97f3..9a248e826f 100644 --- a/prowler/providers/aws/aws_provider.py +++ b/prowler/providers/aws/aws_provider.py @@ -96,7 +96,7 @@ class AwsProvider(Provider): _audit_resources: list = [] _audit_config: dict _scan_unused_services: bool = False - _enabled_regions: set = set() + _enabled_regions: set | None = None _mutelist: AWSMutelist # TODO: this is not optional, enforce for all providers audit_metadata: Audit_Metadata @@ -747,7 +747,7 @@ class AwsProvider(Provider): ) # Get the regions enabled for the account and get the intersection with the service available regions - if self._enabled_regions: + if self._enabled_regions is not None: enabled_regions = service_regions.intersection(self._enabled_regions) else: enabled_regions = service_regions @@ -1104,14 +1104,14 @@ class AwsProvider(Provider): file=pathlib.Path(__file__).name, ) - def get_aws_enabled_regions(self, current_session: Session) -> set: - """get_aws_enabled_regions returns a set of enabled AWS regions + def get_aws_enabled_regions(self, current_session: Session) -> set | None: + """get_aws_enabled_regions returns a set of enabled AWS regions, or None on failure. Args: - current_session: The AWS session object Returns: - - set: set of strings representing the enabled AWS regions + - set | None: set of enabled AWS region strings, or None if regions could not be determined """ try: # EC2 Client to check enabled regions @@ -1131,7 +1131,7 @@ class AwsProvider(Provider): logger.error( f"{error.__class__.__name__}[{error.__traceback__.tb_lineno}]: {error}" ) - return set() + return None # TODO: review this function # Maybe this should be done within the AwsProvider and not in __main__.py diff --git a/prowler/providers/aws/services/route53/route53_service.py b/prowler/providers/aws/services/route53/route53_service.py index bb579ca6ee..c3ec37d9a3 100644 --- a/prowler/providers/aws/services/route53/route53_service.py +++ b/prowler/providers/aws/services/route53/route53_service.py @@ -95,8 +95,10 @@ class Route53(AWSService): region, so we need to query all enabled regions to avoid false positives. """ logger.info("Route53 - Gathering Elastic IPs from all regions...") - all_regions = self.provider._enabled_regions or set( - self.provider._identity.audited_regions + all_regions = ( + self.provider._enabled_regions + if self.provider._enabled_regions is not None + else set(self.provider._identity.audited_regions) ) for region in all_regions: diff --git a/tests/providers/aws/lib/service/service_test.py b/tests/providers/aws/lib/service/service_test.py index ea6768bdc1..452a2a93ff 100644 --- a/tests/providers/aws/lib/service/service_test.py +++ b/tests/providers/aws/lib/service/service_test.py @@ -78,7 +78,9 @@ class TestAWSService: def test_AWSService_non_global_service_uses_profile_region(self): """Non-global services should use the profile region when available.""" service_name = "s3" - provider = set_mocked_aws_provider(profile_region=AWS_REGION_EU_WEST_1) + provider = set_mocked_aws_provider( + audited_regions=[], profile_region=AWS_REGION_EU_WEST_1 + ) service = AWSService(service_name, provider) assert service.region == AWS_REGION_EU_WEST_1 diff --git a/tests/providers/aws/services/awslambda/awslambda_function_not_publicly_accessible/awslambda_function_not_publicly_accessible_test.py b/tests/providers/aws/services/awslambda/awslambda_function_not_publicly_accessible/awslambda_function_not_publicly_accessible_test.py index ef3168433b..ed5e620d47 100644 --- a/tests/providers/aws/services/awslambda/awslambda_function_not_publicly_accessible/awslambda_function_not_publicly_accessible_test.py +++ b/tests/providers/aws/services/awslambda/awslambda_function_not_publicly_accessible/awslambda_function_not_publicly_accessible_test.py @@ -312,7 +312,9 @@ class Test_awslambda_function_not_publicly_accessible: with ( mock.patch( "prowler.providers.common.provider.Provider.get_global_provider", - return_value=set_mocked_aws_provider(), + return_value=set_mocked_aws_provider( + audited_regions=[AWS_REGION_EU_WEST_1] + ), ), mock.patch( "prowler.providers.aws.services.awslambda.awslambda_function_not_publicly_accessible.awslambda_function_not_publicly_accessible.awslambda_client", @@ -552,7 +554,9 @@ class Test_awslambda_function_not_publicly_accessible: with ( mock.patch( "prowler.providers.common.provider.Provider.get_global_provider", - return_value=set_mocked_aws_provider(), + return_value=set_mocked_aws_provider( + audited_regions=[AWS_REGION_EU_WEST_1] + ), ), mock.patch( "prowler.providers.aws.services.awslambda.awslambda_function_not_publicly_accessible.awslambda_function_not_publicly_accessible.awslambda_client", @@ -615,7 +619,9 @@ class Test_awslambda_function_not_publicly_accessible: with ( mock.patch( "prowler.providers.common.provider.Provider.get_global_provider", - return_value=set_mocked_aws_provider(), + return_value=set_mocked_aws_provider( + audited_regions=[AWS_REGION_EU_WEST_1] + ), ), mock.patch( "prowler.providers.aws.services.awslambda.awslambda_function_not_publicly_accessible.awslambda_function_not_publicly_accessible.awslambda_client", @@ -690,7 +696,9 @@ class Test_awslambda_function_not_publicly_accessible: with ( mock.patch( "prowler.providers.common.provider.Provider.get_global_provider", - return_value=set_mocked_aws_provider(), + return_value=set_mocked_aws_provider( + audited_regions=[AWS_REGION_EU_WEST_1] + ), ), mock.patch( "prowler.providers.aws.services.awslambda.awslambda_function_not_publicly_accessible.awslambda_function_not_publicly_accessible.awslambda_client", diff --git a/tests/providers/aws/services/codebuild/codebuild_service_test.py b/tests/providers/aws/services/codebuild/codebuild_service_test.py index 6bf81f58c2..13bf7b31fb 100644 --- a/tests/providers/aws/services/codebuild/codebuild_service_test.py +++ b/tests/providers/aws/services/codebuild/codebuild_service_test.py @@ -139,7 +139,7 @@ class Test_Codebuild_Service: ) @mock_aws def test_codebuild_service(self): - codebuild = Codebuild(set_mocked_aws_provider()) + codebuild = Codebuild(set_mocked_aws_provider([AWS_REGION_EU_WEST_1])) assert codebuild.session.__class__.__name__ == "Session" assert codebuild.service == "codebuild" diff --git a/tests/providers/aws/services/codepipeline/codepipeline_service_test.py b/tests/providers/aws/services/codepipeline/codepipeline_service_test.py index d2584e9b65..ed8e9bca68 100644 --- a/tests/providers/aws/services/codepipeline/codepipeline_service_test.py +++ b/tests/providers/aws/services/codepipeline/codepipeline_service_test.py @@ -76,7 +76,7 @@ class Test_CodePipeline_Service: ) @mock_aws def test_codepipeline_service(self): - codepipeline = CodePipeline(set_mocked_aws_provider()) + codepipeline = CodePipeline(set_mocked_aws_provider([AWS_REGION_EU_WEST_1])) assert codepipeline.session.__class__.__name__ == "Session" assert codepipeline.service == "codepipeline" diff --git a/tests/providers/aws/services/datasync/datasync_service_test.py b/tests/providers/aws/services/datasync/datasync_service_test.py index 13fc22dc88..10bd0d7ff0 100644 --- a/tests/providers/aws/services/datasync/datasync_service_test.py +++ b/tests/providers/aws/services/datasync/datasync_service_test.py @@ -106,27 +106,27 @@ def mock_generate_regional_clients(provider, service): class Test_DataSync_Service: # Test DataSync Service initialization def test_service(self): - aws_provider = set_mocked_aws_provider() + aws_provider = set_mocked_aws_provider([AWS_REGION_EU_WEST_1]) datasync = DataSync(aws_provider) assert datasync.service == "datasync" # Test DataSync clients creation def test_client(self): - aws_provider = set_mocked_aws_provider() + aws_provider = set_mocked_aws_provider([AWS_REGION_EU_WEST_1]) datasync = DataSync(aws_provider) for reg_client in datasync.regional_clients.values(): assert reg_client.__class__.__name__ == "DataSync" # Test DataSync session def test__get_session__(self): - aws_provider = set_mocked_aws_provider() + aws_provider = set_mocked_aws_provider([AWS_REGION_EU_WEST_1]) datasync = DataSync(aws_provider) assert datasync.session.__class__.__name__ == "Session" # Test listing DataSync tasks @patch("botocore.client.BaseClient._make_api_call", new=mock_make_api_call) def test_list_tasks(self): - aws_provider = set_mocked_aws_provider() + aws_provider = set_mocked_aws_provider([AWS_REGION_EU_WEST_1]) datasync = DataSync(aws_provider) task_arn = "arn:aws:datasync:eu-west-1:123456789012:task/task-12345678901234567" @@ -142,7 +142,7 @@ class Test_DataSync_Service: # Test generic exception in list_tasks def test_list_tasks_generic_exception(self): - aws_provider = set_mocked_aws_provider() + aws_provider = set_mocked_aws_provider([AWS_REGION_EU_WEST_1]) # Mock the regional client's list_tasks method specifically mock_client = MagicMock() @@ -155,7 +155,7 @@ class Test_DataSync_Service: # Test describing DataSync tasks with various exceptions @patch("botocore.client.BaseClient._make_api_call", new=mock_make_api_call) def test_describe_tasks_with_exceptions(self): - aws_provider = set_mocked_aws_provider() + aws_provider = set_mocked_aws_provider([AWS_REGION_EU_WEST_1]) datasync = DataSync(aws_provider) # Check all tasks were processed despite exceptions @@ -183,7 +183,7 @@ class Test_DataSync_Service: # Test listing task tags with various exceptions @patch("botocore.client.BaseClient._make_api_call", new=mock_make_api_call) def test_list_task_tags_with_exceptions(self): - aws_provider = set_mocked_aws_provider() + aws_provider = set_mocked_aws_provider([AWS_REGION_EU_WEST_1]) datasync = DataSync(aws_provider) tasks_by_name = {task.name: task for task in datasync.tasks.values()} diff --git a/tests/providers/aws/services/ecr/ecr_service_test.py b/tests/providers/aws/services/ecr/ecr_service_test.py index 59957b03a1..60f2e0e7ec 100644 --- a/tests/providers/aws/services/ecr/ecr_service_test.py +++ b/tests/providers/aws/services/ecr/ecr_service_test.py @@ -170,20 +170,20 @@ def mock_generate_regional_clients(provider, service): class Test_ECR_Service: # Test ECR Service def test_service(self): - aws_provider = set_mocked_aws_provider() + aws_provider = set_mocked_aws_provider([AWS_REGION_EU_WEST_1]) ecr = ECR(aws_provider) assert ecr.service == "ecr" # Test ECR client def test_client(self): - aws_provider = set_mocked_aws_provider() + aws_provider = set_mocked_aws_provider([AWS_REGION_EU_WEST_1]) ecr = ECR(aws_provider) for regional_client in ecr.regional_clients.values(): assert regional_client.__class__.__name__ == "ECR" # Test ECR session def test_get_session(self): - aws_provider = set_mocked_aws_provider() + aws_provider = set_mocked_aws_provider([AWS_REGION_EU_WEST_1]) ecr = ECR(aws_provider) assert ecr.session.__class__.__name__ == "Session" @@ -198,7 +198,7 @@ class Test_ECR_Service: {"Key": "test", "Value": "test"}, ], ) - aws_provider = set_mocked_aws_provider() + aws_provider = set_mocked_aws_provider([AWS_REGION_EU_WEST_1]) ecr = ECR(aws_provider) assert len(ecr.registries) == 1 @@ -226,7 +226,7 @@ class Test_ECR_Service: imageScanningConfiguration={"scanOnPush": True}, imageTagMutability="IMMUTABLE", ) - aws_provider = set_mocked_aws_provider() + aws_provider = set_mocked_aws_provider([AWS_REGION_EU_WEST_1]) ecr = ECR(aws_provider) assert len(ecr.registries) == 1 assert len(ecr.registries[AWS_REGION_EU_WEST_1].repositories) == 1 @@ -255,7 +255,7 @@ class Test_ECR_Service: imageScanningConfiguration={"scanOnPush": True}, imageTagMutability="IMMUTABLE", ) - aws_provider = set_mocked_aws_provider() + aws_provider = set_mocked_aws_provider([AWS_REGION_EU_WEST_1]) ecr = ECR(aws_provider) assert len(ecr.registries) == 1 assert len(ecr.registries[AWS_REGION_EU_WEST_1].repositories) == 1 @@ -273,7 +273,7 @@ class Test_ECR_Service: repositoryName=repo_name, imageScanningConfiguration={"scanOnPush": True}, ) - aws_provider = set_mocked_aws_provider() + aws_provider = set_mocked_aws_provider([AWS_REGION_EU_WEST_1]) ecr = ECR(aws_provider) assert len(ecr.registries) == 1 @@ -366,7 +366,7 @@ class Test_ECR_Service: # Test get ECR Registries Scanning Configuration @mock_aws def test_get_registry_scanning_configuration(self): - aws_provider = set_mocked_aws_provider() + aws_provider = set_mocked_aws_provider([AWS_REGION_EU_WEST_1]) ecr = ECR(aws_provider) assert len(ecr.registries) == 1 assert ecr.registries[AWS_REGION_EU_WEST_1].id == AWS_ACCOUNT_NUMBER diff --git a/tests/providers/aws/services/ecs/ecs_service_test.py b/tests/providers/aws/services/ecs/ecs_service_test.py index dec81a1ecc..b472e94b88 100644 --- a/tests/providers/aws/services/ecs/ecs_service_test.py +++ b/tests/providers/aws/services/ecs/ecs_service_test.py @@ -122,27 +122,27 @@ def mock_generate_regional_clients(provider, service): class Test_ECS_Service: # Test ECS Service def test_service(self): - aws_provider = set_mocked_aws_provider() + aws_provider = set_mocked_aws_provider([AWS_REGION_EU_WEST_1]) ecs = ECS(aws_provider) assert ecs.service == "ecs" # Test ECS client def test_client(self): - aws_provider = set_mocked_aws_provider() + aws_provider = set_mocked_aws_provider([AWS_REGION_EU_WEST_1]) ecs = ECS(aws_provider) for reg_client in ecs.regional_clients.values(): assert reg_client.__class__.__name__ == "ECS" # Test ECS session def test__get_session__(self): - aws_provider = set_mocked_aws_provider() + aws_provider = set_mocked_aws_provider([AWS_REGION_EU_WEST_1]) ecs = ECS(aws_provider) assert ecs.session.__class__.__name__ == "Session" # Test list ECS task definitions @patch("botocore.client.BaseClient._make_api_call", new=mock_make_api_call) def test_list_task_definitions(self): - aws_provider = set_mocked_aws_provider() + aws_provider = set_mocked_aws_provider([AWS_REGION_EU_WEST_1]) ecs = ECS(aws_provider) task_arn = "arn:aws:ecs:eu-west-1:123456789012:task-definition/test_cluster_1/test_ecs_task:1" @@ -156,7 +156,7 @@ class Test_ECS_Service: @patch("botocore.client.BaseClient._make_api_call", new=mock_make_api_call) # Test describe ECS task definitions def test_describe_task_definitions(self): - aws_provider = set_mocked_aws_provider() + aws_provider = set_mocked_aws_provider([AWS_REGION_EU_WEST_1]) ecs = ECS(aws_provider) task_arn = "arn:aws:ecs:eu-west-1:123456789012:task-definition/test_cluster_1/test_ecs_task:1" @@ -204,7 +204,7 @@ class Test_ECS_Service: # Test list ECS clusters @patch("botocore.client.BaseClient._make_api_call", new=mock_make_api_call) def test_list_clusters(self): - aws_provider = set_mocked_aws_provider() + aws_provider = set_mocked_aws_provider([AWS_REGION_EU_WEST_1]) ecs = ECS(aws_provider) cluster_arn1 = "arn:aws:ecs:eu-west-1:123456789012:cluster/test_cluster_1" @@ -217,7 +217,7 @@ class Test_ECS_Service: @patch("botocore.client.BaseClient._make_api_call", new=mock_make_api_call) # Test describe ECS clusters def test_describe_clusters(self): - aws_provider = set_mocked_aws_provider() + aws_provider = set_mocked_aws_provider([AWS_REGION_EU_WEST_1]) ecs = ECS(aws_provider) cluster_arn1 = "arn:aws:ecs:eu-west-1:123456789012:cluster/test_cluster_1" @@ -237,7 +237,7 @@ class Test_ECS_Service: @patch("botocore.client.BaseClient._make_api_call", new=mock_make_api_call) # Test describe ECS services def test_describe_services(self): - aws_provider = set_mocked_aws_provider() + aws_provider = set_mocked_aws_provider([AWS_REGION_EU_WEST_1]) ecs = ECS(aws_provider) service_arn = ( diff --git a/tests/providers/aws/services/efs/efs_service_test.py b/tests/providers/aws/services/efs/efs_service_test.py index bf8b6555b2..7b2d16e141 100644 --- a/tests/providers/aws/services/efs/efs_service_test.py +++ b/tests/providers/aws/services/efs/efs_service_test.py @@ -93,18 +93,18 @@ def mock_generate_regional_clients(provider, service): class Test_EFS: # Test EFS Session def test__get_session__(self): - access_analyzer = EFS(set_mocked_aws_provider()) + access_analyzer = EFS(set_mocked_aws_provider([AWS_REGION_EU_WEST_1])) assert access_analyzer.session.__class__.__name__ == "Session" # Test EFS Service def test__get_service__(self): - access_analyzer = EFS(set_mocked_aws_provider()) + access_analyzer = EFS(set_mocked_aws_provider([AWS_REGION_EU_WEST_1])) assert access_analyzer.service == "efs" @patch("botocore.client.BaseClient._make_api_call", new=mock_make_api_call) # Test EFS describe file systems def test_describe_file_systems(self): - aws_provider = set_mocked_aws_provider() + aws_provider = set_mocked_aws_provider([AWS_REGION_EU_WEST_1]) efs = EFS(aws_provider) efs_arn = f"arn:aws:elasticfilesystem:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:file-system/{FILE_SYSTEM_ID}" assert len(efs.filesystems) == 1 @@ -119,7 +119,7 @@ class Test_EFS: @patch("botocore.client.BaseClient._make_api_call", new=mock_make_api_call) # Test EFS describe file systems policies def test_describe_file_system_policies(self): - aws_provider = set_mocked_aws_provider() + aws_provider = set_mocked_aws_provider([AWS_REGION_EU_WEST_1]) efs = EFS(aws_provider) efs_arn = f"arn:aws:elasticfilesystem:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:file-system/{FILE_SYSTEM_ID}" assert len(efs.filesystems) == 1 @@ -131,7 +131,7 @@ class Test_EFS: @patch("botocore.client.BaseClient._make_api_call", new=mock_make_api_call) # Test EFS describe mount targets def test_describe_mount_targets(self): - aws_provider = set_mocked_aws_provider() + aws_provider = set_mocked_aws_provider([AWS_REGION_EU_WEST_1]) efs = EFS(aws_provider) assert len(efs.filesystems) == 1 efs_arn = f"arn:aws:elasticfilesystem:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:file-system/{FILE_SYSTEM_ID}" @@ -144,7 +144,7 @@ class Test_EFS: @patch("botocore.client.BaseClient._make_api_call", new=mock_make_api_call) # Test EFS describe access points def test_describe_access_points(self): - aws_provider = set_mocked_aws_provider() + aws_provider = set_mocked_aws_provider([AWS_REGION_EU_WEST_1]) efs = EFS(aws_provider) assert len(efs.filesystems) == 1 efs_arn = f"arn:aws:elasticfilesystem:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:file-system/{FILE_SYSTEM_ID}" diff --git a/tests/providers/aws/services/eks/eks_service_test.py b/tests/providers/aws/services/eks/eks_service_test.py index 4eccf90808..86de0e246a 100644 --- a/tests/providers/aws/services/eks/eks_service_test.py +++ b/tests/providers/aws/services/eks/eks_service_test.py @@ -31,20 +31,20 @@ def mock_generate_regional_clients(provider, service): class Test_EKS_Service: # Test EKS Service def test_service(self): - aws_provider = set_mocked_aws_provider() + aws_provider = set_mocked_aws_provider([AWS_REGION_EU_WEST_1]) eks = EKS(aws_provider) assert eks.service == "eks" # Test EKS client def test_client(self): - aws_provider = set_mocked_aws_provider() + aws_provider = set_mocked_aws_provider([AWS_REGION_EU_WEST_1]) eks = EKS(aws_provider) for reg_client in eks.regional_clients.values(): assert reg_client.__class__.__name__ == "EKS" # Test EKS session def test__get_session__(self): - aws_provider = set_mocked_aws_provider() + aws_provider = set_mocked_aws_provider([AWS_REGION_EU_WEST_1]) eks = EKS(aws_provider) assert eks.session.__class__.__name__ == "Session" @@ -73,7 +73,7 @@ class Test_EKS_Service: roleArn=f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:role/eks-service-role-AWSServiceRoleForAmazonEKS-J7ONKE3BQ4PI", tags={"test": "test"}, ) - aws_provider = set_mocked_aws_provider() + aws_provider = set_mocked_aws_provider([AWS_REGION_EU_WEST_1]) eks = EKS(aws_provider) assert len(eks.clusters) == 1 assert eks.clusters[0].name == cluster_name @@ -126,7 +126,7 @@ class Test_EKS_Service: }, ], ) - aws_provider = set_mocked_aws_provider() + aws_provider = set_mocked_aws_provider([AWS_REGION_EU_WEST_1]) eks = EKS(aws_provider) assert len(eks.clusters) == 1 assert eks.clusters[0].name == cluster_name diff --git a/tests/providers/aws/services/elasticbeanstalk/elasticbeanstalk_service_test.py b/tests/providers/aws/services/elasticbeanstalk/elasticbeanstalk_service_test.py index 3c77a13d7e..48348a4020 100644 --- a/tests/providers/aws/services/elasticbeanstalk/elasticbeanstalk_service_test.py +++ b/tests/providers/aws/services/elasticbeanstalk/elasticbeanstalk_service_test.py @@ -59,7 +59,9 @@ class Test_ElasticBeanstalk_Service: # Test ElasticBeanstalk Client @mock_aws def test_get_client(self): - elasticbeanstalk = ElasticBeanstalk(set_mocked_aws_provider()) + elasticbeanstalk = ElasticBeanstalk( + set_mocked_aws_provider([AWS_REGION_EU_WEST_1]) + ) assert ( elasticbeanstalk.regional_clients[AWS_REGION_EU_WEST_1].__class__.__name__ == "ElasticBeanstalk" @@ -68,13 +70,17 @@ class Test_ElasticBeanstalk_Service: # Test ElasticBeanstalk Session @mock_aws def test__get_session__(self): - elasticbeanstalk = ElasticBeanstalk(set_mocked_aws_provider()) + elasticbeanstalk = ElasticBeanstalk( + set_mocked_aws_provider([AWS_REGION_EU_WEST_1]) + ) assert elasticbeanstalk.session.__class__.__name__ == "Session" # Test ElasticBeanstalk Service @mock_aws def test__get_service__(self): - elasticbeanstalk = ElasticBeanstalk(set_mocked_aws_provider()) + elasticbeanstalk = ElasticBeanstalk( + set_mocked_aws_provider([AWS_REGION_EU_WEST_1]) + ) assert elasticbeanstalk.service == "elasticbeanstalk" # Test _describe_environments @@ -90,7 +96,9 @@ class Test_ElasticBeanstalk_Service: EnvironmentName="test-env", ) # ElasticBeanstalk Class - elasticbeanstalk = ElasticBeanstalk(set_mocked_aws_provider()) + elasticbeanstalk = ElasticBeanstalk( + set_mocked_aws_provider([AWS_REGION_EU_WEST_1]) + ) assert len(elasticbeanstalk.environments) == 1 assert ( @@ -125,7 +133,9 @@ class Test_ElasticBeanstalk_Service: EnvironmentName="test-env", ) # ElasticBeanstalk Class - elasticbeanstalk = ElasticBeanstalk(set_mocked_aws_provider()) + elasticbeanstalk = ElasticBeanstalk( + set_mocked_aws_provider([AWS_REGION_EU_WEST_1]) + ) assert ( elasticbeanstalk.environments[ environment["EnvironmentArn"] @@ -158,7 +168,9 @@ class Test_ElasticBeanstalk_Service: Tags=[{"Key": "test-key", "Value": "test-value"}], ) # ElasticBeanstalk Class - elasticbeanstalk = ElasticBeanstalk(set_mocked_aws_provider()) + elasticbeanstalk = ElasticBeanstalk( + set_mocked_aws_provider([AWS_REGION_EU_WEST_1]) + ) assert elasticbeanstalk.environments[environment["EnvironmentArn"]].tags == [ {"Key": "test-key", "Value": "test-value"} ] diff --git a/tests/providers/aws/services/emr/emr_cluster_publicly_accesible/emr_cluster_publicly_accesible_test.py b/tests/providers/aws/services/emr/emr_cluster_publicly_accesible/emr_cluster_publicly_accesible_test.py index 3b721b4e62..ab5cd01fc6 100644 --- a/tests/providers/aws/services/emr/emr_cluster_publicly_accesible/emr_cluster_publicly_accesible_test.py +++ b/tests/providers/aws/services/emr/emr_cluster_publicly_accesible/emr_cluster_publicly_accesible_test.py @@ -91,7 +91,11 @@ class Test_emr_cluster_publicly_accesible: ), mock.patch( "prowler.providers.aws.services.emr.emr_cluster_publicly_accesible.emr_cluster_publicly_accesible.ec2_client", - new=EC2(set_mocked_aws_provider(create_default_organization=False)), + new=EC2( + set_mocked_aws_provider( + [AWS_REGION_EU_WEST_1], create_default_organization=False + ) + ), ), ): # Test Check @@ -161,7 +165,11 @@ class Test_emr_cluster_publicly_accesible: ), mock.patch( "prowler.providers.aws.services.emr.emr_cluster_publicly_accesible.emr_cluster_publicly_accesible.ec2_client", - new=EC2(set_mocked_aws_provider(create_default_organization=False)), + new=EC2( + set_mocked_aws_provider( + [AWS_REGION_EU_WEST_1], create_default_organization=False + ) + ), ), ): # Test Check @@ -248,7 +256,11 @@ class Test_emr_cluster_publicly_accesible: ), mock.patch( "prowler.providers.aws.services.emr.emr_cluster_publicly_accesible.emr_cluster_publicly_accesible.ec2_client", - new=EC2(set_mocked_aws_provider(create_default_organization=False)), + new=EC2( + set_mocked_aws_provider( + [AWS_REGION_EU_WEST_1], create_default_organization=False + ) + ), ), ): # Test Check @@ -338,7 +350,11 @@ class Test_emr_cluster_publicly_accesible: ), mock.patch( "prowler.providers.aws.services.emr.emr_cluster_publicly_accesible.emr_cluster_publicly_accesible.ec2_client", - new=EC2(set_mocked_aws_provider(create_default_organization=False)), + new=EC2( + set_mocked_aws_provider( + [AWS_REGION_EU_WEST_1], create_default_organization=False + ) + ), ), ): # Test Check @@ -425,7 +441,11 @@ class Test_emr_cluster_publicly_accesible: ), mock.patch( "prowler.providers.aws.services.emr.emr_cluster_publicly_accesible.emr_cluster_publicly_accesible.ec2_client", - new=EC2(set_mocked_aws_provider(create_default_organization=False)), + new=EC2( + set_mocked_aws_provider( + [AWS_REGION_EU_WEST_1], create_default_organization=False + ) + ), ), ): # Test Check diff --git a/tests/providers/aws/services/emr/emr_service_test.py b/tests/providers/aws/services/emr/emr_service_test.py index 70ed19d022..febb2506e6 100644 --- a/tests/providers/aws/services/emr/emr_service_test.py +++ b/tests/providers/aws/services/emr/emr_service_test.py @@ -53,19 +53,19 @@ class Test_EMR_Service: # Test EMR Client @mock_aws def test_get_client(self): - emr = EMR(set_mocked_aws_provider()) + emr = EMR(set_mocked_aws_provider([AWS_REGION_EU_WEST_1])) assert emr.regional_clients[AWS_REGION_EU_WEST_1].__class__.__name__ == "EMR" # Test EMR Session @mock_aws def test__get_session__(self): - emr = EMR(set_mocked_aws_provider()) + emr = EMR(set_mocked_aws_provider([AWS_REGION_EU_WEST_1])) assert emr.session.__class__.__name__ == "Session" # Test EMR Service @mock_aws def test__get_service__(self): - emr = EMR(set_mocked_aws_provider()) + emr = EMR(set_mocked_aws_provider([AWS_REGION_EU_WEST_1])) assert emr.service == "emr" # Test _list_clusters and _describe_cluster @@ -93,7 +93,7 @@ class Test_EMR_Service: ) cluster_id = emr_client.run_job_flow(**run_job_flow_args)["JobFlowId"] # EMR Class - emr = EMR(set_mocked_aws_provider()) + emr = EMR(set_mocked_aws_provider([AWS_REGION_EU_WEST_1])) assert len(emr.clusters) == 1 assert emr.clusters[cluster_id].id == cluster_id @@ -115,7 +115,7 @@ class Test_EMR_Service: @mock_aws def test_get_block_public_access_configuration(self): - emr = EMR(set_mocked_aws_provider()) + emr = EMR(set_mocked_aws_provider([AWS_REGION_EU_WEST_1])) assert len(emr.block_public_access_configuration) == 1 assert emr.block_public_access_configuration[ diff --git a/tests/providers/aws/services/globalaccelerator/globalaccelerator_service_test.py b/tests/providers/aws/services/globalaccelerator/globalaccelerator_service_test.py index 19c35763fa..0a940aa7ef 100644 --- a/tests/providers/aws/services/globalaccelerator/globalaccelerator_service_test.py +++ b/tests/providers/aws/services/globalaccelerator/globalaccelerator_service_test.py @@ -55,27 +55,27 @@ class Test_GlobalAccelerator_Service: # Test GlobalAccelerator Service def test_service(self): # GlobalAccelerator client for this test class - aws_provider = set_mocked_aws_provider() + aws_provider = set_mocked_aws_provider([AWS_REGION_US_WEST_2]) globalaccelerator = GlobalAccelerator(aws_provider) assert globalaccelerator.service == "globalaccelerator" # Test GlobalAccelerator Client def test_client(self): # GlobalAccelerator client for this test class - aws_provider = set_mocked_aws_provider() + aws_provider = set_mocked_aws_provider([AWS_REGION_US_WEST_2]) globalaccelerator = GlobalAccelerator(aws_provider) assert globalaccelerator.client.__class__.__name__ == "GlobalAccelerator" # Test GlobalAccelerator Session def test__get_session__(self): # GlobalAccelerator client for this test class - aws_provider = set_mocked_aws_provider() + aws_provider = set_mocked_aws_provider([AWS_REGION_US_WEST_2]) globalaccelerator = GlobalAccelerator(aws_provider) assert globalaccelerator.session.__class__.__name__ == "Session" def test_list_accelerators(self): # GlobalAccelerator client for this test class - aws_provider = set_mocked_aws_provider() + aws_provider = set_mocked_aws_provider([AWS_REGION_US_WEST_2]) globalaccelerator = GlobalAccelerator(aws_provider) accelerator_name = "TestAccelerator" @@ -99,7 +99,7 @@ class Test_GlobalAccelerator_Service: def test_list_tags(self): # GlobalAccelerator client for this test class - aws_provider = set_mocked_aws_provider() + aws_provider = set_mocked_aws_provider([AWS_REGION_US_WEST_2]) globalaccelerator = GlobalAccelerator(aws_provider) assert len(globalaccelerator.accelerators) == 1 diff --git a/tests/providers/aws/services/guardduty/guardduty_centrally_managed/guardduty_centrally_managed_test.py b/tests/providers/aws/services/guardduty/guardduty_centrally_managed/guardduty_centrally_managed_test.py index 5459a969b0..581a406ae2 100644 --- a/tests/providers/aws/services/guardduty/guardduty_centrally_managed/guardduty_centrally_managed_test.py +++ b/tests/providers/aws/services/guardduty/guardduty_centrally_managed/guardduty_centrally_managed_test.py @@ -39,7 +39,7 @@ def mock_make_api_call_members_managers(self, operation_name, api_params): class Test_guardduty_centrally_managed: @mock_aws def test_no_detectors(self): - aws_provider = set_mocked_aws_provider() + aws_provider = set_mocked_aws_provider([AWS_REGION_EU_WEST_1]) from prowler.providers.aws.services.guardduty.guardduty_service import GuardDuty @@ -67,7 +67,7 @@ class Test_guardduty_centrally_managed: detector_id = guardduty_client.create_detector(Enable=True)["DetectorId"] - aws_provider = set_mocked_aws_provider() + aws_provider = set_mocked_aws_provider([AWS_REGION_EU_WEST_1]) from prowler.providers.aws.services.guardduty.guardduty_service import GuardDuty @@ -112,7 +112,7 @@ class Test_guardduty_centrally_managed: detector_id = guardduty_client.create_detector(Enable=True)["DetectorId"] - aws_provider = set_mocked_aws_provider() + aws_provider = set_mocked_aws_provider([AWS_REGION_EU_WEST_1]) from prowler.providers.aws.services.guardduty.guardduty_service import GuardDuty @@ -156,7 +156,7 @@ class Test_guardduty_centrally_managed: detector_id = guardduty_client.create_detector(Enable=True)["DetectorId"] - aws_provider = set_mocked_aws_provider() + aws_provider = set_mocked_aws_provider([AWS_REGION_EU_WEST_1]) from prowler.providers.aws.services.guardduty.guardduty_service import GuardDuty diff --git a/tests/providers/aws/services/guardduty/guardduty_delegated_admin_enabled_all_regions/guardduty_delegated_admin_enabled_all_regions_test.py b/tests/providers/aws/services/guardduty/guardduty_delegated_admin_enabled_all_regions/guardduty_delegated_admin_enabled_all_regions_test.py index d171aa2473..c2875af3ed 100644 --- a/tests/providers/aws/services/guardduty/guardduty_delegated_admin_enabled_all_regions/guardduty_delegated_admin_enabled_all_regions_test.py +++ b/tests/providers/aws/services/guardduty/guardduty_delegated_admin_enabled_all_regions/guardduty_delegated_admin_enabled_all_regions_test.py @@ -64,7 +64,7 @@ class Test_guardduty_delegated_admin_enabled_all_regions: @mock_aws def test_no_detectors(self): """Test when no GuardDuty detectors exist.""" - aws_provider = set_mocked_aws_provider() + aws_provider = set_mocked_aws_provider([AWS_REGION_EU_WEST_1]) from prowler.providers.aws.services.guardduty.guardduty_service import GuardDuty @@ -102,7 +102,7 @@ class Test_guardduty_delegated_admin_enabled_all_regions: guardduty_client_boto = client("guardduty", region_name=AWS_REGION_EU_WEST_1) detector_id = guardduty_client_boto.create_detector(Enable=True)["DetectorId"] - aws_provider = set_mocked_aws_provider() + aws_provider = set_mocked_aws_provider([AWS_REGION_EU_WEST_1]) from prowler.providers.aws.services.guardduty.guardduty_service import GuardDuty @@ -148,7 +148,7 @@ class Test_guardduty_delegated_admin_enabled_all_regions: guardduty_client_boto = client("guardduty", region_name=AWS_REGION_EU_WEST_1) detector_id = guardduty_client_boto.create_detector(Enable=True)["DetectorId"] - aws_provider = set_mocked_aws_provider() + aws_provider = set_mocked_aws_provider([AWS_REGION_EU_WEST_1]) from prowler.providers.aws.services.guardduty.guardduty_service import GuardDuty @@ -194,7 +194,7 @@ class Test_guardduty_delegated_admin_enabled_all_regions: guardduty_client_boto = client("guardduty", region_name=AWS_REGION_EU_WEST_1) detector_id = guardduty_client_boto.create_detector(Enable=True)["DetectorId"] - aws_provider = set_mocked_aws_provider() + aws_provider = set_mocked_aws_provider([AWS_REGION_EU_WEST_1]) from prowler.providers.aws.services.guardduty.guardduty_service import GuardDuty diff --git a/tests/providers/aws/services/guardduty/guardduty_ec2_malware_protection_enabled/guardduty_ec2_malware_protection_enabled_test.py b/tests/providers/aws/services/guardduty/guardduty_ec2_malware_protection_enabled/guardduty_ec2_malware_protection_enabled_test.py index 2b5b127adf..39164f2c4c 100644 --- a/tests/providers/aws/services/guardduty/guardduty_ec2_malware_protection_enabled/guardduty_ec2_malware_protection_enabled_test.py +++ b/tests/providers/aws/services/guardduty/guardduty_ec2_malware_protection_enabled/guardduty_ec2_malware_protection_enabled_test.py @@ -44,7 +44,7 @@ def mock_make_api_call(self, operation_name, kwarg): class Test_guardduty_ec2_malware_protection_enabled: def test_no_detectors(self): - aws_provider = set_mocked_aws_provider() + aws_provider = set_mocked_aws_provider([AWS_REGION_EU_WEST_1]) from prowler.providers.aws.services.guardduty.guardduty_service import GuardDuty @@ -74,7 +74,7 @@ class Test_guardduty_ec2_malware_protection_enabled: guardduty_client.create_detector(Enable=False) - aws_provider = set_mocked_aws_provider() + aws_provider = set_mocked_aws_provider([AWS_REGION_EU_WEST_1]) from prowler.providers.aws.services.guardduty.guardduty_service import GuardDuty @@ -112,7 +112,7 @@ class Test_guardduty_ec2_malware_protection_enabled: }, )["DetectorId"] - aws_provider = set_mocked_aws_provider() + aws_provider = set_mocked_aws_provider([AWS_REGION_EU_WEST_1]) from prowler.providers.aws.services.guardduty.guardduty_service import GuardDuty @@ -161,7 +161,7 @@ class Test_guardduty_ec2_malware_protection_enabled: }, )["DetectorId"] - aws_provider = set_mocked_aws_provider() + aws_provider = set_mocked_aws_provider([AWS_REGION_EU_WEST_1]) from prowler.providers.aws.services.guardduty.guardduty_service import GuardDuty diff --git a/tests/providers/aws/services/guardduty/guardduty_eks_audit_log_enabled/guardduty_eks_audit_log_enabled_test.py b/tests/providers/aws/services/guardduty/guardduty_eks_audit_log_enabled/guardduty_eks_audit_log_enabled_test.py index 563a309a01..b85ca49189 100644 --- a/tests/providers/aws/services/guardduty/guardduty_eks_audit_log_enabled/guardduty_eks_audit_log_enabled_test.py +++ b/tests/providers/aws/services/guardduty/guardduty_eks_audit_log_enabled/guardduty_eks_audit_log_enabled_test.py @@ -12,7 +12,7 @@ from tests.providers.aws.utils import ( class Test_guardduty_eks_audit_log_enabled: def test_no_detectors(self): - aws_provider = set_mocked_aws_provider() + aws_provider = set_mocked_aws_provider([AWS_REGION_EU_WEST_1]) from prowler.providers.aws.services.guardduty.guardduty_service import GuardDuty @@ -42,7 +42,7 @@ class Test_guardduty_eks_audit_log_enabled: guardduty_client.create_detector(Enable=False) - aws_provider = set_mocked_aws_provider() + aws_provider = set_mocked_aws_provider([AWS_REGION_EU_WEST_1]) from prowler.providers.aws.services.guardduty.guardduty_service import GuardDuty @@ -74,7 +74,7 @@ class Test_guardduty_eks_audit_log_enabled: Enable=True, DataSources={"Kubernetes": {"AuditLogs": {"Enable": True}}} )["DetectorId"] - aws_provider = set_mocked_aws_provider() + aws_provider = set_mocked_aws_provider([AWS_REGION_EU_WEST_1]) from prowler.providers.aws.services.guardduty.guardduty_service import GuardDuty @@ -118,7 +118,7 @@ class Test_guardduty_eks_audit_log_enabled: Enable=True, DataSources={"Kubernetes": {"AuditLogs": {"Enable": False}}} )["DetectorId"] - aws_provider = set_mocked_aws_provider() + aws_provider = set_mocked_aws_provider([AWS_REGION_EU_WEST_1]) from prowler.providers.aws.services.guardduty.guardduty_service import GuardDuty diff --git a/tests/providers/aws/services/guardduty/guardduty_is_enabled/guardduty_is_enabled_test.py b/tests/providers/aws/services/guardduty/guardduty_is_enabled/guardduty_is_enabled_test.py index ca8a9e5877..12dd2a3090 100644 --- a/tests/providers/aws/services/guardduty/guardduty_is_enabled/guardduty_is_enabled_test.py +++ b/tests/providers/aws/services/guardduty/guardduty_is_enabled/guardduty_is_enabled_test.py @@ -6,6 +6,7 @@ from moto import mock_aws from tests.providers.aws.utils import ( AWS_ACCOUNT_NUMBER, AWS_REGION_EU_WEST_1, + AWS_REGION_US_EAST_1, set_mocked_aws_provider, ) @@ -13,7 +14,7 @@ from tests.providers.aws.utils import ( class Test_guardduty_is_enabled: @mock_aws def test_no_detectors(self): - aws_provider = set_mocked_aws_provider() + aws_provider = set_mocked_aws_provider([AWS_REGION_EU_WEST_1]) from prowler.providers.aws.services.guardduty.guardduty_service import GuardDuty @@ -43,7 +44,7 @@ class Test_guardduty_is_enabled: detector_id = guardduty_client.create_detector(Enable=True)["DetectorId"] - aws_provider = set_mocked_aws_provider() + aws_provider = set_mocked_aws_provider([AWS_REGION_EU_WEST_1]) from prowler.providers.aws.services.guardduty.guardduty_service import GuardDuty @@ -85,7 +86,7 @@ class Test_guardduty_is_enabled: detector_id = guardduty_client.create_detector(Enable=False)["DetectorId"] - aws_provider = set_mocked_aws_provider() + aws_provider = set_mocked_aws_provider([AWS_REGION_EU_WEST_1]) from prowler.providers.aws.services.guardduty.guardduty_service import GuardDuty @@ -131,7 +132,7 @@ class Test_guardduty_is_enabled: detector_id = guardduty_client.create_detector(Enable=False)["DetectorId"] - aws_provider = set_mocked_aws_provider() + aws_provider = set_mocked_aws_provider([AWS_REGION_EU_WEST_1]) from prowler.providers.aws.services.guardduty.guardduty_service import GuardDuty @@ -177,7 +178,9 @@ class Test_guardduty_is_enabled: detector_id = guardduty_client.create_detector(Enable=False)["DetectorId"] - aws_provider = set_mocked_aws_provider() + aws_provider = set_mocked_aws_provider( + [AWS_REGION_US_EAST_1, AWS_REGION_EU_WEST_1] + ) from prowler.providers.aws.services.guardduty.guardduty_service import GuardDuty diff --git a/tests/providers/aws/services/guardduty/guardduty_lambda_protection_enabled/guardduty_lambda_protection_enabled_test.py b/tests/providers/aws/services/guardduty/guardduty_lambda_protection_enabled/guardduty_lambda_protection_enabled_test.py index e156f8db84..83b3840871 100644 --- a/tests/providers/aws/services/guardduty/guardduty_lambda_protection_enabled/guardduty_lambda_protection_enabled_test.py +++ b/tests/providers/aws/services/guardduty/guardduty_lambda_protection_enabled/guardduty_lambda_protection_enabled_test.py @@ -15,7 +15,7 @@ orig = botocore.client.BaseClient._make_api_call class Test_guardduty_lambda_protection_enabled: def test_no_detectors(self): - aws_provider = set_mocked_aws_provider() + aws_provider = set_mocked_aws_provider([AWS_REGION_EU_WEST_1]) from prowler.providers.aws.services.guardduty.guardduty_service import GuardDuty @@ -45,7 +45,7 @@ class Test_guardduty_lambda_protection_enabled: guardduty_client.create_detector(Enable=False) - aws_provider = set_mocked_aws_provider() + aws_provider = set_mocked_aws_provider([AWS_REGION_EU_WEST_1]) from prowler.providers.aws.services.guardduty.guardduty_service import GuardDuty @@ -78,7 +78,7 @@ class Test_guardduty_lambda_protection_enabled: Features=[{"Name": "LAMBDA_NETWORK_LOGS", "Status": "ENABLED"}], )["DetectorId"] - aws_provider = set_mocked_aws_provider() + aws_provider = set_mocked_aws_provider([AWS_REGION_EU_WEST_1]) from prowler.providers.aws.services.guardduty.guardduty_service import GuardDuty @@ -123,7 +123,7 @@ class Test_guardduty_lambda_protection_enabled: Features=[{"Name": "LAMBDA_NETWORK_LOGS", "Status": "DISABLED"}], )["DetectorId"] - aws_provider = set_mocked_aws_provider() + aws_provider = set_mocked_aws_provider([AWS_REGION_EU_WEST_1]) from prowler.providers.aws.services.guardduty.guardduty_service import GuardDuty diff --git a/tests/providers/aws/services/guardduty/guardduty_no_high_severity_findings/guardduty_no_high_severity_findings_test.py b/tests/providers/aws/services/guardduty/guardduty_no_high_severity_findings/guardduty_no_high_severity_findings_test.py index b3a7694c55..8f2ca7c883 100644 --- a/tests/providers/aws/services/guardduty/guardduty_no_high_severity_findings/guardduty_no_high_severity_findings_test.py +++ b/tests/providers/aws/services/guardduty/guardduty_no_high_severity_findings/guardduty_no_high_severity_findings_test.py @@ -28,7 +28,7 @@ def mock_make_api_call(self, operation_name, kwarg): class Test_guardduty_no_high_severity_findings: @mock_aws def test_no_detectors(self): - aws_provider = set_mocked_aws_provider() + aws_provider = set_mocked_aws_provider([AWS_REGION_EU_WEST_1]) from prowler.providers.aws.services.guardduty.guardduty_service import GuardDuty @@ -56,7 +56,7 @@ class Test_guardduty_no_high_severity_findings: detector_id = guardduty_client.create_detector(Enable=True)["DetectorId"] - aws_provider = set_mocked_aws_provider() + aws_provider = set_mocked_aws_provider([AWS_REGION_EU_WEST_1]) from prowler.providers.aws.services.guardduty.guardduty_service import GuardDuty @@ -97,7 +97,7 @@ class Test_guardduty_no_high_severity_findings: detector_id = guardduty_client.create_detector(Enable=True)["DetectorId"] - aws_provider = set_mocked_aws_provider() + aws_provider = set_mocked_aws_provider([AWS_REGION_EU_WEST_1]) from prowler.providers.aws.services.guardduty.guardduty_service import GuardDuty diff --git a/tests/providers/aws/services/guardduty/guardduty_service_test.py b/tests/providers/aws/services/guardduty/guardduty_service_test.py index e6d51a05a1..4b903ecb4f 100644 --- a/tests/providers/aws/services/guardduty/guardduty_service_test.py +++ b/tests/providers/aws/services/guardduty/guardduty_service_test.py @@ -66,20 +66,20 @@ def mock_generate_regional_clients(provider, service): class Test_GuardDuty_Service: # Test GuardDuty Service def test_service(self): - aws_provider = set_mocked_aws_provider() + aws_provider = set_mocked_aws_provider([AWS_REGION_EU_WEST_1]) guardduty = GuardDuty(aws_provider) assert guardduty.service == "guardduty" # Test GuardDuty client def test_client(self): - aws_provider = set_mocked_aws_provider() + aws_provider = set_mocked_aws_provider([AWS_REGION_EU_WEST_1]) guardduty = GuardDuty(aws_provider) for reg_client in guardduty.regional_clients.values(): assert reg_client.__class__.__name__ == "GuardDuty" # Test GuardDuty session def test__get_session__(self): - aws_provider = set_mocked_aws_provider() + aws_provider = set_mocked_aws_provider([AWS_REGION_EU_WEST_1]) guardduty = GuardDuty(aws_provider) assert guardduty.session.__class__.__name__ == "Session" @@ -89,7 +89,7 @@ class Test_GuardDuty_Service: guardduty_client = client("guardduty", region_name=AWS_REGION_EU_WEST_1) response = guardduty_client.create_detector(Enable=True, Tags={"test": "test"}) - aws_provider = set_mocked_aws_provider() + aws_provider = set_mocked_aws_provider([AWS_REGION_EU_WEST_1]) guardduty = GuardDuty(aws_provider) assert len(guardduty.detectors) == 1 @@ -121,7 +121,7 @@ class Test_GuardDuty_Service: ], ) - aws_provider = set_mocked_aws_provider() + aws_provider = set_mocked_aws_provider([AWS_REGION_EU_WEST_1]) guardduty = GuardDuty(aws_provider) assert len(guardduty.detectors) == 1 @@ -149,7 +149,7 @@ class Test_GuardDuty_Service: guardduty_client = client("guardduty", region_name=AWS_REGION_EU_WEST_1) response = guardduty_client.create_detector(Enable=True) - aws_provider = set_mocked_aws_provider() + aws_provider = set_mocked_aws_provider([AWS_REGION_EU_WEST_1]) guardduty = GuardDuty(aws_provider) assert len(guardduty.detectors) == 1 @@ -170,7 +170,7 @@ class Test_GuardDuty_Service: guardduty_client = client("guardduty", region_name=AWS_REGION_EU_WEST_1) response = guardduty_client.create_detector(Enable=True) - aws_provider = set_mocked_aws_provider() + aws_provider = set_mocked_aws_provider([AWS_REGION_EU_WEST_1]) guardduty = GuardDuty(aws_provider) assert len(guardduty.detectors) == 1 @@ -192,7 +192,7 @@ class Test_GuardDuty_Service: guardduty_client = client("guardduty", region_name=AWS_REGION_EU_WEST_1) response = guardduty_client.create_detector(Enable=True) - aws_provider = set_mocked_aws_provider() + aws_provider = set_mocked_aws_provider([AWS_REGION_EU_WEST_1]) guardduty = GuardDuty(aws_provider) assert len(guardduty.detectors) == 1 diff --git a/tests/providers/aws/services/opensearch/opensearch_service_test.py b/tests/providers/aws/services/opensearch/opensearch_service_test.py index 9e89f7cac8..08e7f9a500 100644 --- a/tests/providers/aws/services/opensearch/opensearch_service_test.py +++ b/tests/providers/aws/services/opensearch/opensearch_service_test.py @@ -104,26 +104,26 @@ def mock_generate_regional_clients(provider, service): class TestOpenSearchServiceService: # Test OpenSearchService Service def test_service(self): - aws_provider = set_mocked_aws_provider([]) + aws_provider = set_mocked_aws_provider([AWS_REGION_EU_WEST_1]) opensearch = OpenSearchService(aws_provider) assert opensearch.service == "opensearch" # Test OpenSearchService_ client def test_client(self): - aws_provider = set_mocked_aws_provider([]) + aws_provider = set_mocked_aws_provider([AWS_REGION_EU_WEST_1]) opensearch = OpenSearchService(aws_provider) for reg_client in opensearch.regional_clients.values(): assert reg_client.__class__.__name__ == "OpenSearchService" # Test OpenSearchService session def test__get_session__(self): - aws_provider = set_mocked_aws_provider([]) + aws_provider = set_mocked_aws_provider([AWS_REGION_EU_WEST_1]) opensearch = OpenSearchService(aws_provider) assert opensearch.session.__class__.__name__ == "Session" # Test OpenSearchService list domains names def test_list_domain_names(self): - aws_provider = set_mocked_aws_provider([]) + aws_provider = set_mocked_aws_provider([AWS_REGION_EU_WEST_1]) opensearch = OpenSearchService(aws_provider) assert len(opensearch.opensearch_domains) == 1 assert opensearch.opensearch_domains[domain_arn].name == test_domain_name @@ -132,7 +132,7 @@ class TestOpenSearchServiceService: # Test OpenSearchService describe domain @mock_aws def test_describe_domain(self): - aws_provider = set_mocked_aws_provider([]) + aws_provider = set_mocked_aws_provider([AWS_REGION_EU_WEST_1]) opensearch = OpenSearchService(aws_provider) assert len(opensearch.opensearch_domains) == 1 assert opensearch.opensearch_domains[domain_arn].name == test_domain_name @@ -237,7 +237,7 @@ class TestOpenSearchServiceService: "botocore.client.BaseClient._make_api_call", new=mock_make_api_call_missing_fields, ): - aws_provider = set_mocked_aws_provider([]) + aws_provider = set_mocked_aws_provider([AWS_REGION_EU_WEST_1]) opensearch = OpenSearchService(aws_provider) # Should not crash even with missing optional fields diff --git a/tests/providers/aws/services/rds/rds_instance_no_public_access/rds_instance_no_public_access_test.py b/tests/providers/aws/services/rds/rds_instance_no_public_access/rds_instance_no_public_access_test.py index 6673583864..76d7907408 100644 --- a/tests/providers/aws/services/rds/rds_instance_no_public_access/rds_instance_no_public_access_test.py +++ b/tests/providers/aws/services/rds/rds_instance_no_public_access/rds_instance_no_public_access_test.py @@ -248,6 +248,7 @@ class Test_rds_instance_no_public_access: PubliclyAccessible=True, VpcSecurityGroupIds=[default_sg_id], ) + from prowler.providers.aws.services.ec2.ec2_service import EC2 from prowler.providers.aws.services.rds.rds_service import RDS aws_provider = set_mocked_aws_provider([AWS_REGION_US_EAST_1]) @@ -256,9 +257,15 @@ class Test_rds_instance_no_public_access: "prowler.providers.common.provider.Provider.get_global_provider", return_value=aws_provider, ): - with mock.patch( - "prowler.providers.aws.services.rds.rds_instance_no_public_access.rds_instance_no_public_access.rds_client", - new=RDS(aws_provider), + with ( + mock.patch( + "prowler.providers.aws.services.rds.rds_instance_no_public_access.rds_instance_no_public_access.rds_client", + new=RDS(aws_provider), + ), + mock.patch( + "prowler.providers.aws.services.rds.rds_instance_no_public_access.rds_instance_no_public_access.ec2_client", + new=EC2(aws_provider), + ), ): # Test Check from prowler.providers.aws.services.rds.rds_instance_no_public_access.rds_instance_no_public_access import ( diff --git a/tests/providers/aws/utils.py b/tests/providers/aws/utils.py index 32cb087a67..9e6aa8e253 100644 --- a/tests/providers/aws/utils.py +++ b/tests/providers/aws/utils.py @@ -96,7 +96,7 @@ ADMINISTRATOR_ROLE_ASSUME_ROLE_POLICY = { # This here causes to call this function mocking the AWS calls @mock_aws def set_mocked_aws_provider( - audited_regions: list[str] = [], + audited_regions: list[str] = [AWS_REGION_US_EAST_1], audited_account: str = AWS_ACCOUNT_NUMBER, audited_account_arn: str = AWS_ACCOUNT_ARN, audited_partition: str = AWS_COMMERCIAL_PARTITION, @@ -143,7 +143,9 @@ def set_mocked_aws_provider( # Mock Configiration provider._scan_unused_services = scan_unused_services provider._enabled_regions = ( - enabled_regions if enabled_regions else set(audited_regions) + enabled_regions + if enabled_regions is not None + else (set(audited_regions) if audited_regions else None) ) # TODO: we can create the organizations metadata here with moto provider._organizations_metadata = None From 2be2753c55f270af94d90344dd144d31e35521c2 Mon Sep 17 00:00:00 2001 From: Pepe Fagoaga Date: Wed, 8 Apr 2026 09:21:19 +0200 Subject: [PATCH 3/9] fix(codeartifact): only retrieve the latest version from a package (#10243) Co-authored-by: Andoni Alonso <14891798+andoniaf@users.noreply.github.com> --- prowler/CHANGELOG.md | 1 + .../codeartifact/codeartifact_service.py | 2 + .../codeartifact/codeartifact_service_test.py | 102 ++++++++++++++++++ 3 files changed, 105 insertions(+) diff --git a/prowler/CHANGELOG.md b/prowler/CHANGELOG.md index a6cbc6c9d4..c8b454ceaf 100644 --- a/prowler/CHANGELOG.md +++ b/prowler/CHANGELOG.md @@ -34,6 +34,7 @@ All notable changes to the **Prowler SDK** are documented in this file. - Missing `__init__.py` in `codebuild_project_uses_allowed_github_organizations` check preventing discovery by `--list-checks` [(#10584)](https://github.com/prowler-cloud/prowler/pull/10584) - Azure Key Vault checks emitting incorrect findings for keys, secrets, and vault logging [(#10332)](https://github.com/prowler-cloud/prowler/pull/10332) - `_enabled_regions` empty-set bug in `AwsProvider.generate_regional_clients` creating boto3 clients for all 36 AWS regions instead of the audited ones, causing random CI timeouts and slow test runs [(#10598)](https://github.com/prowler-cloud/prowler/pull/10598) +- Retrieve only the latest version from a package in AWS CodeArtifact [(#10243)](https://github.com/prowler-cloud/prowler/pull/10243) ### 🔐 Security diff --git a/prowler/providers/aws/services/codeartifact/codeartifact_service.py b/prowler/providers/aws/services/codeartifact/codeartifact_service.py index f3d312a531..1465092063 100644 --- a/prowler/providers/aws/services/codeartifact/codeartifact_service.py +++ b/prowler/providers/aws/services/codeartifact/codeartifact_service.py @@ -96,6 +96,7 @@ class CodeArtifact(AWSService): namespace=package_namespace, package=package_name, sortBy="PUBLISHED_TIME", + maxResults=1, ) ) else: @@ -111,6 +112,7 @@ class CodeArtifact(AWSService): format=package_format, package=package_name, sortBy="PUBLISHED_TIME", + maxResults=1, ) ) latest_version = "" diff --git a/tests/providers/aws/services/codeartifact/codeartifact_service_test.py b/tests/providers/aws/services/codeartifact/codeartifact_service_test.py index d1b3c6f9e6..99325dd2ea 100644 --- a/tests/providers/aws/services/codeartifact/codeartifact_service_test.py +++ b/tests/providers/aws/services/codeartifact/codeartifact_service_test.py @@ -54,6 +54,9 @@ def mock_make_api_call(self, operation_name, kwarg): } if operation_name == "ListPackageVersions": + assert ( + kwarg.get("maxResults") == 1 + ), "list_package_versions must pass maxResults=1 to avoid fetching all versions" return { "defaultDisplayVersion": "latest", "format": "pypi", @@ -204,3 +207,102 @@ class Test_CodeArtifact_Service: .latest_version.origin.origin_type == OriginInformationValues.INTERNAL ) + + +def mock_make_api_call_no_namespace(self, operation_name, kwarg): + """Mock for packages without a namespace to exercise the else branch""" + if operation_name == "ListRepositories": + return { + "repositories": [ + { + "name": "test-repository", + "administratorAccount": AWS_ACCOUNT_NUMBER, + "domainName": "test-domain", + "domainOwner": AWS_ACCOUNT_NUMBER, + "arn": TEST_REPOSITORY_ARN, + "description": "test description", + }, + ] + } + if operation_name == "ListPackages": + return { + "packages": [ + { + "format": "pypi", + "package": "test-package-no-ns", + "originConfiguration": { + "restrictions": { + "publish": "ALLOW", + "upstream": "BLOCK", + } + }, + }, + ], + } + + if operation_name == "ListPackageVersions": + assert ( + kwarg.get("maxResults") == 1 + ), "list_package_versions must pass maxResults=1 to avoid fetching all versions" + assert ( + "namespace" not in kwarg + ), "namespace should not be passed when package has no namespace" + return { + "defaultDisplayVersion": "1.0.0", + "format": "pypi", + "package": "test-package-no-ns", + "versions": [ + { + "version": "1.0.0", + "revision": "abc123", + "status": "Published", + "origin": { + "domainEntryPoint": { + "repositoryName": "test-repository", + "externalConnectionName": "", + }, + "originType": "EXTERNAL", + }, + }, + ], + } + + if operation_name == "ListTagsForResource": + return {"tags": []} + + return make_api_call(self, operation_name, kwarg) + + +@patch( + "botocore.client.BaseClient._make_api_call", + new=mock_make_api_call_no_namespace, +) +@patch( + "prowler.providers.aws.aws_provider.AwsProvider.generate_regional_clients", + new=mock_generate_regional_clients, +) +class Test_CodeArtifact_Service_No_Namespace: + def test_list_packages_no_namespace(self): + codeartifact = CodeArtifact( + set_mocked_aws_provider([AWS_REGION_EU_WEST_1, AWS_REGION_US_EAST_1]) + ) + + assert len(codeartifact.repositories[TEST_REPOSITORY_ARN].packages) == 1 + + package = codeartifact.repositories[TEST_REPOSITORY_ARN].packages[0] + assert package.name == "test-package-no-ns" + assert package.namespace is None + assert package.format == "pypi" + assert ( + package.origin_configuration.restrictions.publish == RestrictionValues.ALLOW + ) + assert ( + package.origin_configuration.restrictions.upstream + == RestrictionValues.BLOCK + ) + assert package.latest_version.version == "1.0.0" + assert package.latest_version.status == LatestPackageVersionStatus.Published + assert ( + package.latest_version.origin.origin_type + == OriginInformationValues.EXTERNAL + ) From 89fe86794491a7200af061d90a8cdf65c2c0348b Mon Sep 17 00:00:00 2001 From: Kay Agahd Date: Wed, 8 Apr 2026 10:55:55 +0200 Subject: [PATCH 4/9] fix(aws): recognize service-specific condition keys as restrictive in is_policy_public (#10600) Co-authored-by: Claude Opus 4.6 --- prowler/CHANGELOG.md | 1 + .../providers/aws/services/iam/lib/policy.py | 10 + .../aws/services/iam/lib/policy_test.py | 174 ++++++++++++++++++ 3 files changed, 185 insertions(+) diff --git a/prowler/CHANGELOG.md b/prowler/CHANGELOG.md index c8b454ceaf..37b00bc5bd 100644 --- a/prowler/CHANGELOG.md +++ b/prowler/CHANGELOG.md @@ -33,6 +33,7 @@ All notable changes to the **Prowler SDK** are documented in this file. - `--list-checks` and `--list-checks-json` now include `threat-detection` category checks in their output [(#10578)](https://github.com/prowler-cloud/prowler/pull/10578) - Missing `__init__.py` in `codebuild_project_uses_allowed_github_organizations` check preventing discovery by `--list-checks` [(#10584)](https://github.com/prowler-cloud/prowler/pull/10584) - Azure Key Vault checks emitting incorrect findings for keys, secrets, and vault logging [(#10332)](https://github.com/prowler-cloud/prowler/pull/10332) +- `is_policy_public` now recognizes `kms:CallerAccount`, `kms:ViaService`, `aws:CalledVia`, `aws:CalledViaFirst`, and `aws:CalledViaLast` as restrictive condition keys, fixing false positives in `kms_key_policy_is_not_public` and other checks that use `is_condition_block_restrictive` [(#10600)](https://github.com/prowler-cloud/prowler/pull/10600) - `_enabled_regions` empty-set bug in `AwsProvider.generate_regional_clients` creating boto3 clients for all 36 AWS regions instead of the audited ones, causing random CI timeouts and slow test runs [(#10598)](https://github.com/prowler-cloud/prowler/pull/10598) - Retrieve only the latest version from a package in AWS CodeArtifact [(#10243)](https://github.com/prowler-cloud/prowler/pull/10243) diff --git a/prowler/providers/aws/services/iam/lib/policy.py b/prowler/providers/aws/services/iam/lib/policy.py index d8806f280b..ecf09d312f 100644 --- a/prowler/providers/aws/services/iam/lib/policy.py +++ b/prowler/providers/aws/services/iam/lib/policy.py @@ -617,6 +617,11 @@ def is_condition_block_restrictive( "aws:sourceorgpaths", "aws:userid", "aws:username", + "aws:calledvia", + "aws:calledviafirst", + "aws:calledvialast", + "kms:calleraccount", + "kms:viaservice", "s3:resourceaccount", "lambda:eventsourcetoken", # For Alexa Home functions, a token that the invoker must supply. ], @@ -635,6 +640,11 @@ def is_condition_block_restrictive( "aws:sourceorgpaths", "aws:userid", "aws:username", + "aws:calledvia", + "aws:calledviafirst", + "aws:calledvialast", + "kms:calleraccount", + "kms:viaservice", "s3:resourceaccount", "lambda:eventsourcetoken", ], diff --git a/tests/providers/aws/services/iam/lib/policy_test.py b/tests/providers/aws/services/iam/lib/policy_test.py index afea8ca658..50cca4cbad 100644 --- a/tests/providers/aws/services/iam/lib/policy_test.py +++ b/tests/providers/aws/services/iam/lib/policy_test.py @@ -1413,6 +1413,115 @@ class Test_Policy: condition_statement, TRUSTED_AWS_ACCOUNT_NUMBER ) + def test_condition_parser_string_equals_aws_CalledVia_str(self): + condition_statement = { + "StringEquals": {"aws:CalledVia": "cloudformation.amazonaws.com"} + } + assert is_condition_block_restrictive( + condition_statement, + TRUSTED_AWS_ACCOUNT_NUMBER, + is_cross_account_allowed=True, + ) + + def test_condition_parser_string_equals_aws_CalledViaFirst_str(self): + condition_statement = { + "StringEquals": {"aws:CalledViaFirst": "cloudformation.amazonaws.com"} + } + assert is_condition_block_restrictive( + condition_statement, + TRUSTED_AWS_ACCOUNT_NUMBER, + is_cross_account_allowed=True, + ) + + def test_condition_parser_string_equals_aws_CalledViaLast_str(self): + condition_statement = { + "StringEquals": {"aws:CalledViaLast": "glue.amazonaws.com"} + } + assert is_condition_block_restrictive( + condition_statement, + TRUSTED_AWS_ACCOUNT_NUMBER, + is_cross_account_allowed=True, + ) + + def test_condition_parser_string_like_aws_CalledVia_str(self): + condition_statement = {"StringLike": {"aws:CalledVia": "*.amazonaws.com"}} + assert is_condition_block_restrictive( + condition_statement, + TRUSTED_AWS_ACCOUNT_NUMBER, + is_cross_account_allowed=True, + ) + + def test_condition_parser_string_equals_kms_CallerAccount_str(self): + condition_statement = { + "StringEquals": {"kms:CallerAccount": TRUSTED_AWS_ACCOUNT_NUMBER} + } + assert is_condition_block_restrictive( + condition_statement, TRUSTED_AWS_ACCOUNT_NUMBER + ) + + def test_condition_parser_string_equals_kms_CallerAccount_str_not_valid(self): + condition_statement = { + "StringEquals": {"kms:CallerAccount": NON_TRUSTED_AWS_ACCOUNT_NUMBER} + } + assert not is_condition_block_restrictive( + condition_statement, TRUSTED_AWS_ACCOUNT_NUMBER + ) + + def test_condition_parser_string_equals_kms_CallerAccount_list(self): + condition_statement = { + "StringEquals": {"kms:CallerAccount": [TRUSTED_AWS_ACCOUNT_NUMBER]} + } + assert is_condition_block_restrictive( + condition_statement, TRUSTED_AWS_ACCOUNT_NUMBER + ) + + def test_condition_parser_string_equals_kms_CallerAccount_list_not_valid(self): + condition_statement = { + "StringEquals": { + "kms:CallerAccount": [ + TRUSTED_AWS_ACCOUNT_NUMBER, + NON_TRUSTED_AWS_ACCOUNT_NUMBER, + ] + } + } + assert not is_condition_block_restrictive( + condition_statement, TRUSTED_AWS_ACCOUNT_NUMBER + ) + + def test_condition_parser_string_equals_kms_ViaService_str(self): + condition_statement = { + "StringEquals": {"kms:ViaService": "glue.eu-central-1.amazonaws.com"} + } + assert is_condition_block_restrictive( + condition_statement, + TRUSTED_AWS_ACCOUNT_NUMBER, + is_cross_account_allowed=True, + ) + + def test_condition_parser_string_like_kms_CallerAccount_str(self): + condition_statement = { + "StringLike": {"kms:CallerAccount": TRUSTED_AWS_ACCOUNT_NUMBER} + } + assert is_condition_block_restrictive( + condition_statement, TRUSTED_AWS_ACCOUNT_NUMBER + ) + + def test_condition_parser_string_like_kms_CallerAccount_str_not_valid(self): + condition_statement = { + "StringLike": {"kms:CallerAccount": NON_TRUSTED_AWS_ACCOUNT_NUMBER} + } + assert not is_condition_block_restrictive( + condition_statement, TRUSTED_AWS_ACCOUNT_NUMBER + ) + + def test_condition_parser_string_like_kms_ViaService_str(self): + condition_statement = {"StringLike": {"kms:ViaService": "glue.*.amazonaws.com"}} + assert is_condition_block_restrictive( + condition_statement, + TRUSTED_AWS_ACCOUNT_NUMBER, + is_cross_account_allowed=True, + ) + def test_condition_parser_two_lists_unrestrictive(self): condition_statement = { "StringLike": { @@ -2357,6 +2466,71 @@ class Test_Policy: trusted_ips=["1.2.3.4", "5.6.7.8"], ) + def test_is_policy_public_kms_caller_account_and_via_service(self): + policy = { + "Version": "2008-10-17", + "Statement": [ + { + "Effect": "Allow", + "Principal": {"AWS": "*"}, + "Action": [ + "kms:Encrypt", + "kms:Decrypt", + "kms:ReEncrypt*", + "kms:GenerateDataKey*", + "kms:CreateGrant", + "kms:DescribeKey", + ], + "Resource": "*", + "Condition": { + "StringEquals": { + "kms:ViaService": "glue.eu-central-1.amazonaws.com", + "kms:CallerAccount": TRUSTED_AWS_ACCOUNT_NUMBER, + } + }, + }, + ], + } + assert not is_policy_public(policy, TRUSTED_AWS_ACCOUNT_NUMBER) + + def test_is_policy_public_kms_caller_account_only(self): + policy = { + "Version": "2012-10-17", + "Statement": [ + { + "Effect": "Allow", + "Principal": {"AWS": "*"}, + "Action": ["kms:Decrypt"], + "Resource": "*", + "Condition": { + "StringEquals": { + "kms:CallerAccount": TRUSTED_AWS_ACCOUNT_NUMBER, + } + }, + }, + ], + } + assert not is_policy_public(policy, TRUSTED_AWS_ACCOUNT_NUMBER) + + def test_is_policy_public_kms_via_service_without_account_restriction(self): + policy = { + "Version": "2012-10-17", + "Statement": [ + { + "Effect": "Allow", + "Principal": {"AWS": "*"}, + "Action": ["kms:Decrypt"], + "Resource": "*", + "Condition": { + "StringEquals": { + "kms:ViaService": "glue.eu-central-1.amazonaws.com", + } + }, + }, + ], + } + assert not is_policy_public(policy, TRUSTED_AWS_ACCOUNT_NUMBER) + def test_check_admin_access(self): policy = { "Version": "2012-10-17", From e6aedcb207038bfc621777cf76e2eb981c6149d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adri=C3=A1n=20Pe=C3=B1a?= Date: Wed, 8 Apr 2026 11:04:57 +0200 Subject: [PATCH 5/9] feat(api): support sort by delta on finding-groups endpoints (#10606) --- api/CHANGELOG.md | 1 + api/src/backend/api/tests/test_views.py | 33 +++++++++++++++++++++++++ api/src/backend/api/v1/views.py | 16 +++++++++++- 3 files changed, 49 insertions(+), 1 deletion(-) diff --git a/api/CHANGELOG.md b/api/CHANGELOG.md index 4704532d22..54b589e496 100644 --- a/api/CHANGELOG.md +++ b/api/CHANGELOG.md @@ -10,6 +10,7 @@ All notable changes to the **Prowler API** are documented in this file. - Filter RBAC role lookup by `tenant_id` to prevent cross-tenant privilege leak [(#10491)](https://github.com/prowler-cloud/prowler/pull/10491) - `VALKEY_SCHEME`, `VALKEY_USERNAME`, and `VALKEY_PASSWORD` environment variables to configure Celery broker TLS/auth connection details for Valkey/ElastiCache [(#10420)](https://github.com/prowler-cloud/prowler/pull/10420) - `Vercel` provider support [(#10190)](https://github.com/prowler-cloud/prowler/pull/10190) +- Finding groups list and latest endpoints support `sort=delta`, ordering by `new_count` then `changed_count` so groups with the most new findings rank highest [(#10606)](https://github.com/prowler-cloud/prowler/pull/10606) ### 🔄 Changed diff --git a/api/src/backend/api/tests/test_views.py b/api/src/backend/api/tests/test_views.py index d30e786e5f..439a355193 100644 --- a/api/src/backend/api/tests/test_views.py +++ b/api/src/backend/api/tests/test_views.py @@ -16839,6 +16839,39 @@ class TestFindingGroupViewSet: data = response.json()["data"] assert len(data) > 0 + @pytest.mark.parametrize( + "endpoint_name", ["finding-group-list", "finding-group-latest"] + ) + def test_finding_groups_sort_by_delta( + self, + authenticated_client, + finding_groups_fixture, + endpoint_name, + ): + """Sort by delta orders by new_count then changed_count (lexicographic).""" + params = {"sort": "-delta"} + if endpoint_name == "finding-group-list": + params["filter[inserted_at]"] = TODAY + + response = authenticated_client.get(reverse(endpoint_name), params) + assert response.status_code == status.HTTP_200_OK + data = response.json()["data"] + assert len(data) > 0 + + def delta_key(item): + attrs = item["attributes"] + return (attrs.get("new_count", 0), attrs.get("changed_count", 0)) + + desc_keys = [delta_key(item) for item in data] + assert desc_keys == sorted(desc_keys, reverse=True) + + # Ascending order produces the inverse arrangement + params["sort"] = "delta" + response = authenticated_client.get(reverse(endpoint_name), params) + assert response.status_code == status.HTTP_200_OK + asc_keys = [delta_key(item) for item in response.json()["data"]] + assert asc_keys == sorted(asc_keys) + def test_finding_groups_latest_ignores_date_filters( self, authenticated_client, finding_groups_fixture ): diff --git a/api/src/backend/api/v1/views.py b/api/src/backend/api/v1/views.py index 38875ccc2f..2392b818ac 100644 --- a/api/src/backend/api/v1/views.py +++ b/api/src/backend/api/v1/views.py @@ -7219,6 +7219,7 @@ class FindingGroupViewSet(BaseRLSViewSet): "check_id": "check_id", "check_title": "check_title", "severity": "severity_order", + "delta": "delta_order", "fail_count": "fail_count", "pass_count": "pass_count", "muted_count": "muted_count", @@ -7569,7 +7570,20 @@ class FindingGroupViewSet(BaseRLSViewSet): sort_param, self._FINDING_GROUP_SORT_MAP ) if ordering: - aggregated_queryset = aggregated_queryset.order_by(*ordering) + # delta_order is a virtual sort field: expand it to a + # lexicographic ordering by (new_count, changed_count) so groups + # with more new findings rank higher, with changed_count as the + # tie-breaker (preserves the "new > changed" priority used by + # the resources endpoint, but driven by the actual counters). + expanded_ordering = [] + for field in ordering: + if field.lstrip("-") == "delta_order": + sign = "-" if field.startswith("-") else "" + expanded_ordering.append(f"{sign}new_count") + expanded_ordering.append(f"{sign}changed_count") + else: + expanded_ordering.append(field) + aggregated_queryset = aggregated_queryset.order_by(*expanded_ordering) else: aggregated_queryset = aggregated_queryset.order_by( "-fail_count", "-severity_order", "check_id" From 1d4388523022b808bf347677227e8de70aa3d20d Mon Sep 17 00:00:00 2001 From: Pepe Fagoaga Date: Wed, 8 Apr 2026 11:05:28 +0200 Subject: [PATCH 6/9] docs: update architecture diagram (#10604) --- README.md | 5 ++- .../products/img/prowler-app-architecture.png | Bin 196406 -> 0 bytes docs/getting-started/products/prowler-app.mdx | 5 ++- .../products/prowler-app-architecture.mmd | 37 ++++++++++++++++++ .../products/prowler-app-architecture.png | Bin 196406 -> 274761 bytes 5 files changed, 45 insertions(+), 2 deletions(-) delete mode 100644 docs/getting-started/products/img/prowler-app-architecture.png create mode 100644 docs/images/products/prowler-app-architecture.mmd diff --git a/README.md b/README.md index 90003e7055..79b336bfbd 100644 --- a/README.md +++ b/README.md @@ -317,7 +317,10 @@ python prowler-cli.py -v - **Prowler SDK**: A Python SDK designed to extend the functionality of the Prowler CLI for advanced capabilities. - **Prowler MCP Server**: A Model Context Protocol server that provides AI tools for Lighthouse, the AI-powered security assistant. This is a critical dependency for Lighthouse functionality. -![Prowler App Architecture](docs/products/img/prowler-app-architecture.png) +![Prowler App Architecture](docs/images/products/prowler-app-architecture.png) + + + ## Prowler CLI diff --git a/docs/getting-started/products/img/prowler-app-architecture.png b/docs/getting-started/products/img/prowler-app-architecture.png deleted file mode 100644 index 889bc0da880ce4ccba81be257481333b2bb65e20..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 196406 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 a)gPVIdCz8TR&Hj2KN>2!%DIXbe*Xhh5J?yS diff --git a/docs/getting-started/products/prowler-app.mdx b/docs/getting-started/products/prowler-app.mdx index f21e0222cd..2df6015d06 100644 --- a/docs/getting-started/products/prowler-app.mdx +++ b/docs/getting-started/products/prowler-app.mdx @@ -11,16 +11,19 @@ Prowler App is a web application that simplifies running Prowler. It provides: ## Components -Prowler App consists of three main components: +Prowler App consists of four main components: - **Prowler UI**: User-friendly web interface for running Prowler and viewing results, powered by Next.js - **Prowler API**: Backend API that executes Prowler scans and stores results, built with Django REST Framework - **Prowler SDK**: Python SDK that integrates with Prowler CLI for advanced functionality +- **Prowler MCP Server**: Model Context Protocol server that exposes AI tools for Lighthouse, the AI-powered security assistant. Required dependency for Lighthouse. Supporting infrastructure includes: - **PostgreSQL**: Persistent storage of scan results - **Celery Workers**: Asynchronous execution of Prowler scans +- **Celery Beat (API Scheduler)**: Schedules recurring scans and enqueues jobs on the broker - **Valkey**: In-memory database serving as message broker for Celery workers +- **Neo4j**: Graph database used by the Attack Paths feature to combine cloud inventory with Prowler findings (currently populated by AWS scans) ![Prowler App Architecture](/images/products/prowler-app-architecture.png) diff --git a/docs/images/products/prowler-app-architecture.mmd b/docs/images/products/prowler-app-architecture.mmd new file mode 100644 index 0000000000..bfc687b82e --- /dev/null +++ b/docs/images/products/prowler-app-architecture.mmd @@ -0,0 +1,37 @@ +flowchart TB + user([User / Security Team]) + cli([Prowler CLI]) + + subgraph APP["Prowler App"] + ui["Prowler UI
(Next.js)"] + api["Prowler API
(Django REST Framework)"] + worker["API Worker
(Celery)"] + beat["API Scheduler
(Celery Beat)"] + mcp["Prowler MCP Server
(Lighthouse AI tools)"] + end + + sdk["Prowler SDK
(Python)"] + + subgraph DATA["Data Layer"] + pg[("PostgreSQL")] + valkey[("Valkey / Redis")] + neo4j[("Neo4j")] + end + + providers["Providers"] + + user --> ui + user --> cli + ui -->|REST| api + api --> pg + api --> valkey + beat -->|enqueue jobs| valkey + valkey -->|dispatch| worker + worker --> pg + worker -->|Attack Paths| neo4j + worker -->|invokes| sdk + cli --> sdk + api -. AI tools .-> mcp + mcp -. context .-> api + + sdk --> providers diff --git a/docs/images/products/prowler-app-architecture.png b/docs/images/products/prowler-app-architecture.png index 889bc0da880ce4ccba81be257481333b2bb65e20..19bbfab0eeaffa3dd1b989013cc8ec07190a6349 100644 GIT binary patch literal 274761 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
EP47S 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%0AdI4z5nM##v+j_Z; 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ö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�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

5LbU=~9tIQo(1~?N^Gccn?w$)2ZhMcsH3EF7|ri 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�z1vT@p{@=zp7+`%$=DOuyzuw9HO%UA9#(el!Ry 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 a)gPVIdCz8TR&Hj2KN>2!%DIXbe*Xhh5J?yS From 72e8f09c078ee04be660cb88510f78eb4415513f Mon Sep 17 00:00:00 2001 From: lydiavilchez <114735608+lydiavilchez@users.noreply.github.com> Date: Wed, 8 Apr 2026 12:05:15 +0200 Subject: [PATCH 7/9] feat(googleworkspace): add directory check for CIS 1.1.3 - super admin only admin roles (#10488) Co-authored-by: Daniel Barranquero --- .../googleworkspace/authentication.mdx | 9 +- .../getting-started-googleworkspace.mdx | 2 +- prowler/CHANGELOG.md | 1 + .../cis_1.3_googleworkspace.json | 4 +- .../googleworkspace_provider.py | 1 + .../services/directory/directory_service.py | 118 ++++- .../__init__.py | 0 ...super_admin_only_admin_roles.metadata.json | 39 ++ .../directory_super_admin_only_admin_roles.py | 60 +++ .../googleworkspace_fixtures.py | 33 ++ .../directory/directory_service_test.py | 235 +++++++++ ...ctory_super_admin_only_admin_roles_test.py | 446 ++++++++++++++++++ 12 files changed, 930 insertions(+), 18 deletions(-) create mode 100644 prowler/providers/googleworkspace/services/directory/directory_super_admin_only_admin_roles/__init__.py create mode 100644 prowler/providers/googleworkspace/services/directory/directory_super_admin_only_admin_roles/directory_super_admin_only_admin_roles.metadata.json create mode 100644 prowler/providers/googleworkspace/services/directory/directory_super_admin_only_admin_roles/directory_super_admin_only_admin_roles.py create mode 100644 tests/providers/googleworkspace/services/directory/directory_super_admin_only_admin_roles/directory_super_admin_only_admin_roles_test.py diff --git a/docs/user-guide/providers/googleworkspace/authentication.mdx b/docs/user-guide/providers/googleworkspace/authentication.mdx index d8812fa7b3..e5c3527f89 100644 --- a/docs/user-guide/providers/googleworkspace/authentication.mdx +++ b/docs/user-guide/providers/googleworkspace/authentication.mdx @@ -17,6 +17,7 @@ Prowler requests the following read-only OAuth 2.0 scopes from the Google Worksp | `https://www.googleapis.com/auth/admin.directory.user.readonly` | Read access to user accounts and their admin status | | `https://www.googleapis.com/auth/admin.directory.domain.readonly` | Read access to domain information | | `https://www.googleapis.com/auth/admin.directory.customer.readonly` | Read access to customer information (Customer ID) | +| `https://www.googleapis.com/auth/admin.directory.rolemanagement.readonly` | Read access to admin roles and role assignments | The delegated user must be a **super administrator** in your Google Workspace organization. Using a non-admin account will result in permission errors when accessing the Admin SDK. @@ -73,7 +74,7 @@ This JSON key grants access to your Google Workspace organization. Never commit 6. In the **OAuth scopes** field, enter the following scopes as a comma-separated list: ``` -https://www.googleapis.com/auth/admin.directory.user.readonly,https://www.googleapis.com/auth/admin.directory.domain.readonly,https://www.googleapis.com/auth/admin.directory.customer.readonly +https://www.googleapis.com/auth/admin.directory.user.readonly,https://www.googleapis.com/auth/admin.directory.domain.readonly,https://www.googleapis.com/auth/admin.directory.customer.readonly,https://www.googleapis.com/auth/admin.directory.rolemanagement.readonly ``` 7. Click **Authorize** @@ -114,7 +115,7 @@ The delegated user must be provided via the `GOOGLEWORKSPACE_DELEGATED_USER` env - **Use environment variables** — Never hardcode credentials in scripts or commands - **Use a dedicated Service Account** — Create one specifically for Prowler, separate from other integrations -- **Use read-only scopes** — Prowler only requires the three read-only scopes listed above +- **Use read-only scopes** — Prowler only requires the read-only scopes listed above - **Restrict key access** — Set file permissions to `600` on the JSON key file - **Rotate keys regularly** — Delete and regenerate the JSON key periodically - **Use a least-privilege super admin** — Consider using a dedicated super admin account for Prowler's delegated user rather than a personal admin account @@ -151,7 +152,7 @@ python3 -c "import json; json.load(open('/path/to/key.json'))" && echo "Valid JS The Service Account cannot impersonate the delegated user. This usually means Domain-Wide Delegation has not been configured, or the OAuth scopes are incorrect. Verify: - The Service Account Client ID is correctly entered in the Admin Console -- All three required OAuth scopes are included +- All required OAuth scopes are included - The delegated user is a super administrator ### Permission Denied on Admin SDK Calls @@ -159,5 +160,5 @@ The Service Account cannot impersonate the delegated user. This usually means Do If Prowler connects but returns empty results or permission errors for specific API calls: - Confirm Domain-Wide Delegation is fully propagated (wait a few minutes after setup) -- Verify all three scopes are authorized in the Admin Console +- Verify all scopes are authorized in the Admin Console - Ensure the delegated user is an active super administrator diff --git a/docs/user-guide/providers/googleworkspace/getting-started-googleworkspace.mdx b/docs/user-guide/providers/googleworkspace/getting-started-googleworkspace.mdx index 361de533e1..af09ab75c3 100644 --- a/docs/user-guide/providers/googleworkspace/getting-started-googleworkspace.mdx +++ b/docs/user-guide/providers/googleworkspace/getting-started-googleworkspace.mdx @@ -78,7 +78,7 @@ The Service Account JSON is the full content of the key file downloaded when cre ![Check Connection](/images/providers/googleworkspace-check-connection.png) -If the connection test fails, verify that Domain-Wide Delegation is properly configured and that all three OAuth scopes are authorized. It may take a few minutes for delegation changes to propagate. See the [Troubleshooting](/user-guide/providers/googleworkspace/authentication#troubleshooting) section for common errors. +If the connection test fails, verify that Domain-Wide Delegation is properly configured and that all required OAuth scopes are authorized. It may take a few minutes for delegation changes to propagate. See the [Troubleshooting](/user-guide/providers/googleworkspace/authentication#troubleshooting) section for common errors. ### Step 5: Launch the Scan diff --git a/prowler/CHANGELOG.md b/prowler/CHANGELOG.md index 37b00bc5bd..f483ce9d56 100644 --- a/prowler/CHANGELOG.md +++ b/prowler/CHANGELOG.md @@ -11,6 +11,7 @@ All notable changes to the **Prowler SDK** are documented in this file. - `glue_etl_jobs_no_secrets_in_arguments` check for plaintext secrets in AWS Glue ETL job arguments [(#10368)](https://github.com/prowler-cloud/prowler/pull/10368) - `awslambda_function_no_dead_letter_queue`, `awslambda_function_using_cross_account_layers`, and `awslambda_function_env_vars_not_encrypted_with_cmk` checks for AWS Lambda [(#10381)](https://github.com/prowler-cloud/prowler/pull/10381) - `entra_conditional_access_policy_mdm_compliant_device_required` check for M365 provider [(#10220)](https://github.com/prowler-cloud/prowler/pull/10220) +- `directory_super_admin_only_admin_roles` check for Google Workspace provider [(#10488)](https://github.com/prowler-cloud/prowler/pull/10488) - `ec2_securitygroup_allow_ingress_from_internet_to_any_port_from_ip` check for AWS provider using `ipaddress.is_global` for accurate public IP detection [(#10335)](https://github.com/prowler-cloud/prowler/pull/10335) - `entra_conditional_access_policy_block_o365_elevated_insider_risk` check for M365 provider [(#10232)](https://github.com/prowler-cloud/prowler/pull/10232) - `--resource-group` and `--list-resource-groups` CLI flags to filter checks by resource group across all providers [(#10479)](https://github.com/prowler-cloud/prowler/pull/10479) diff --git a/prowler/compliance/googleworkspace/cis_1.3_googleworkspace.json b/prowler/compliance/googleworkspace/cis_1.3_googleworkspace.json index fa32397826..7792bba0da 100644 --- a/prowler/compliance/googleworkspace/cis_1.3_googleworkspace.json +++ b/prowler/compliance/googleworkspace/cis_1.3_googleworkspace.json @@ -54,7 +54,9 @@ { "Id": "1.1.3", "Description": "Ensure super admin accounts are used only for super admin activities", - "Checks": [], + "Checks": [ + "directory_super_admin_only_admin_roles" + ], "Attributes": [ { "Section": "1 Directory", diff --git a/prowler/providers/googleworkspace/googleworkspace_provider.py b/prowler/providers/googleworkspace/googleworkspace_provider.py index 83beee0d3e..549831a2fb 100644 --- a/prowler/providers/googleworkspace/googleworkspace_provider.py +++ b/prowler/providers/googleworkspace/googleworkspace_provider.py @@ -64,6 +64,7 @@ class GoogleworkspaceProvider(Provider): "https://www.googleapis.com/auth/admin.directory.user.readonly", "https://www.googleapis.com/auth/admin.directory.domain.readonly", "https://www.googleapis.com/auth/admin.directory.customer.readonly", + "https://www.googleapis.com/auth/admin.directory.rolemanagement.readonly", ] def __init__( diff --git a/prowler/providers/googleworkspace/services/directory/directory_service.py b/prowler/providers/googleworkspace/services/directory/directory_service.py index ef0b54c18c..6afa8e4521 100644 --- a/prowler/providers/googleworkspace/services/directory/directory_service.py +++ b/prowler/providers/googleworkspace/services/directory/directory_service.py @@ -8,23 +8,21 @@ class Directory(GoogleWorkspaceService): def __init__(self, provider): super().__init__(provider) + self._service = self._build_service("admin", "directory_v1") self.users = self._list_users() + self._roles = self._list_roles() + self._populate_role_assignments() def _list_users(self): logger.info("Directory - Listing Users...") users = {} try: - # Build the Admin SDK Directory service - service = self._build_service("admin", "directory_v1") - - if not service: + if not self._service: logger.error("Failed to build Directory service") return users - # Fetch users using the Directory API - # Reference: https://developers.google.com/admin-sdk/directory/reference/rest/v1/users/list - request = service.users().list( + request = self._service.users().list( customer=self.provider.identity.customer_id, maxResults=500, # Max allowed by API orderBy="email", @@ -38,14 +36,11 @@ class Directory(GoogleWorkspaceService): user = User( id=user_data.get("id"), email=user_data.get("primaryEmail"), - is_admin=user_data.get("isAdmin", False), ) users[user.id] = user - logger.debug( - f"Processed user: {user.email} (Admin: {user.is_admin})" - ) + logger.debug(f"Processed user: {user.email}") - request = service.users().list_next(request, response) + request = self._service.users().list_next(request, response) except Exception as error: self._handle_api_error( @@ -62,9 +57,108 @@ class Directory(GoogleWorkspaceService): return users + def _list_roles(self): + logger.info("Directory - Listing Roles...") + roles = {} + + try: + if not self._service: + return roles + + request = self._service.roles().list( + customer=self.provider.identity.customer_id, + ) + + while request is not None: + try: + response = request.execute() + + for role_data in response.get("items", []): + role_id = str(role_data.get("roleId", "")) + role_name = role_data.get("roleName", "") + if role_id and role_name: + roles[role_id] = Role( + id=role_id, + name=role_name, + description=role_data.get("roleDescription", ""), + is_super_admin_role=role_data.get( + "isSuperAdminRole", False + ), + ) + + request = self._service.roles().list_next(request, response) + + except Exception as error: + self._handle_api_error( + error, + "listing roles", + self.provider.identity.customer_id, + ) + break + + logger.info(f"Found {len(roles)} roles in the domain") + + except Exception as error: + logger.error( + f"{error.__class__.__name__}[{error.__traceback__.tb_lineno}]: {error}" + ) + + return roles + + def _populate_role_assignments(self): + logger.info("Directory - Fetching Role Assignments...") + + if not self._service: + return + + try: + request = self._service.roleAssignments().list( + customer=self.provider.identity.customer_id, + ) + + while request is not None: + try: + response = request.execute() + + for assignment in response.get("items", []): + user_id = str(assignment.get("assignedTo", "")) + role_id = str(assignment.get("roleId", "")) + user = self.users.get(user_id) + role = self._roles.get(role_id) + if user and role: + user.role_assignments.append(role) + if role.is_super_admin_role: + user.is_admin = True + + request = self._service.roleAssignments().list_next( + request, response + ) + + except Exception as error: + self._handle_api_error( + error, + "listing role assignments", + self.provider.identity.customer_id, + ) + break + + except Exception as error: + logger.error( + f"{error.__class__.__name__}[{error.__traceback__.tb_lineno}]: {error}" + ) + + +class Role(BaseModel): + + id: str + name: str + description: str = "" + is_super_admin_role: bool = False + class User(BaseModel): id: str email: str is_admin: bool = False + role_assignments: list[Role] = [] diff --git a/prowler/providers/googleworkspace/services/directory/directory_super_admin_only_admin_roles/__init__.py b/prowler/providers/googleworkspace/services/directory/directory_super_admin_only_admin_roles/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/prowler/providers/googleworkspace/services/directory/directory_super_admin_only_admin_roles/directory_super_admin_only_admin_roles.metadata.json b/prowler/providers/googleworkspace/services/directory/directory_super_admin_only_admin_roles/directory_super_admin_only_admin_roles.metadata.json new file mode 100644 index 0000000000..0264078982 --- /dev/null +++ b/prowler/providers/googleworkspace/services/directory/directory_super_admin_only_admin_roles/directory_super_admin_only_admin_roles.metadata.json @@ -0,0 +1,39 @@ +{ + "Provider": "googleworkspace", + "CheckID": "directory_super_admin_only_admin_roles", + "CheckTitle": "All super admin accounts are used only for super admin activities", + "CheckType": [], + "ServiceName": "directory", + "SubServiceName": "", + "ResourceIdTemplate": "", + "Severity": "high", + "ResourceType": "NotDefined", + "ResourceGroup": "IAM", + "Description": "Super admin accounts do not also hold **additional admin roles** such as Groups Admin, User Management Admin, etc. Each super administrator has a separate, non-admin account for daily activities, following the **principle of least privilege**.", + "Risk": "A super admin account that also holds additional admin roles increases the **attack surface** for phishing and credential theft. Compromising a single dual-role account grants full administrative access, bypassing **separation of duties** and enabling unauthorized changes to users, billing, and security settings.", + "RelatedUrl": "", + "AdditionalURLs": [ + "https://knowledge.workspace.google.com/admin/users/prebuilt-administrator-roles", + "https://support.google.com/a/answer/9011373" + ], + "Remediation": { + "Code": { + "CLI": "", + "NativeIaC": "", + "Other": "1. Sign in to the Google **Admin console** at https://admin.google.com\n2. Navigate to **Directory** > **Users**\n3. Click on the super admin user who also has additional admin roles\n4. Click **Admin roles and privileges**\n5. Remove the additional admin roles from the super admin account\n6. Create a separate account for daily admin tasks", + "Terraform": "" + }, + "Recommendation": { + "Text": "Apply the principle of separation of duties by maintaining dedicated super admin accounts exclusively for privileged tasks. Daily administrative activities should be performed from separate accounts with only the delegated roles required.", + "Url": "https://hub.prowler.com/check/directory_super_admin_only_admin_roles" + } + }, + "Categories": [ + "identity-access" + ], + "DependsOn": [], + "RelatedTo": [ + "directory_super_admin_count" + ], + "Notes": "" +} diff --git a/prowler/providers/googleworkspace/services/directory/directory_super_admin_only_admin_roles/directory_super_admin_only_admin_roles.py b/prowler/providers/googleworkspace/services/directory/directory_super_admin_only_admin_roles/directory_super_admin_only_admin_roles.py new file mode 100644 index 0000000000..702e3445ce --- /dev/null +++ b/prowler/providers/googleworkspace/services/directory/directory_super_admin_only_admin_roles/directory_super_admin_only_admin_roles.py @@ -0,0 +1,60 @@ +from typing import List + +from prowler.lib.check.models import Check, CheckReportGoogleWorkspace +from prowler.providers.googleworkspace.services.directory.directory_client import ( + directory_client, +) + + +class directory_super_admin_only_admin_roles(Check): + """Check that super admin accounts are used only for super admin activities + + This check verifies that no super admin user has additional admin roles assigned + beyond the Super Admin role. Super admins should have separate accounts for daily + activities to follow least privilege. + """ + + def execute(self) -> List[CheckReportGoogleWorkspace]: + findings = [] + + if directory_client.users: + dual_role_admins = {} + for user in directory_client.users.values(): + if user.is_admin: + extra_roles = [ + r.description or r.name + for r in user.role_assignments + if not r.is_super_admin_role + ] + if extra_roles: + dual_role_admins[user.email] = extra_roles + + report = CheckReportGoogleWorkspace( + metadata=self.metadata(), + resource=directory_client.provider.identity, + resource_name=directory_client.provider.identity.domain, + resource_id=directory_client.provider.identity.customer_id, + customer_id=directory_client.provider.identity.customer_id, + location="global", + ) + + if dual_role_admins: + details = ", ".join( + f"{email} ({', '.join(roles)})" + for email, roles in dual_role_admins.items() + ) + report.status = "FAIL" + report.status_extended = ( + f"Super admin accounts also holding additional admin roles: {details}. " + f"Super admin accounts should be used only for super admin activities." + ) + else: + report.status = "PASS" + report.status_extended = ( + f"All super admin accounts in domain {directory_client.provider.identity.domain} " + f"are used only for super admin activities." + ) + + findings.append(report) + + return findings diff --git a/tests/providers/googleworkspace/googleworkspace_fixtures.py b/tests/providers/googleworkspace/googleworkspace_fixtures.py index c823c21339..792c4699c3 100644 --- a/tests/providers/googleworkspace/googleworkspace_fixtures.py +++ b/tests/providers/googleworkspace/googleworkspace_fixtures.py @@ -43,6 +43,39 @@ USER_3 = { } +# Role data for Directory API role tests +SUPER_ADMIN_ROLE_ID = "13801188331880449" +SEED_ADMIN_ROLE_ID = "13801188331880451" +GROUPS_ADMIN_ROLE_ID = "13801188331880450" + +ROLE_SUPER_ADMIN = { + "roleId": SUPER_ADMIN_ROLE_ID, + "roleName": "Super Admin", + "roleDescription": "Super Admin", + "isSystemRole": True, + "isSuperAdminRole": True, +} + +# Google automatically assigns _SEED_ADMIN_ROLE to the first account that +# created the domain. It is a super-admin-capable system role with a +# different name, so it must also be excluded when counting "extra" roles. +ROLE_SEED_ADMIN = { + "roleId": SEED_ADMIN_ROLE_ID, + "roleName": "_SEED_ADMIN_ROLE", + "roleDescription": "Super Admin", + "isSystemRole": True, + "isSuperAdminRole": True, +} + +ROLE_GROUPS_ADMIN = { + "roleId": GROUPS_ADMIN_ROLE_ID, + "roleName": "_GROUPS_ADMIN_ROLE", + "roleDescription": "Groups Administrator", + "isSystemRole": True, + "isSuperAdminRole": False, +} + + def set_mocked_googleworkspace_provider( identity: GoogleWorkspaceIdentityInfo = GoogleWorkspaceIdentityInfo( domain=DOMAIN, diff --git a/tests/providers/googleworkspace/services/directory/directory_service_test.py b/tests/providers/googleworkspace/services/directory/directory_service_test.py index 83c7e594c0..50fc8e00bd 100644 --- a/tests/providers/googleworkspace/services/directory/directory_service_test.py +++ b/tests/providers/googleworkspace/services/directory/directory_service_test.py @@ -1,6 +1,12 @@ from unittest.mock import MagicMock, patch from tests.providers.googleworkspace.googleworkspace_fixtures import ( + GROUPS_ADMIN_ROLE_ID, + ROLE_GROUPS_ADMIN, + ROLE_SEED_ADMIN, + ROLE_SUPER_ADMIN, + SEED_ADMIN_ROLE_ID, + SUPER_ADMIN_ROLE_ID, USER_1, USER_2, USER_3, @@ -25,6 +31,24 @@ class TestDirectoryService: mock_service.users().list.return_value = mock_users_list mock_service.users().list_next.return_value = None + # Mock roles response + mock_roles_list = MagicMock() + mock_roles_list.execute.return_value = { + "items": [ROLE_SUPER_ADMIN, ROLE_GROUPS_ADMIN] + } + mock_service.roles().list.return_value = mock_roles_list + mock_service.roles().list_next.return_value = None + + mock_ra = MagicMock() + mock_ra.execute.return_value = { + "items": [ + {"assignedTo": "user1-id", "roleId": SUPER_ADMIN_ROLE_ID}, + {"assignedTo": "user2-id", "roleId": SUPER_ADMIN_ROLE_ID}, + ] + } + mock_service.roleAssignments().list.return_value = mock_ra + mock_service.roleAssignments().list_next.return_value = None + with ( patch( "prowler.providers.common.provider.Provider.get_global_provider", @@ -67,6 +91,17 @@ class TestDirectoryService: mock_service.users().list.return_value = mock_users_list mock_service.users().list_next.return_value = None + # Mock roles response + mock_roles_list = MagicMock() + mock_roles_list.execute.return_value = {"items": []} + mock_service.roles().list.return_value = mock_roles_list + mock_service.roles().list_next.return_value = None + + mock_ra = MagicMock() + mock_ra.execute.return_value = {"items": []} + mock_service.roleAssignments().list.return_value = mock_ra + mock_service.roleAssignments().list_next.return_value = None + with ( patch( "prowler.providers.common.provider.Provider.get_global_provider", @@ -97,6 +132,16 @@ class TestDirectoryService: mock_service = MagicMock() mock_service.users().list.side_effect = Exception("API Error") + mock_roles_list = MagicMock() + mock_roles_list.execute.return_value = {"items": []} + mock_service.roles().list.return_value = mock_roles_list + mock_service.roles().list_next.return_value = None + + mock_ra = MagicMock() + mock_ra.execute.return_value = {"items": []} + mock_service.roleAssignments().list.return_value = mock_ra + mock_service.roleAssignments().list_next.return_value = None + with ( patch( "prowler.providers.common.provider.Provider.get_global_provider", @@ -130,3 +175,193 @@ class TestDirectoryService: assert user.id == "test-id" assert user.email == "test@test-company.com" assert user.is_admin is True + assert user.role_assignments == [] + + def test_directory_list_roles(self): + """Test that _list_roles correctly builds a roleId-to-roleName mapping""" + mock_provider = set_mocked_googleworkspace_provider() + mock_provider.audit_config = {} + mock_provider.fixer_config = {} + mock_session = MagicMock() + mock_session.credentials = MagicMock() + mock_provider.session = mock_session + + mock_service = MagicMock() + + # Mock empty users + mock_users_list = MagicMock() + mock_users_list.execute.return_value = {"users": []} + mock_service.users().list.return_value = mock_users_list + mock_service.users().list_next.return_value = None + + # Mock roles response + mock_roles_list = MagicMock() + mock_roles_list.execute.return_value = { + "items": [ROLE_SUPER_ADMIN, ROLE_GROUPS_ADMIN] + } + mock_service.roles().list.return_value = mock_roles_list + mock_service.roles().list_next.return_value = None + + mock_ra = MagicMock() + mock_ra.execute.return_value = {"items": []} + mock_service.roleAssignments().list.return_value = mock_ra + mock_service.roleAssignments().list_next.return_value = None + + with ( + patch( + "prowler.providers.common.provider.Provider.get_global_provider", + return_value=mock_provider, + ), + patch( + "prowler.providers.googleworkspace.services.directory.directory_service.GoogleWorkspaceService._build_service", + return_value=mock_service, + ), + ): + from prowler.providers.googleworkspace.services.directory.directory_service import ( + Directory, + ) + + directory = Directory(mock_provider) + + super_admin_role = directory._roles[SUPER_ADMIN_ROLE_ID] + assert super_admin_role.name == "Super Admin" + assert super_admin_role.description == "Super Admin" + assert super_admin_role.is_super_admin_role is True + + groups_admin_role = directory._roles[GROUPS_ADMIN_ROLE_ID] + assert groups_admin_role.name == "_GROUPS_ADMIN_ROLE" + assert groups_admin_role.description == "Groups Administrator" + assert groups_admin_role.is_super_admin_role is False + + def test_directory_role_assignments_populated(self): + """Test that role assignments are fetched and resolved for super admins""" + mock_provider = set_mocked_googleworkspace_provider() + mock_provider.audit_config = {} + mock_provider.fixer_config = {} + mock_session = MagicMock() + mock_session.credentials = MagicMock() + mock_provider.session = mock_session + + mock_service = MagicMock() + + # Mock users - one super admin + mock_users_list = MagicMock() + mock_users_list.execute.return_value = {"users": [USER_1]} + mock_service.users().list.return_value = mock_users_list + mock_service.users().list_next.return_value = None + + # Mock roles + mock_roles_list = MagicMock() + mock_roles_list.execute.return_value = { + "items": [ROLE_SUPER_ADMIN, ROLE_GROUPS_ADMIN] + } + mock_service.roles().list.return_value = mock_roles_list + mock_service.roles().list_next.return_value = None + + mock_ra = MagicMock() + mock_ra.execute.return_value = { + "items": [ + {"assignedTo": "user1-id", "roleId": SUPER_ADMIN_ROLE_ID}, + {"assignedTo": "user1-id", "roleId": GROUPS_ADMIN_ROLE_ID}, + ] + } + mock_service.roleAssignments().list.return_value = mock_ra + mock_service.roleAssignments().list_next.return_value = None + + with ( + patch( + "prowler.providers.common.provider.Provider.get_global_provider", + return_value=mock_provider, + ), + patch( + "prowler.providers.googleworkspace.services.directory.directory_service.GoogleWorkspaceService._build_service", + return_value=mock_service, + ), + ): + from prowler.providers.googleworkspace.services.directory.directory_service import ( + Directory, + ) + + directory = Directory(mock_provider) + + user = directory.users["user1-id"] + role_names = [r.name for r in user.role_assignments] + role_descriptions = [r.description for r in user.role_assignments] + assert "Super Admin" in role_names + assert "_GROUPS_ADMIN_ROLE" in role_names + assert "Groups Administrator" in role_descriptions + assert len(user.role_assignments) == 2 + assert user.is_admin is True + + def test_directory_second_super_admin_detected_via_role_assignments(self): + """Regression: a second super admin whose users.list().isAdmin still + reads False (e.g. API propagation lag, or only holding + _SEED_ADMIN_ROLE) must still be recognised as a super admin through + the Role Assignments API, AND any extra non-super-admin roles they + hold must be surfaced on their User object.""" + mock_provider = set_mocked_googleworkspace_provider() + mock_provider.audit_config = {} + mock_provider.fixer_config = {} + mock_session = MagicMock() + mock_session.credentials = MagicMock() + mock_provider.session = mock_session + + mock_service = MagicMock() + + stale_user_1 = { + "id": "user1-id", + "primaryEmail": "admin1@test-company.com", + "isAdmin": False, + } + stale_user_2 = { + "id": "user2-id", + "primaryEmail": "admin2@test-company.com", + "isAdmin": False, + } + mock_users_list = MagicMock() + mock_users_list.execute.return_value = {"users": [stale_user_1, stale_user_2]} + mock_service.users().list.return_value = mock_users_list + mock_service.users().list_next.return_value = None + + mock_roles_list = MagicMock() + mock_roles_list.execute.return_value = { + "items": [ROLE_SUPER_ADMIN, ROLE_SEED_ADMIN, ROLE_GROUPS_ADMIN] + } + mock_service.roles().list.return_value = mock_roles_list + mock_service.roles().list_next.return_value = None + + mock_ra = MagicMock() + mock_ra.execute.return_value = { + "items": [ + {"assignedTo": "user1-id", "roleId": SEED_ADMIN_ROLE_ID}, + {"assignedTo": "user2-id", "roleId": SUPER_ADMIN_ROLE_ID}, + {"assignedTo": "user2-id", "roleId": GROUPS_ADMIN_ROLE_ID}, + ] + } + mock_service.roleAssignments().list.return_value = mock_ra + mock_service.roleAssignments().list_next.return_value = None + + with ( + patch( + "prowler.providers.common.provider.Provider.get_global_provider", + return_value=mock_provider, + ), + patch( + "prowler.providers.googleworkspace.services.directory.directory_service.GoogleWorkspaceService._build_service", + return_value=mock_service, + ), + ): + from prowler.providers.googleworkspace.services.directory.directory_service import ( + Directory, + ) + + directory = Directory(mock_provider) + + user1 = directory.users["user1-id"] + user2 = directory.users["user2-id"] + assert user1.is_admin is True + assert user2.is_admin is True + + assert [r.name for r in user1.role_assignments] == ["_SEED_ADMIN_ROLE"] + user2_role_names = {r.name for r in user2.role_assignments} + assert user2_role_names == {"Super Admin", "_GROUPS_ADMIN_ROLE"} diff --git a/tests/providers/googleworkspace/services/directory/directory_super_admin_only_admin_roles/directory_super_admin_only_admin_roles_test.py b/tests/providers/googleworkspace/services/directory/directory_super_admin_only_admin_roles/directory_super_admin_only_admin_roles_test.py new file mode 100644 index 0000000000..4025717bf7 --- /dev/null +++ b/tests/providers/googleworkspace/services/directory/directory_super_admin_only_admin_roles/directory_super_admin_only_admin_roles_test.py @@ -0,0 +1,446 @@ +from unittest.mock import patch + +from prowler.providers.googleworkspace.services.directory.directory_service import ( + Role, + User, +) +from tests.providers.googleworkspace.googleworkspace_fixtures import ( + CUSTOMER_ID, + DOMAIN, + set_mocked_googleworkspace_provider, +) + +SUPER_ADMIN_ROLE = Role( + id="13801188331880449", + name="Super Admin", + description="Super Admin", + is_super_admin_role=True, +) +SEED_ADMIN_ROLE = Role( + id="13801188331880451", + name="_SEED_ADMIN_ROLE", + description="Super Admin", + is_super_admin_role=True, +) +GROUPS_ADMIN_ROLE = Role( + id="13801188331880450", + name="_GROUPS_ADMIN_ROLE", + description="Groups Administrator", + is_super_admin_role=False, +) +USER_MANAGEMENT_ADMIN_ROLE = Role( + id="13801188331880452", + name="_USER_MANAGEMENT_ADMIN_ROLE", + description="User Management Administrator", + is_super_admin_role=False, +) +CUSTOM_ROLE_NO_DESCRIPTION = Role( + id="13801188331880453", + name="custom-helpdesk-role", + description="", + is_super_admin_role=False, +) + + +class TestDirectorySuperAdminOnlyAdminRoles: + def test_pass_super_admins_only_super_admin_role(self): + """Test PASS when super admins have only the Super Admin role""" + users = { + "admin1-id": User( + id="admin1-id", + email="admin1@test-company.com", + is_admin=True, + role_assignments=[SUPER_ADMIN_ROLE], + ), + "admin2-id": User( + id="admin2-id", + email="admin2@test-company.com", + is_admin=True, + role_assignments=[SUPER_ADMIN_ROLE], + ), + "user1-id": User( + id="user1-id", + email="user@test-company.com", + is_admin=False, + role_assignments=[], + ), + } + + mock_provider = set_mocked_googleworkspace_provider() + + with ( + patch( + "prowler.providers.common.provider.Provider.get_global_provider", + return_value=mock_provider, + ), + patch( + "prowler.providers.googleworkspace.services.directory.directory_super_admin_only_admin_roles.directory_super_admin_only_admin_roles.directory_client" + ) as mock_directory_client, + ): + from prowler.providers.googleworkspace.services.directory.directory_super_admin_only_admin_roles.directory_super_admin_only_admin_roles import ( + directory_super_admin_only_admin_roles, + ) + + mock_directory_client.users = users + mock_directory_client.provider = mock_provider + + check = directory_super_admin_only_admin_roles() + findings = check.execute() + + assert len(findings) == 1 + assert findings[0].status == "PASS" + assert "used only for super admin activities" in findings[0].status_extended + assert findings[0].resource_name == DOMAIN + assert findings[0].customer_id == CUSTOMER_ID + + def test_pass_super_admin_with_seed_admin_role(self): + """Test PASS when a super admin only holds _SEED_ADMIN_ROLE. + + _SEED_ADMIN_ROLE is auto-assigned by Google to the original domain + creator and has isSuperAdminRole=True, so it must not count as an + "extra" role. + """ + users = { + "admin1-id": User( + id="admin1-id", + email="playground@prowler.cloud", + is_admin=True, + role_assignments=[SEED_ADMIN_ROLE], + ), + } + + mock_provider = set_mocked_googleworkspace_provider() + + with ( + patch( + "prowler.providers.common.provider.Provider.get_global_provider", + return_value=mock_provider, + ), + patch( + "prowler.providers.googleworkspace.services.directory.directory_super_admin_only_admin_roles.directory_super_admin_only_admin_roles.directory_client" + ) as mock_directory_client, + ): + from prowler.providers.googleworkspace.services.directory.directory_super_admin_only_admin_roles.directory_super_admin_only_admin_roles import ( + directory_super_admin_only_admin_roles, + ) + + mock_directory_client.users = users + mock_directory_client.provider = mock_provider + + check = directory_super_admin_only_admin_roles() + findings = check.execute() + + assert len(findings) == 1 + assert findings[0].status == "PASS" + assert "_SEED_ADMIN_ROLE" not in findings[0].status_extended + + def test_pass_super_admin_with_both_super_admin_and_seed_admin(self): + """Test PASS when admin holds both Super Admin and _SEED_ADMIN_ROLE""" + users = { + "admin1-id": User( + id="admin1-id", + email="playground@prowler.cloud", + is_admin=True, + role_assignments=[SUPER_ADMIN_ROLE, SEED_ADMIN_ROLE], + ), + } + + mock_provider = set_mocked_googleworkspace_provider() + + with ( + patch( + "prowler.providers.common.provider.Provider.get_global_provider", + return_value=mock_provider, + ), + patch( + "prowler.providers.googleworkspace.services.directory.directory_super_admin_only_admin_roles.directory_super_admin_only_admin_roles.directory_client" + ) as mock_directory_client, + ): + from prowler.providers.googleworkspace.services.directory.directory_super_admin_only_admin_roles.directory_super_admin_only_admin_roles import ( + directory_super_admin_only_admin_roles, + ) + + mock_directory_client.users = users + mock_directory_client.provider = mock_provider + + check = directory_super_admin_only_admin_roles() + findings = check.execute() + + assert len(findings) == 1 + assert findings[0].status == "PASS" + + def test_fail_super_admin_with_additional_roles(self): + """Test FAIL when a super admin also has additional admin roles""" + users = { + "admin1-id": User( + id="admin1-id", + email="admin1@test-company.com", + is_admin=True, + role_assignments=[SUPER_ADMIN_ROLE, GROUPS_ADMIN_ROLE], + ), + "user1-id": User( + id="user1-id", + email="user@test-company.com", + is_admin=False, + role_assignments=[], + ), + } + + mock_provider = set_mocked_googleworkspace_provider() + + with ( + patch( + "prowler.providers.common.provider.Provider.get_global_provider", + return_value=mock_provider, + ), + patch( + "prowler.providers.googleworkspace.services.directory.directory_super_admin_only_admin_roles.directory_super_admin_only_admin_roles.directory_client" + ) as mock_directory_client, + ): + from prowler.providers.googleworkspace.services.directory.directory_super_admin_only_admin_roles.directory_super_admin_only_admin_roles import ( + directory_super_admin_only_admin_roles, + ) + + mock_directory_client.users = users + mock_directory_client.provider = mock_provider + + check = directory_super_admin_only_admin_roles() + findings = check.execute() + + assert len(findings) == 1 + assert findings[0].status == "FAIL" + assert "admin1@test-company.com" in findings[0].status_extended + assert "Groups Administrator" in findings[0].status_extended + assert "_GROUPS_ADMIN_ROLE" not in findings[0].status_extended + assert "used only for super admin activities" in findings[0].status_extended + assert findings[0].resource_name == DOMAIN + assert findings[0].customer_id == CUSTOMER_ID + + def test_fail_seed_admin_with_additional_roles(self): + """Test FAIL when a _SEED_ADMIN_ROLE holder also has extra roles""" + users = { + "admin1-id": User( + id="admin1-id", + email="playground@prowler.cloud", + is_admin=True, + role_assignments=[SEED_ADMIN_ROLE, GROUPS_ADMIN_ROLE], + ), + } + + mock_provider = set_mocked_googleworkspace_provider() + + with ( + patch( + "prowler.providers.common.provider.Provider.get_global_provider", + return_value=mock_provider, + ), + patch( + "prowler.providers.googleworkspace.services.directory.directory_super_admin_only_admin_roles.directory_super_admin_only_admin_roles.directory_client" + ) as mock_directory_client, + ): + from prowler.providers.googleworkspace.services.directory.directory_super_admin_only_admin_roles.directory_super_admin_only_admin_roles import ( + directory_super_admin_only_admin_roles, + ) + + mock_directory_client.users = users + mock_directory_client.provider = mock_provider + + check = directory_super_admin_only_admin_roles() + findings = check.execute() + + assert len(findings) == 1 + assert findings[0].status == "FAIL" + assert "playground@prowler.cloud" in findings[0].status_extended + assert "Groups Administrator" in findings[0].status_extended + assert "_GROUPS_ADMIN_ROLE" not in findings[0].status_extended + assert "_SEED_ADMIN_ROLE" not in findings[0].status_extended + + def test_fail_multiple_super_admins_with_extra_roles(self): + """Test FAIL lists all super admins that have additional roles""" + users = { + "admin1-id": User( + id="admin1-id", + email="admin1@test-company.com", + is_admin=True, + role_assignments=[SUPER_ADMIN_ROLE, GROUPS_ADMIN_ROLE], + ), + "admin2-id": User( + id="admin2-id", + email="admin2@test-company.com", + is_admin=True, + role_assignments=[SUPER_ADMIN_ROLE, USER_MANAGEMENT_ADMIN_ROLE], + ), + "admin3-id": User( + id="admin3-id", + email="admin3@test-company.com", + is_admin=True, + role_assignments=[SUPER_ADMIN_ROLE], + ), + } + + mock_provider = set_mocked_googleworkspace_provider() + + with ( + patch( + "prowler.providers.common.provider.Provider.get_global_provider", + return_value=mock_provider, + ), + patch( + "prowler.providers.googleworkspace.services.directory.directory_super_admin_only_admin_roles.directory_super_admin_only_admin_roles.directory_client" + ) as mock_directory_client, + ): + from prowler.providers.googleworkspace.services.directory.directory_super_admin_only_admin_roles.directory_super_admin_only_admin_roles import ( + directory_super_admin_only_admin_roles, + ) + + mock_directory_client.users = users + mock_directory_client.provider = mock_provider + + check = directory_super_admin_only_admin_roles() + findings = check.execute() + + assert len(findings) == 1 + assert findings[0].status == "FAIL" + assert "admin1@test-company.com" in findings[0].status_extended + assert "admin2@test-company.com" in findings[0].status_extended + assert "admin3@test-company.com" not in findings[0].status_extended + + def test_no_findings_when_no_users(self): + """Test no findings when there are no users""" + mock_provider = set_mocked_googleworkspace_provider() + + with ( + patch( + "prowler.providers.common.provider.Provider.get_global_provider", + return_value=mock_provider, + ), + patch( + "prowler.providers.googleworkspace.services.directory.directory_super_admin_only_admin_roles.directory_super_admin_only_admin_roles.directory_client" + ) as mock_directory_client, + ): + from prowler.providers.googleworkspace.services.directory.directory_super_admin_only_admin_roles.directory_super_admin_only_admin_roles import ( + directory_super_admin_only_admin_roles, + ) + + mock_directory_client.users = {} + mock_directory_client.provider = mock_provider + + check = directory_super_admin_only_admin_roles() + findings = check.execute() + + assert len(findings) == 0 + + def test_non_super_admin_with_roles_not_flagged(self): + """Test that users who are not super admins are ignored even if they have roles""" + users = { + "admin1-id": User( + id="admin1-id", + email="admin1@test-company.com", + is_admin=True, + role_assignments=[SUPER_ADMIN_ROLE], + ), + "delegated1-id": User( + id="delegated1-id", + email="delegated@test-company.com", + is_admin=False, + role_assignments=[GROUPS_ADMIN_ROLE], + ), + } + + mock_provider = set_mocked_googleworkspace_provider() + + with ( + patch( + "prowler.providers.common.provider.Provider.get_global_provider", + return_value=mock_provider, + ), + patch( + "prowler.providers.googleworkspace.services.directory.directory_super_admin_only_admin_roles.directory_super_admin_only_admin_roles.directory_client" + ) as mock_directory_client, + ): + from prowler.providers.googleworkspace.services.directory.directory_super_admin_only_admin_roles.directory_super_admin_only_admin_roles import ( + directory_super_admin_only_admin_roles, + ) + + mock_directory_client.users = users + mock_directory_client.provider = mock_provider + + check = directory_super_admin_only_admin_roles() + findings = check.execute() + + assert len(findings) == 1 + assert findings[0].status == "PASS" + assert "delegated@test-company.com" not in findings[0].status_extended + + def test_pass_super_admin_with_empty_role_assignments(self): + """Test PASS when super admin has no role assignments (edge case)""" + users = { + "admin1-id": User( + id="admin1-id", + email="admin1@test-company.com", + is_admin=True, + role_assignments=[], + ), + } + + mock_provider = set_mocked_googleworkspace_provider() + + with ( + patch( + "prowler.providers.common.provider.Provider.get_global_provider", + return_value=mock_provider, + ), + patch( + "prowler.providers.googleworkspace.services.directory.directory_super_admin_only_admin_roles.directory_super_admin_only_admin_roles.directory_client" + ) as mock_directory_client, + ): + from prowler.providers.googleworkspace.services.directory.directory_super_admin_only_admin_roles.directory_super_admin_only_admin_roles import ( + directory_super_admin_only_admin_roles, + ) + + mock_directory_client.users = users + mock_directory_client.provider = mock_provider + + check = directory_super_admin_only_admin_roles() + findings = check.execute() + + assert len(findings) == 1 + assert findings[0].status == "PASS" + + def test_fail_custom_role_without_description_falls_back_to_name(self): + """A custom role with an empty description should be displayed + using its name as a fall-back, so the FAIL message is never blank + for users that genuinely hold extra roles.""" + users = { + "admin1-id": User( + id="admin1-id", + email="admin1@test-company.com", + is_admin=True, + role_assignments=[SUPER_ADMIN_ROLE, CUSTOM_ROLE_NO_DESCRIPTION], + ), + } + + mock_provider = set_mocked_googleworkspace_provider() + + with ( + patch( + "prowler.providers.common.provider.Provider.get_global_provider", + return_value=mock_provider, + ), + patch( + "prowler.providers.googleworkspace.services.directory.directory_super_admin_only_admin_roles.directory_super_admin_only_admin_roles.directory_client" + ) as mock_directory_client, + ): + from prowler.providers.googleworkspace.services.directory.directory_super_admin_only_admin_roles.directory_super_admin_only_admin_roles import ( + directory_super_admin_only_admin_roles, + ) + + mock_directory_client.users = users + mock_directory_client.provider = mock_provider + + check = directory_super_admin_only_admin_roles() + findings = check.execute() + + assert len(findings) == 1 + assert findings[0].status == "FAIL" + assert "custom-helpdesk-role" in findings[0].status_extended From 9290d7e1052a7feb22692d5a8d8e26d201cecfd0 Mon Sep 17 00:00:00 2001 From: Andoni Alonso <14891798+andoniaf@users.noreply.github.com> Date: Wed, 8 Apr 2026 13:15:05 +0200 Subject: [PATCH 8/9] feat(sdk): warn when sensitive CLI flags receive explicit values (#10532) --- docs/developer-guide/provider.mdx | 29 +++++++++ docs/user-guide/cli/tutorials/pentesting.mdx | 32 +++++++--- prowler/CHANGELOG.md | 1 + prowler/lib/cli/parser.py | 9 ++- prowler/lib/cli/redact.py | 55 ++++++++++++++-- prowler/lib/cli/sensitive.py | 8 +++ .../providers/nhn/lib/arguments/arguments.py | 6 +- .../openstack/lib/arguments/arguments.py | 1 + skills/prowler-provider/SKILL.md | 28 ++++++++ tests/lib/cli/redact_test.py | 64 ++++++++++++++++++- 10 files changed, 215 insertions(+), 18 deletions(-) create mode 100644 prowler/lib/cli/sensitive.py diff --git a/docs/developer-guide/provider.mdx b/docs/developer-guide/provider.mdx index 0fb3bc549d..ec3e106150 100644 --- a/docs/developer-guide/provider.mdx +++ b/docs/developer-guide/provider.mdx @@ -750,6 +750,35 @@ def init_parser(self): # More arguments for the provider. ``` +##### Sensitive CLI Arguments + +CLI flags that accept secrets (tokens, passwords, API keys) require special handling to protect credentials from leaking in HTML output and process listings: + +1. **Use `nargs="?"` with `default=None`** so the flag works both with and without an inline value. This allows the provider to fall back to an environment variable when no value is passed. +2. **Add a `SENSITIVE_ARGUMENTS` frozenset** at the top of the `arguments.py` file listing every flag that accepts secret values: + + ```python + SENSITIVE_ARGUMENTS = frozenset({"--your-provider-password", "--your-provider-token"}) + ``` + + Prowler automatically discovers these frozensets and uses them to redact values in HTML output and warn users who pass secrets directly on the command line. + +3. **Document the environment variable** in the `help` text so users know the recommended alternative: + + ```python + _parser.add_argument( + "--your-provider-password", + nargs="?", + default=None, + metavar="PASSWORD", + help="Password for authentication. We recommend using the YOUR_PROVIDER_PASSWORD environment variable instead.", + ) + ``` + + +Do not add new arguments that require passing secrets as CLI values without an environment variable fallback. Prowler CLI warns users when sensitive flags receive explicit values on the command line. + + #### Step 5: Implement Mutelist **Explanation:** diff --git a/docs/user-guide/cli/tutorials/pentesting.mdx b/docs/user-guide/cli/tutorials/pentesting.mdx index f59c9ccc2e..0ad5313611 100644 --- a/docs/user-guide/cli/tutorials/pentesting.mdx +++ b/docs/user-guide/cli/tutorials/pentesting.mdx @@ -66,22 +66,38 @@ prowler --categories internet-exposed ### Shodan -Prowler allows you check if any public IPs in your Cloud environments are exposed in Shodan with the `-N`/`--shodan ` option: +Prowler can check whether any public IPs in cloud environments are exposed in Shodan using the `-N`/`--shodan` option. -For example, you can check if any of your AWS Elastic Compute Cloud (EC2) instances has an elastic IP exposed in Shodan: +#### Using the Environment Variable (Recommended) + +Set the `SHODAN_API_KEY` environment variable to avoid exposing the API key in process listings and shell history: ```console -prowler aws -N/--shodan -c ec2_elastic_ip_shodan +export SHODAN_API_KEY= ``` -Also, you can check if any of your Azure Subscription has an public IP exposed in Shodan: +Then run Prowler with the `--shodan` flag (no value needed): ```console -prowler azure -N/--shodan -c network_public_ip_shodan +prowler aws --shodan -c ec2_elastic_ip_shodan ``` -And finally, you can check if any of your GCP projects has an public IP address exposed in Shodan: - ```console -prowler gcp -N/--shodan -c compute_public_address_shodan +prowler azure --shodan -c network_public_ip_shodan ``` + +```console +prowler gcp --shodan -c compute_public_address_shodan +``` + +#### Using the CLI Flag + +Alternatively, pass the API key directly on the command line: + +```console +prowler aws --shodan -c ec2_elastic_ip_shodan +``` + + +Passing secret values directly on the command line exposes them in process listings and shell history. Prowler CLI displays a warning when this pattern is detected. Use the `SHODAN_API_KEY` environment variable instead. + diff --git a/prowler/CHANGELOG.md b/prowler/CHANGELOG.md index f483ce9d56..06d1aba5a8 100644 --- a/prowler/CHANGELOG.md +++ b/prowler/CHANGELOG.md @@ -25,6 +25,7 @@ All notable changes to the **Prowler SDK** are documented in this file. - Added `internet-exposed` category to 13 AWS checks (CloudFront, CodeArtifact, EC2, EFS, RDS, SageMaker, Shield, VPC) [(#10502)](https://github.com/prowler-cloud/prowler/pull/10502) - Minimum Python version from 3.9 to 3.10 and updated classifiers to reflect supported versions (3.10, 3.11, 3.12) [(#10464)](https://github.com/prowler-cloud/prowler/pull/10464) +- Sensitive CLI flags now warn when values are passed directly, recommending environment variables instead [(#10532)](https://github.com/prowler-cloud/prowler/pull/10532) ### 🐞 Fixed diff --git a/prowler/lib/cli/parser.py b/prowler/lib/cli/parser.py index 47275b12cf..d2afa70e15 100644 --- a/prowler/lib/cli/parser.py +++ b/prowler/lib/cli/parser.py @@ -12,6 +12,7 @@ from prowler.config.config import ( default_output_directory, ) from prowler.lib.check.models import Severity +from prowler.lib.cli.redact import warn_sensitive_argument_values from prowler.lib.outputs.common import Status from prowler.providers.common.arguments import ( init_providers_parser, @@ -19,8 +20,6 @@ from prowler.providers.common.arguments import ( validate_provider_arguments, ) -SENSITIVE_ARGUMENTS = frozenset({"--shodan"}) - class ProwlerArgumentParser: # Set the default parser @@ -126,6 +125,10 @@ Detailed documentation at https://docs.prowler.com elif sys.argv[1] == "oci": sys.argv[1] = "oraclecloud" + # Warn about sensitive flags passed with explicit values + # Snapshot argv before parse_args() which may exit on errors + warn_sensitive_argument_values(list(sys.argv[1:])) + # Parse arguments args = self.parser.parse_args() @@ -434,7 +437,7 @@ Detailed documentation at https://docs.prowler.com nargs="?", default=None, metavar="SHODAN_API_KEY", - help="Check if any public IPs in your Cloud environments are exposed in Shodan.", + help="Check if any public IPs in your Cloud environments are exposed in Shodan. We recommend to use the SHODAN_API_KEY environment variable to provide the API key.", ) third_party_subparser.add_argument( "--slack", diff --git a/prowler/lib/cli/redact.py b/prowler/lib/cli/redact.py index 2dfd9e2bfa..3984139bae 100644 --- a/prowler/lib/cli/redact.py +++ b/prowler/lib/cli/redact.py @@ -1,6 +1,9 @@ from functools import lru_cache from importlib import import_module +from colorama import Fore, Style + +from prowler.lib.cli.sensitive import SENSITIVE_ARGUMENTS as COMMON_SENSITIVE_ARGUMENTS from prowler.lib.logger import logger from prowler.providers.common.provider import Provider, providers_path @@ -13,11 +16,7 @@ def get_sensitive_arguments() -> frozenset: sensitive: set[str] = set() # Common parser sensitive arguments (e.g., --shodan) - try: - parser_module = import_module("prowler.lib.cli.parser") - sensitive.update(getattr(parser_module, "SENSITIVE_ARGUMENTS", frozenset())) - except Exception as error: - logger.debug(f"Could not load SENSITIVE_ARGUMENTS from parser: {error}") + sensitive.update(COMMON_SENSITIVE_ARGUMENTS) # Provider-specific sensitive arguments for provider in Provider.get_available_providers(): @@ -66,3 +65,49 @@ def redact_argv(argv: list[str]) -> str: result.append(arg) return " ".join(result) + + +def warn_sensitive_argument_values(argv: list[str]) -> None: + """Log a warning for each sensitive CLI flag that was passed with an explicit value. + + Scans the raw argv list (not parsed args) to detect when users pass + secret values directly on the command line instead of using environment + variables. Handles both ``--flag value`` and ``--flag=value`` syntax. + + Args: + argv: The argument list to check (typically ``sys.argv[1:]``). + """ + sensitive = get_sensitive_arguments() + if not sensitive: + return + + use_color = "--no-color" not in argv + flags_with_values: list[str] = [] + + for i, arg in enumerate(argv): + # --flag=value syntax + if "=" in arg: + flag = arg.split("=", 1)[0] + if flag in sensitive: + flags_with_values.append(flag) + continue + + # --flag value syntax + if arg in sensitive: + if i + 1 < len(argv) and not argv[i + 1].startswith("-"): + flags_with_values.append(arg) + + for flag in flags_with_values: + if use_color: + logger.warning( + f"{Fore.YELLOW}{Style.BRIGHT}WARNING:{Style.RESET_ALL}{Fore.YELLOW} " + f"Passing a value directly to {flag} is not recommended. " + f"Use the corresponding environment variable instead to avoid " + f"exposing secrets in process listings and shell history.{Style.RESET_ALL}" + ) + else: + logger.warning( + f"Passing a value directly to {flag} is not recommended. " + f"Use the corresponding environment variable instead to avoid " + f"exposing secrets in process listings and shell history." + ) diff --git a/prowler/lib/cli/sensitive.py b/prowler/lib/cli/sensitive.py new file mode 100644 index 0000000000..4f5ad004d7 --- /dev/null +++ b/prowler/lib/cli/sensitive.py @@ -0,0 +1,8 @@ +"""Common parser sensitive arguments. + +This module is kept dependency-free (no prowler-internal imports) so that +``prowler.lib.cli.redact`` and any provider argument module can import it +without circular-import risk. +""" + +SENSITIVE_ARGUMENTS = frozenset({"--shodan"}) diff --git a/prowler/providers/nhn/lib/arguments/arguments.py b/prowler/providers/nhn/lib/arguments/arguments.py index 8f7c71fd7c..a102665a26 100644 --- a/prowler/providers/nhn/lib/arguments/arguments.py +++ b/prowler/providers/nhn/lib/arguments/arguments.py @@ -13,7 +13,11 @@ def init_parser(self): "--nhn-username", nargs="?", default=None, help="NHN API Username" ) nhn_auth_subparser.add_argument( - "--nhn-password", nargs="?", default=None, help="NHN API Password" + "--nhn-password", + nargs="?", + default=None, + metavar="NHN_PASSWORD", + help="NHN API Password", ) nhn_auth_subparser.add_argument( "--nhn-tenant-id", nargs="?", default=None, help="NHN Tenant ID" diff --git a/prowler/providers/openstack/lib/arguments/arguments.py b/prowler/providers/openstack/lib/arguments/arguments.py index 459012c4ec..68674528b6 100644 --- a/prowler/providers/openstack/lib/arguments/arguments.py +++ b/prowler/providers/openstack/lib/arguments/arguments.py @@ -46,6 +46,7 @@ def init_parser(self): "--os-password", nargs="?", default=None, + metavar="OS_PASSWORD", help="OpenStack password for authentication. Can also be set via OS_PASSWORD environment variable", ) openstack_explicit_subparser.add_argument( diff --git a/skills/prowler-provider/SKILL.md b/skills/prowler-provider/SKILL.md index 994d134776..c9f2811e97 100644 --- a/skills/prowler-provider/SKILL.md +++ b/skills/prowler-provider/SKILL.md @@ -45,6 +45,34 @@ prowler/providers/{provider}/ └── {check_name}.metadata.json ``` +## Sensitive CLI Arguments + +Flags that accept secrets (tokens, passwords, API keys) MUST follow these rules: + +1. **Use `nargs="?"` with `default=None`** — the flag accepts an optional value for backward compatibility; the recommended path is environment variables. +2. **Set `metavar` to the environment variable name** users should use (e.g., `metavar="GITHUB_PERSONAL_ACCESS_TOKEN"`). +3. **Add the flag to the `SENSITIVE_ARGUMENTS` frozenset** at the top of the provider's `arguments.py`. This set is used to redact values in HTML output and warn users who pass secrets directly. +4. **Do not add new arguments that require passing secrets as CLI values** — secrets should come from environment variables. The flag accepts a value for backward compatibility, but CLI warns users to prefer env vars. + +### Pattern + +```python +# prowler/providers/{provider}/lib/arguments/arguments.py + +SENSITIVE_ARGUMENTS = frozenset({"--my-api-key", "--my-password"}) + + +def init_parser(self): + auth_subparser = parser.add_argument_group("Authentication Modes") + auth_subparser.add_argument( + "--my-api-key", + nargs="?", + default=None, + metavar="MY_API_KEY", + help="API key for authentication. Use MY_API_KEY env var instead of passing directly.", + ) +``` + ## Provider Class Template ```python diff --git a/tests/lib/cli/redact_test.py b/tests/lib/cli/redact_test.py index 1f33998356..5de4cc8fd7 100644 --- a/tests/lib/cli/redact_test.py +++ b/tests/lib/cli/redact_test.py @@ -1,8 +1,14 @@ +import logging from unittest.mock import patch import pytest -from prowler.lib.cli.redact import REDACTED_VALUE, get_sensitive_arguments, redact_argv +from prowler.lib.cli.redact import ( + REDACTED_VALUE, + get_sensitive_arguments, + redact_argv, + warn_sensitive_argument_values, +) @pytest.fixture @@ -87,6 +93,62 @@ class TestRedactArgv: assert redact_argv(argv) == "aws --region=us-east-1" +class TestWarnSensitiveArgumentValues: + def test_no_warning_without_sensitive_flags(self, caplog, mock_sensitive_args): + with caplog.at_level(logging.WARNING): + warn_sensitive_argument_values(["aws", "--region", "eu-west-1"]) + assert caplog.text == "" + + def test_no_warning_flag_without_value(self, caplog, mock_sensitive_args): + with caplog.at_level(logging.WARNING): + warn_sensitive_argument_values(["github", "--personal-access-token"]) + assert caplog.text == "" + + def test_no_warning_flag_followed_by_another_flag( + self, caplog, mock_sensitive_args + ): + with caplog.at_level(logging.WARNING): + warn_sensitive_argument_values( + ["github", "--personal-access-token", "--region", "eu-west-1"] + ) + assert caplog.text == "" + + def test_warning_flag_with_value(self, caplog, mock_sensitive_args): + with caplog.at_level(logging.WARNING): + warn_sensitive_argument_values( + ["github", "--personal-access-token", "ghp_secret"] + ) + assert "--personal-access-token" in caplog.text + assert "not recommended" in caplog.text + + def test_warning_flag_with_equals_syntax(self, caplog, mock_sensitive_args): + with caplog.at_level(logging.WARNING): + warn_sensitive_argument_values(["aws", "--shodan=key123"]) + assert "--shodan" in caplog.text + assert "not recommended" in caplog.text + + def test_warning_multiple_flags(self, caplog, mock_sensitive_args): + with caplog.at_level(logging.WARNING): + warn_sensitive_argument_values( + [ + "github", + "--personal-access-token", + "ghp_secret", + "--shodan", + "key", + ] + ) + assert "--personal-access-token" in caplog.text + assert "--shodan" in caplog.text + + def test_no_color_output(self, caplog, mock_sensitive_args): + with caplog.at_level(logging.WARNING): + warn_sensitive_argument_values(["--no-color", "aws", "--shodan", "key123"]) + assert "not recommended" in caplog.text + # Should not contain ANSI escape codes + assert "\033[" not in caplog.text + + class TestGetSensitiveArguments: def test_discovers_known_sensitive_arguments(self): """Integration test: verify the discovery mechanism finds flags from provider modules.""" From bc38104903f6944d15216b65e4813de40951441e Mon Sep 17 00:00:00 2001 From: lydiavilchez <114735608+lydiavilchez@users.noreply.github.com> Date: Wed, 8 Apr 2026 13:26:56 +0200 Subject: [PATCH 9/9] feat(googleworkspace): add calendar service checks using Cloud Identity Policy API (#10597) --- .../googleworkspace/authentication.mdx | 39 ++- prowler/CHANGELOG.md | 1 + .../cis_1.3_googleworkspace.json | 12 +- .../cisa_scuba_0.6_googleworkspace.json | 12 +- .../googleworkspace_provider.py | 16 +- .../services/calendar/__init__.py | 0 .../services/calendar/calendar_client.py | 6 + .../__init__.py | 0 ...external_invitations_warning.metadata.json | 41 ++++ .../calendar_external_invitations_warning.py | 56 +++++ .../__init__.py | 0 ...nal_sharing_primary_calendar.metadata.json | 41 ++++ ...endar_external_sharing_primary_calendar.py | 56 +++++ .../__init__.py | 0 ...l_sharing_secondary_calendar.metadata.json | 41 ++++ ...dar_external_sharing_secondary_calendar.py | 56 +++++ .../services/calendar/calendar_service.py | 112 +++++++++ ...endar_external_invitations_warning_test.py | 130 ++++++++++ ..._external_sharing_primary_calendar_test.py | 161 ++++++++++++ ...xternal_sharing_secondary_calendar_test.py | 161 ++++++++++++ .../calendar/calendar_service_test.py | 231 ++++++++++++++++++ 21 files changed, 1150 insertions(+), 22 deletions(-) create mode 100644 prowler/providers/googleworkspace/services/calendar/__init__.py create mode 100644 prowler/providers/googleworkspace/services/calendar/calendar_client.py create mode 100644 prowler/providers/googleworkspace/services/calendar/calendar_external_invitations_warning/__init__.py create mode 100644 prowler/providers/googleworkspace/services/calendar/calendar_external_invitations_warning/calendar_external_invitations_warning.metadata.json create mode 100644 prowler/providers/googleworkspace/services/calendar/calendar_external_invitations_warning/calendar_external_invitations_warning.py create mode 100644 prowler/providers/googleworkspace/services/calendar/calendar_external_sharing_primary_calendar/__init__.py create mode 100644 prowler/providers/googleworkspace/services/calendar/calendar_external_sharing_primary_calendar/calendar_external_sharing_primary_calendar.metadata.json create mode 100644 prowler/providers/googleworkspace/services/calendar/calendar_external_sharing_primary_calendar/calendar_external_sharing_primary_calendar.py create mode 100644 prowler/providers/googleworkspace/services/calendar/calendar_external_sharing_secondary_calendar/__init__.py create mode 100644 prowler/providers/googleworkspace/services/calendar/calendar_external_sharing_secondary_calendar/calendar_external_sharing_secondary_calendar.metadata.json create mode 100644 prowler/providers/googleworkspace/services/calendar/calendar_external_sharing_secondary_calendar/calendar_external_sharing_secondary_calendar.py create mode 100644 prowler/providers/googleworkspace/services/calendar/calendar_service.py create mode 100644 tests/providers/googleworkspace/services/calendar/calendar_external_invitations_warning/calendar_external_invitations_warning_test.py create mode 100644 tests/providers/googleworkspace/services/calendar/calendar_external_sharing_primary_calendar/calendar_external_sharing_primary_calendar_test.py create mode 100644 tests/providers/googleworkspace/services/calendar/calendar_external_sharing_secondary_calendar/calendar_external_sharing_secondary_calendar_test.py create mode 100644 tests/providers/googleworkspace/services/calendar/calendar_service_test.py diff --git a/docs/user-guide/providers/googleworkspace/authentication.mdx b/docs/user-guide/providers/googleworkspace/authentication.mdx index e5c3527f89..b070c443b3 100644 --- a/docs/user-guide/providers/googleworkspace/authentication.mdx +++ b/docs/user-guide/providers/googleworkspace/authentication.mdx @@ -6,17 +6,18 @@ import { VersionBadge } from "/snippets/version-badge.mdx" -Prowler for Google Workspace uses a **Service Account with Domain-Wide Delegation** to authenticate to the Google Workspace Admin SDK. This allows Prowler to read directory data on behalf of a super administrator without requiring an interactive login. +Prowler for Google Workspace uses a **Service Account with Domain-Wide Delegation** to authenticate to the Google Workspace Admin SDK and the Cloud Identity Policy API. This allows Prowler to read directory data and domain-level application policies on behalf of a super administrator without requiring an interactive login. ## Required Open Authorization (OAuth) Scopes -Prowler requests the following read-only OAuth 2.0 scopes from the Google Workspace Admin SDK: +Prowler requests the following read-only OAuth 2.0 scopes: | Scope | Description | |-------|-------------| | `https://www.googleapis.com/auth/admin.directory.user.readonly` | Read access to user accounts and their admin status | | `https://www.googleapis.com/auth/admin.directory.domain.readonly` | Read access to domain information | | `https://www.googleapis.com/auth/admin.directory.customer.readonly` | Read access to customer information (Customer ID) | +| `https://www.googleapis.com/auth/cloud-identity.policies.readonly` | Read access to domain-level application policies (required for Calendar service checks) | | `https://www.googleapis.com/auth/admin.directory.rolemanagement.readonly` | Read access to admin roles and role assignments | @@ -31,13 +32,24 @@ If no GCP project exists, create one at [https://console.cloud.google.com](https The project is only used to host the Service Account — it does not need to have any Google Workspace data in it. -### Step 2: Enable the Admin SDK API +### Step 2: Enable Required APIs -1. Navigate to the [Google Cloud Console](https://console.cloud.google.com) -2. Select the target project -3. Navigate to **APIs & Services → Library** -4. Search for **Admin SDK API** -5. Click **Enable** +In the [Google Cloud Console](https://console.cloud.google.com), select the target project and navigate to **APIs & Services → Library**. Search for and enable each of the following APIs: + +| API | Required For | +|-----|--------------| +| **Admin SDK API** | Directory service checks (users, roles, domains) | +| **Cloud Identity API** | Calendar service checks (domain-level sharing and invitation policies) | + +For each API: + +1. Search for the API name in the library +2. Click the API result +3. Click **Enable** + + +Both APIs must be enabled in the same GCP project that hosts the Service Account. Calendar checks will return no findings if the Cloud Identity API is not enabled. + ### Step 3: Create a Service Account @@ -74,7 +86,7 @@ This JSON key grants access to your Google Workspace organization. Never commit 6. In the **OAuth scopes** field, enter the following scopes as a comma-separated list: ``` -https://www.googleapis.com/auth/admin.directory.user.readonly,https://www.googleapis.com/auth/admin.directory.domain.readonly,https://www.googleapis.com/auth/admin.directory.customer.readonly,https://www.googleapis.com/auth/admin.directory.rolemanagement.readonly +https://www.googleapis.com/auth/admin.directory.user.readonly,https://www.googleapis.com/auth/admin.directory.domain.readonly,https://www.googleapis.com/auth/admin.directory.customer.readonly,https://www.googleapis.com/auth/cloud-identity.policies.readonly,https://www.googleapis.com/auth/admin.directory.rolemanagement.readonly ``` 7. Click **Authorize** @@ -162,3 +174,12 @@ If Prowler connects but returns empty results or permission errors for specific - Confirm Domain-Wide Delegation is fully propagated (wait a few minutes after setup) - Verify all scopes are authorized in the Admin Console - Ensure the delegated user is an active super administrator + +### Calendar Checks Return No Findings + +If the Directory checks run successfully but the Calendar checks (e.g., `calendar_external_sharing_primary_calendar`) return no findings, the Cloud Identity Policy API is not reachable for this Service Account. Verify: + +- The **Cloud Identity API** is enabled in the GCP project hosting the Service Account (Step 2) +- The scope `https://www.googleapis.com/auth/cloud-identity.policies.readonly` is included in the Domain-Wide Delegation OAuth scopes list in the Admin Console (Step 5) +- The delegated user is a super administrator (the Policy API only returns data to super admins) +- Domain-Wide Delegation has had time to propagate after adding the new scope (a few minutes) diff --git a/prowler/CHANGELOG.md b/prowler/CHANGELOG.md index 06d1aba5a8..56c363b9cf 100644 --- a/prowler/CHANGELOG.md +++ b/prowler/CHANGELOG.md @@ -17,6 +17,7 @@ All notable changes to the **Prowler SDK** are documented in this file. - `--resource-group` and `--list-resource-groups` CLI flags to filter checks by resource group across all providers [(#10479)](https://github.com/prowler-cloud/prowler/pull/10479) - CISA SCuBA Google Workspace Baselines compliance [(#10466)](https://github.com/prowler-cloud/prowler/pull/10466) - CIS Google Workspace Foundations Benchmark v1.3.0 compliance [(#10462)](https://github.com/prowler-cloud/prowler/pull/10462) +- `calendar_external_sharing_primary_calendar`, `calendar_external_sharing_secondary_calendar`, and `calendar_external_invitations_warning` checks for Google Workspace provider using the Cloud Identity Policy API [(#10597)](https://github.com/prowler-cloud/prowler/pull/10597) - `entra_conditional_access_policy_device_registration_mfa_required` check and `entra_intune_enrollment_sign_in_frequency_every_time` enhancement for M365 provider [(#10222)](https://github.com/prowler-cloud/prowler/pull/10222) - `entra_conditional_access_policy_block_elevated_insider_risk` check for M365 provider [(#10234)](https://github.com/prowler-cloud/prowler/pull/10234) - `Vercel` provider support with 30 checks [(#10189)](https://github.com/prowler-cloud/prowler/pull/10189) diff --git a/prowler/compliance/googleworkspace/cis_1.3_googleworkspace.json b/prowler/compliance/googleworkspace/cis_1.3_googleworkspace.json index 7792bba0da..5d99d82c73 100644 --- a/prowler/compliance/googleworkspace/cis_1.3_googleworkspace.json +++ b/prowler/compliance/googleworkspace/cis_1.3_googleworkspace.json @@ -98,7 +98,9 @@ { "Id": "3.1.1.1.1", "Description": "Ensure external sharing options for primary calendars are configured", - "Checks": [], + "Checks": [ + "calendar_external_sharing_primary_calendar" + ], "Attributes": [ { "Section": "3 Apps", @@ -140,7 +142,9 @@ { "Id": "3.1.1.1.3", "Description": "Ensure external invitation warnings for Google Calendar are configured", - "Checks": [], + "Checks": [ + "calendar_external_invitations_warning" + ], "Attributes": [ { "Section": "3 Apps", @@ -161,7 +165,9 @@ { "Id": "3.1.1.2.1", "Description": "Ensure external sharing options for secondary calendars are configured", - "Checks": [], + "Checks": [ + "calendar_external_sharing_secondary_calendar" + ], "Attributes": [ { "Section": "3 Apps", diff --git a/prowler/compliance/googleworkspace/cisa_scuba_0.6_googleworkspace.json b/prowler/compliance/googleworkspace/cisa_scuba_0.6_googleworkspace.json index 17c2b88b2c..e81f4c70a3 100644 --- a/prowler/compliance/googleworkspace/cisa_scuba_0.6_googleworkspace.json +++ b/prowler/compliance/googleworkspace/cisa_scuba_0.6_googleworkspace.json @@ -1310,7 +1310,9 @@ { "Id": "GWS.CALENDAR.1.1", "Description": "External Sharing Options for Primary Calendars SHALL be configured to Only free/busy information (hide event details)", - "Checks": [], + "Checks": [ + "calendar_external_sharing_primary_calendar" + ], "Attributes": [ { "Section": "Calendar", @@ -1323,7 +1325,9 @@ { "Id": "GWS.CALENDAR.1.2", "Description": "External sharing options for secondary calendars SHALL be configured to Only free/busy information (hide event details)", - "Checks": [], + "Checks": [ + "calendar_external_sharing_secondary_calendar" + ], "Attributes": [ { "Section": "Calendar", @@ -1336,7 +1340,9 @@ { "Id": "GWS.CALENDAR.2.1", "Description": "External invitations warnings SHALL be enabled to prompt users before sending invitations", - "Checks": [], + "Checks": [ + "calendar_external_invitations_warning" + ], "Attributes": [ { "Section": "Calendar", diff --git a/prowler/providers/googleworkspace/googleworkspace_provider.py b/prowler/providers/googleworkspace/googleworkspace_provider.py index 549831a2fb..563078f1e3 100644 --- a/prowler/providers/googleworkspace/googleworkspace_provider.py +++ b/prowler/providers/googleworkspace/googleworkspace_provider.py @@ -59,11 +59,13 @@ class GoogleworkspaceProvider(Provider): _mutelist: GoogleWorkspaceMutelist audit_metadata: Audit_Metadata - # Google Workspace Admin SDK OAuth2 scopes - DIRECTORY_SCOPES = [ + # Google Workspace OAuth2 scopes + SCOPES = [ "https://www.googleapis.com/auth/admin.directory.user.readonly", "https://www.googleapis.com/auth/admin.directory.domain.readonly", "https://www.googleapis.com/auth/admin.directory.customer.readonly", + # Cloud Identity Policy API (calendar and other app policies) + "https://www.googleapis.com/auth/cloud-identity.policies.readonly", "https://www.googleapis.com/auth/admin.directory.rolemanagement.readonly", ] @@ -215,7 +217,7 @@ class GoogleworkspaceProvider(Provider): try: credentials = service_account.Credentials.from_service_account_file( credentials_file, - scopes=GoogleworkspaceProvider.DIRECTORY_SCOPES, + scopes=GoogleworkspaceProvider.SCOPES, ) except FileNotFoundError as error: raise GoogleWorkspaceInvalidCredentialsError( @@ -242,7 +244,7 @@ class GoogleworkspaceProvider(Provider): try: credentials = service_account.Credentials.from_service_account_info( credentials_data, - scopes=GoogleworkspaceProvider.DIRECTORY_SCOPES, + scopes=GoogleworkspaceProvider.SCOPES, ) except ValueError as error: raise GoogleWorkspaceInvalidCredentialsError( @@ -265,7 +267,7 @@ class GoogleworkspaceProvider(Provider): try: credentials = service_account.Credentials.from_service_account_file( env_file, - scopes=GoogleworkspaceProvider.DIRECTORY_SCOPES, + scopes=GoogleworkspaceProvider.SCOPES, ) except FileNotFoundError as error: raise GoogleWorkspaceInvalidCredentialsError( @@ -294,7 +296,7 @@ class GoogleworkspaceProvider(Provider): try: credentials = service_account.Credentials.from_service_account_info( credentials_data, - scopes=GoogleworkspaceProvider.DIRECTORY_SCOPES, + scopes=GoogleworkspaceProvider.SCOPES, ) except ValueError as error: raise GoogleWorkspaceInvalidCredentialsError( @@ -415,7 +417,7 @@ class GoogleworkspaceProvider(Provider): ) # Fetch all domains (primary + aliases) to support domain aliases - # The scope admin.directory.domain.readonly is already in DIRECTORY_SCOPES + # The scope admin.directory.domain.readonly is already in SCOPES above try: domains_response = service.domains().list(customer="my_customer").execute() valid_domains = [ diff --git a/prowler/providers/googleworkspace/services/calendar/__init__.py b/prowler/providers/googleworkspace/services/calendar/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/prowler/providers/googleworkspace/services/calendar/calendar_client.py b/prowler/providers/googleworkspace/services/calendar/calendar_client.py new file mode 100644 index 0000000000..9162bb3207 --- /dev/null +++ b/prowler/providers/googleworkspace/services/calendar/calendar_client.py @@ -0,0 +1,6 @@ +from prowler.providers.common.provider import Provider +from prowler.providers.googleworkspace.services.calendar.calendar_service import ( + Calendar, +) + +calendar_client = Calendar(Provider.get_global_provider()) diff --git a/prowler/providers/googleworkspace/services/calendar/calendar_external_invitations_warning/__init__.py b/prowler/providers/googleworkspace/services/calendar/calendar_external_invitations_warning/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/prowler/providers/googleworkspace/services/calendar/calendar_external_invitations_warning/calendar_external_invitations_warning.metadata.json b/prowler/providers/googleworkspace/services/calendar/calendar_external_invitations_warning/calendar_external_invitations_warning.metadata.json new file mode 100644 index 0000000000..3a47f981d0 --- /dev/null +++ b/prowler/providers/googleworkspace/services/calendar/calendar_external_invitations_warning/calendar_external_invitations_warning.metadata.json @@ -0,0 +1,41 @@ +{ + "Provider": "googleworkspace", + "CheckID": "calendar_external_invitations_warning", + "CheckTitle": "External invitation warnings are enabled for Google Calendar", + "CheckType": [], + "ServiceName": "calendar", + "SubServiceName": "", + "ResourceIdTemplate": "", + "Severity": "medium", + "ResourceType": "NotDefined", + "ResourceGroup": "collaboration", + "Description": "Google Calendar **warns users** when they invite guests from outside the organization to an event. This prompt gives users a chance to reconsider before sharing meeting details with external parties, reducing the likelihood of **accidental information disclosure** through calendar invitations.", + "Risk": "Without external invitation warnings, users may unintentionally include **external guests** in internal meetings, exposing **confidential meeting details**, agendas, and internal attendee lists to unauthorized parties. This is a common vector for inadvertent data leakage through everyday calendar actions.", + "RelatedUrl": "", + "AdditionalURLs": [ + "https://support.google.com/a/answer/6329284", + "https://knowledge.workspace.google.com/admin/calendar/set-google-calendar-sharing-options", + "https://cloud.google.com/identity/docs/concepts/supported-policy-api-settings" + ], + "Remediation": { + "Code": { + "CLI": "", + "NativeIaC": "", + "Other": "1. Sign in to the Google **Admin console** at https://admin.google.com\n2. Navigate to **Apps** > **Google Workspace** > **Calendar**\n3. Click **Sharing settings**\n4. Under **External invitations**, check **Warn users when inviting guests outside of the domain**\n5. Click **Save**", + "Terraform": "" + }, + "Recommendation": { + "Text": "Enable external invitation warnings so users are notified whenever a meeting invitation includes guests outside the organization. This simple prompt helps prevent accidental disclosure of meeting details to unintended recipients.", + "Url": "https://hub.prowler.com/check/calendar_external_invitations_warning" + } + }, + "Categories": [ + "internet-exposed" + ], + "DependsOn": [], + "RelatedTo": [ + "calendar_external_sharing_primary_calendar", + "calendar_external_sharing_secondary_calendar" + ], + "Notes": "" +} diff --git a/prowler/providers/googleworkspace/services/calendar/calendar_external_invitations_warning/calendar_external_invitations_warning.py b/prowler/providers/googleworkspace/services/calendar/calendar_external_invitations_warning/calendar_external_invitations_warning.py new file mode 100644 index 0000000000..7af51cbfba --- /dev/null +++ b/prowler/providers/googleworkspace/services/calendar/calendar_external_invitations_warning/calendar_external_invitations_warning.py @@ -0,0 +1,56 @@ +from typing import List + +from prowler.lib.check.models import Check, CheckReportGoogleWorkspace +from prowler.providers.googleworkspace.services.calendar.calendar_client import ( + calendar_client, +) + + +class calendar_external_invitations_warning(Check): + """Check that external invitation warnings are enabled for Google Calendar + + This check verifies that the domain-level policy warns users when they + invite guests from outside the organization, reducing the risk of accidental + information disclosure through calendar events. + """ + + def execute(self) -> List[CheckReportGoogleWorkspace]: + findings = [] + + if calendar_client.policies_fetched: + report = CheckReportGoogleWorkspace( + metadata=self.metadata(), + resource=calendar_client.provider.identity, + resource_name=calendar_client.provider.identity.domain, + resource_id=calendar_client.provider.identity.customer_id, + customer_id=calendar_client.provider.identity.customer_id, + location="global", + ) + + warning_enabled = calendar_client.policies.external_invitations_warning + + if warning_enabled is True: + report.status = "PASS" + report.status_extended = ( + f"External invitation warnings for Google Calendar are enabled " + f"in domain {calendar_client.provider.identity.domain}." + ) + else: + report.status = "FAIL" + if warning_enabled is None: + report.status_extended = ( + f"External invitation warnings for Google Calendar are not " + f"explicitly configured in domain " + f"{calendar_client.provider.identity.domain}. " + f"Users should be warned when inviting guests outside the organization." + ) + else: + report.status_extended = ( + f"External invitation warnings for Google Calendar are disabled " + f"in domain {calendar_client.provider.identity.domain}. " + f"Users should be warned when inviting guests outside the organization." + ) + + findings.append(report) + + return findings diff --git a/prowler/providers/googleworkspace/services/calendar/calendar_external_sharing_primary_calendar/__init__.py b/prowler/providers/googleworkspace/services/calendar/calendar_external_sharing_primary_calendar/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/prowler/providers/googleworkspace/services/calendar/calendar_external_sharing_primary_calendar/calendar_external_sharing_primary_calendar.metadata.json b/prowler/providers/googleworkspace/services/calendar/calendar_external_sharing_primary_calendar/calendar_external_sharing_primary_calendar.metadata.json new file mode 100644 index 0000000000..536e8413f2 --- /dev/null +++ b/prowler/providers/googleworkspace/services/calendar/calendar_external_sharing_primary_calendar/calendar_external_sharing_primary_calendar.metadata.json @@ -0,0 +1,41 @@ +{ + "Provider": "googleworkspace", + "CheckID": "calendar_external_sharing_primary_calendar", + "CheckTitle": "External sharing for primary calendars is restricted to free/busy only", + "CheckType": [], + "ServiceName": "calendar", + "SubServiceName": "", + "ResourceIdTemplate": "", + "Severity": "medium", + "ResourceType": "NotDefined", + "ResourceGroup": "collaboration", + "Description": "Primary calendars in the Google Workspace domain share **only free/busy information** with external users. When external sharing is set to share full event details, sensitive information such as meeting titles, attendees, locations, and descriptions is exposed to users outside the organization.", + "Risk": "Overly permissive external sharing of primary calendars exposes **sensitive meeting metadata** — titles, attendees, locations, and descriptions — to users outside the organization. This increases the risk of **information disclosure**, **social engineering**, and **targeted phishing** based on insights into organizational activities.", + "RelatedUrl": "", + "AdditionalURLs": [ + "https://support.google.com/a/answer/60765", + "https://knowledge.workspace.google.com/admin/calendar/set-google-calendar-sharing-options", + "https://cloud.google.com/identity/docs/concepts/supported-policy-api-settings" + ], + "Remediation": { + "Code": { + "CLI": "", + "NativeIaC": "", + "Other": "1. Sign in to the Google **Admin console** at https://admin.google.com\n2. Navigate to **Apps** > **Google Workspace** > **Calendar**\n3. Click **Sharing settings**\n4. Under **External sharing options for primary calendars**, select **Only free/busy information (hide event details)**\n5. Click **Save**", + "Terraform": "" + }, + "Recommendation": { + "Text": "Restrict external sharing of primary calendars to free/busy information only. This preserves scheduling functionality with external users while preventing exposure of sensitive meeting details.", + "Url": "https://hub.prowler.com/check/calendar_external_sharing_primary_calendar" + } + }, + "Categories": [ + "internet-exposed" + ], + "DependsOn": [], + "RelatedTo": [ + "calendar_external_sharing_secondary_calendar", + "calendar_external_invitations_warning" + ], + "Notes": "" +} diff --git a/prowler/providers/googleworkspace/services/calendar/calendar_external_sharing_primary_calendar/calendar_external_sharing_primary_calendar.py b/prowler/providers/googleworkspace/services/calendar/calendar_external_sharing_primary_calendar/calendar_external_sharing_primary_calendar.py new file mode 100644 index 0000000000..b019acf4de --- /dev/null +++ b/prowler/providers/googleworkspace/services/calendar/calendar_external_sharing_primary_calendar/calendar_external_sharing_primary_calendar.py @@ -0,0 +1,56 @@ +from typing import List + +from prowler.lib.check.models import Check, CheckReportGoogleWorkspace +from prowler.providers.googleworkspace.services.calendar.calendar_client import ( + calendar_client, +) + + +class calendar_external_sharing_primary_calendar(Check): + """Check that external sharing for primary calendars is restricted to free/busy only + + This check verifies that the domain-level policy for primary calendar external + sharing is set to share only free/busy information, preventing exposure of + event details to external users. + """ + + def execute(self) -> List[CheckReportGoogleWorkspace]: + findings = [] + + if calendar_client.policies_fetched: + report = CheckReportGoogleWorkspace( + metadata=self.metadata(), + resource=calendar_client.provider.identity, + resource_name=calendar_client.provider.identity.domain, + resource_id=calendar_client.provider.identity.customer_id, + customer_id=calendar_client.provider.identity.customer_id, + location="global", + ) + + sharing = calendar_client.policies.primary_calendar_external_sharing + + if sharing == "EXTERNAL_FREE_BUSY_ONLY": + report.status = "PASS" + report.status_extended = ( + f"Primary calendar external sharing in domain " + f"{calendar_client.provider.identity.domain} is restricted to " + f"free/busy information only." + ) + else: + report.status = "FAIL" + if sharing is None: + report.status_extended = ( + f"Primary calendar external sharing is not explicitly configured " + f"in domain {calendar_client.provider.identity.domain}. " + f"External sharing should be restricted to free/busy information only." + ) + else: + report.status_extended = ( + f"Primary calendar external sharing in domain " + f"{calendar_client.provider.identity.domain} is set to {sharing}. " + f"External sharing should be restricted to free/busy information only." + ) + + findings.append(report) + + return findings diff --git a/prowler/providers/googleworkspace/services/calendar/calendar_external_sharing_secondary_calendar/__init__.py b/prowler/providers/googleworkspace/services/calendar/calendar_external_sharing_secondary_calendar/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/prowler/providers/googleworkspace/services/calendar/calendar_external_sharing_secondary_calendar/calendar_external_sharing_secondary_calendar.metadata.json b/prowler/providers/googleworkspace/services/calendar/calendar_external_sharing_secondary_calendar/calendar_external_sharing_secondary_calendar.metadata.json new file mode 100644 index 0000000000..1dadf4965c --- /dev/null +++ b/prowler/providers/googleworkspace/services/calendar/calendar_external_sharing_secondary_calendar/calendar_external_sharing_secondary_calendar.metadata.json @@ -0,0 +1,41 @@ +{ + "Provider": "googleworkspace", + "CheckID": "calendar_external_sharing_secondary_calendar", + "CheckTitle": "External sharing for secondary calendars is restricted to free/busy only", + "CheckType": [], + "ServiceName": "calendar", + "SubServiceName": "", + "ResourceIdTemplate": "", + "Severity": "medium", + "ResourceType": "NotDefined", + "ResourceGroup": "collaboration", + "Description": "Secondary calendars in the Google Workspace domain share **only free/busy information** with external users. Secondary calendars are additional calendars users create beyond their primary calendar (e.g., for projects, teams, or personal events), and are commonly used to organize sensitive or focused activities that should not be visible to external parties.", + "Risk": "Overly permissive external sharing of secondary calendars exposes **project-specific or team-specific event details** to users outside the organization. Because secondary calendars often hold more targeted activities (e.g., product launches, internal reviews), unrestricted external sharing increases the risk of **information disclosure** and **competitive intelligence leakage**.", + "RelatedUrl": "", + "AdditionalURLs": [ + "https://support.google.com/a/answer/60765", + "https://knowledge.workspace.google.com/admin/calendar/set-google-calendar-sharing-options", + "https://cloud.google.com/identity/docs/concepts/supported-policy-api-settings" + ], + "Remediation": { + "Code": { + "CLI": "", + "NativeIaC": "", + "Other": "1. Sign in to the Google **Admin console** at https://admin.google.com\n2. Navigate to **Apps** > **Google Workspace** > **Calendar**\n3. Click **Sharing settings**\n4. Under **External sharing options for secondary calendars**, select **Only free/busy information (hide event details)**\n5. Click **Save**", + "Terraform": "" + }, + "Recommendation": { + "Text": "Restrict external sharing of secondary calendars to free/busy information only. This preserves scheduling interoperability with external collaborators while preventing exposure of sensitive event details in user-created calendars.", + "Url": "https://hub.prowler.com/check/calendar_external_sharing_secondary_calendar" + } + }, + "Categories": [ + "internet-exposed" + ], + "DependsOn": [], + "RelatedTo": [ + "calendar_external_sharing_primary_calendar", + "calendar_external_invitations_warning" + ], + "Notes": "" +} diff --git a/prowler/providers/googleworkspace/services/calendar/calendar_external_sharing_secondary_calendar/calendar_external_sharing_secondary_calendar.py b/prowler/providers/googleworkspace/services/calendar/calendar_external_sharing_secondary_calendar/calendar_external_sharing_secondary_calendar.py new file mode 100644 index 0000000000..f7a418b48e --- /dev/null +++ b/prowler/providers/googleworkspace/services/calendar/calendar_external_sharing_secondary_calendar/calendar_external_sharing_secondary_calendar.py @@ -0,0 +1,56 @@ +from typing import List + +from prowler.lib.check.models import Check, CheckReportGoogleWorkspace +from prowler.providers.googleworkspace.services.calendar.calendar_client import ( + calendar_client, +) + + +class calendar_external_sharing_secondary_calendar(Check): + """Check that external sharing for secondary calendars is restricted to free/busy only + + This check verifies that the domain-level policy for secondary calendar external + sharing is set to share only free/busy information, preventing exposure of + event details in user-created calendars to external users. + """ + + def execute(self) -> List[CheckReportGoogleWorkspace]: + findings = [] + + if calendar_client.policies_fetched: + report = CheckReportGoogleWorkspace( + metadata=self.metadata(), + resource=calendar_client.provider.identity, + resource_name=calendar_client.provider.identity.domain, + resource_id=calendar_client.provider.identity.customer_id, + customer_id=calendar_client.provider.identity.customer_id, + location="global", + ) + + sharing = calendar_client.policies.secondary_calendar_external_sharing + + if sharing == "EXTERNAL_FREE_BUSY_ONLY": + report.status = "PASS" + report.status_extended = ( + f"Secondary calendar external sharing in domain " + f"{calendar_client.provider.identity.domain} is restricted to " + f"free/busy information only." + ) + else: + report.status = "FAIL" + if sharing is None: + report.status_extended = ( + f"Secondary calendar external sharing is not explicitly configured " + f"in domain {calendar_client.provider.identity.domain}. " + f"External sharing should be restricted to free/busy information only." + ) + else: + report.status_extended = ( + f"Secondary calendar external sharing in domain " + f"{calendar_client.provider.identity.domain} is set to {sharing}. " + f"External sharing should be restricted to free/busy information only." + ) + + findings.append(report) + + return findings diff --git a/prowler/providers/googleworkspace/services/calendar/calendar_service.py b/prowler/providers/googleworkspace/services/calendar/calendar_service.py new file mode 100644 index 0000000000..ae71c0fdf1 --- /dev/null +++ b/prowler/providers/googleworkspace/services/calendar/calendar_service.py @@ -0,0 +1,112 @@ +from typing import Optional + +from pydantic import BaseModel + +from prowler.lib.logger import logger +from prowler.providers.googleworkspace.lib.service.service import GoogleWorkspaceService + + +class Calendar(GoogleWorkspaceService): + """Google Workspace Calendar service for auditing domain-level calendar policies. + + Uses the Cloud Identity Policy API v1 to read calendar sharing + and invitation settings configured in the Admin Console. + """ + + def __init__(self, provider): + super().__init__(provider) + self.policies = CalendarPolicies() + self.policies_fetched = False + self._fetch_calendar_policies() + + def _fetch_calendar_policies(self): + """Fetch calendar policies from the Cloud Identity Policy API v1.""" + logger.info("Calendar - Fetching calendar policies...") + + try: + service = self._build_service("cloudidentity", "v1") + + if not service: + logger.error("Failed to build Cloud Identity service") + return + + request = service.policies().list(pageSize=100) + fetch_succeeded = True + + while request is not None: + try: + response = request.execute() + + for policy in response.get("policies", []): + setting = policy.get("setting", {}) + setting_type = setting.get("type", "").removeprefix("settings/") + value = setting.get("value", {}) + + if ( + setting_type + == "calendar.primary_calendar_max_allowed_external_sharing" + ): + self.policies.primary_calendar_external_sharing = value.get( + "maxAllowedExternalSharing" + ) + logger.debug( + "Primary calendar external sharing: " + f"{self.policies.primary_calendar_external_sharing}" + ) + + elif ( + setting_type + == "calendar.secondary_calendar_max_allowed_external_sharing" + ): + self.policies.secondary_calendar_external_sharing = ( + value.get("maxAllowedExternalSharing") + ) + logger.debug( + "Secondary calendar external sharing: " + f"{self.policies.secondary_calendar_external_sharing}" + ) + + elif setting_type == "calendar.external_invitations": + self.policies.external_invitations_warning = value.get( + "warnOnInvite" + ) + logger.debug( + "External invitations warning: " + f"{self.policies.external_invitations_warning}" + ) + + request = service.policies().list_next(request, response) + + except Exception as error: + self._handle_api_error( + error, + "fetching calendar policies", + self.provider.identity.customer_id, + ) + fetch_succeeded = False + break + + self.policies_fetched = fetch_succeeded + + logger.info( + f"Calendar policies fetched - " + f"Primary sharing: {self.policies.primary_calendar_external_sharing}, " + f"Secondary sharing: {self.policies.secondary_calendar_external_sharing}, " + f"Invitation warnings: {self.policies.external_invitations_warning}" + ) + + except Exception as error: + self._handle_api_error( + error, + "fetching calendar policies", + self.provider.identity.customer_id, + ) + self.policies_fetched = False + + +class CalendarPolicies(BaseModel): + """Model for domain-level Calendar policy settings.""" + + primary_calendar_external_sharing: Optional[str] = None + secondary_calendar_external_sharing: Optional[str] = None + external_invitations_warning: Optional[bool] = None diff --git a/tests/providers/googleworkspace/services/calendar/calendar_external_invitations_warning/calendar_external_invitations_warning_test.py b/tests/providers/googleworkspace/services/calendar/calendar_external_invitations_warning/calendar_external_invitations_warning_test.py new file mode 100644 index 0000000000..f367d5938d --- /dev/null +++ b/tests/providers/googleworkspace/services/calendar/calendar_external_invitations_warning/calendar_external_invitations_warning_test.py @@ -0,0 +1,130 @@ +from unittest.mock import patch + +from prowler.providers.googleworkspace.services.calendar.calendar_service import ( + CalendarPolicies, +) +from tests.providers.googleworkspace.googleworkspace_fixtures import ( + CUSTOMER_ID, + DOMAIN, + set_mocked_googleworkspace_provider, +) + + +class TestCalendarExternalInvitationsWarning: + def test_pass_warnings_enabled(self): + """Test PASS when external invitation warnings are enabled""" + mock_provider = set_mocked_googleworkspace_provider() + + with ( + patch( + "prowler.providers.common.provider.Provider.get_global_provider", + return_value=mock_provider, + ), + patch( + "prowler.providers.googleworkspace.services.calendar.calendar_external_invitations_warning.calendar_external_invitations_warning.calendar_client" + ) as mock_calendar_client, + ): + from prowler.providers.googleworkspace.services.calendar.calendar_external_invitations_warning.calendar_external_invitations_warning import ( + calendar_external_invitations_warning, + ) + + mock_calendar_client.provider = mock_provider + mock_calendar_client.policies_fetched = True + mock_calendar_client.policies = CalendarPolicies( + external_invitations_warning=True + ) + + check = calendar_external_invitations_warning() + findings = check.execute() + + assert len(findings) == 1 + assert findings[0].status == "PASS" + assert "enabled" in findings[0].status_extended + assert findings[0].resource_name == DOMAIN + assert findings[0].customer_id == CUSTOMER_ID + + def test_fail_warnings_disabled(self): + """Test FAIL when external invitation warnings are disabled""" + mock_provider = set_mocked_googleworkspace_provider() + + with ( + patch( + "prowler.providers.common.provider.Provider.get_global_provider", + return_value=mock_provider, + ), + patch( + "prowler.providers.googleworkspace.services.calendar.calendar_external_invitations_warning.calendar_external_invitations_warning.calendar_client" + ) as mock_calendar_client, + ): + from prowler.providers.googleworkspace.services.calendar.calendar_external_invitations_warning.calendar_external_invitations_warning import ( + calendar_external_invitations_warning, + ) + + mock_calendar_client.provider = mock_provider + mock_calendar_client.policies_fetched = True + mock_calendar_client.policies = CalendarPolicies( + external_invitations_warning=False + ) + + check = calendar_external_invitations_warning() + findings = check.execute() + + assert len(findings) == 1 + assert findings[0].status == "FAIL" + assert "disabled" in findings[0].status_extended + + def test_fail_no_policy_set(self): + """Test FAIL when no explicit policy is set (None) but fetch succeeded""" + mock_provider = set_mocked_googleworkspace_provider() + + with ( + patch( + "prowler.providers.common.provider.Provider.get_global_provider", + return_value=mock_provider, + ), + patch( + "prowler.providers.googleworkspace.services.calendar.calendar_external_invitations_warning.calendar_external_invitations_warning.calendar_client" + ) as mock_calendar_client, + ): + from prowler.providers.googleworkspace.services.calendar.calendar_external_invitations_warning.calendar_external_invitations_warning import ( + calendar_external_invitations_warning, + ) + + mock_calendar_client.provider = mock_provider + mock_calendar_client.policies_fetched = True + mock_calendar_client.policies = CalendarPolicies( + external_invitations_warning=None + ) + + check = calendar_external_invitations_warning() + findings = check.execute() + + assert len(findings) == 1 + assert findings[0].status == "FAIL" + assert "not explicitly configured" in findings[0].status_extended + + def test_no_findings_when_fetch_failed(self): + """Test no findings returned when the API fetch failed""" + mock_provider = set_mocked_googleworkspace_provider() + + with ( + patch( + "prowler.providers.common.provider.Provider.get_global_provider", + return_value=mock_provider, + ), + patch( + "prowler.providers.googleworkspace.services.calendar.calendar_external_invitations_warning.calendar_external_invitations_warning.calendar_client" + ) as mock_calendar_client, + ): + from prowler.providers.googleworkspace.services.calendar.calendar_external_invitations_warning.calendar_external_invitations_warning import ( + calendar_external_invitations_warning, + ) + + mock_calendar_client.provider = mock_provider + mock_calendar_client.policies_fetched = False + mock_calendar_client.policies = CalendarPolicies() + + check = calendar_external_invitations_warning() + findings = check.execute() + + assert len(findings) == 0 diff --git a/tests/providers/googleworkspace/services/calendar/calendar_external_sharing_primary_calendar/calendar_external_sharing_primary_calendar_test.py b/tests/providers/googleworkspace/services/calendar/calendar_external_sharing_primary_calendar/calendar_external_sharing_primary_calendar_test.py new file mode 100644 index 0000000000..32056e9fcb --- /dev/null +++ b/tests/providers/googleworkspace/services/calendar/calendar_external_sharing_primary_calendar/calendar_external_sharing_primary_calendar_test.py @@ -0,0 +1,161 @@ +from unittest.mock import patch + +from prowler.providers.googleworkspace.services.calendar.calendar_service import ( + CalendarPolicies, +) +from tests.providers.googleworkspace.googleworkspace_fixtures import ( + CUSTOMER_ID, + DOMAIN, + set_mocked_googleworkspace_provider, +) + + +class TestCalendarExternalSharingPrimaryCalendar: + def test_pass_free_busy_only(self): + """Test PASS when external sharing is restricted to free/busy only""" + mock_provider = set_mocked_googleworkspace_provider() + + with ( + patch( + "prowler.providers.common.provider.Provider.get_global_provider", + return_value=mock_provider, + ), + patch( + "prowler.providers.googleworkspace.services.calendar.calendar_external_sharing_primary_calendar.calendar_external_sharing_primary_calendar.calendar_client" + ) as mock_calendar_client, + ): + from prowler.providers.googleworkspace.services.calendar.calendar_external_sharing_primary_calendar.calendar_external_sharing_primary_calendar import ( + calendar_external_sharing_primary_calendar, + ) + + mock_calendar_client.provider = mock_provider + mock_calendar_client.policies_fetched = True + mock_calendar_client.policies = CalendarPolicies( + primary_calendar_external_sharing="EXTERNAL_FREE_BUSY_ONLY" + ) + + check = calendar_external_sharing_primary_calendar() + findings = check.execute() + + assert len(findings) == 1 + assert findings[0].status == "PASS" + assert "free/busy information only" in findings[0].status_extended + assert findings[0].resource_name == DOMAIN + assert findings[0].customer_id == CUSTOMER_ID + + def test_fail_read_only(self): + """Test FAIL when external sharing allows read-only access""" + mock_provider = set_mocked_googleworkspace_provider() + + with ( + patch( + "prowler.providers.common.provider.Provider.get_global_provider", + return_value=mock_provider, + ), + patch( + "prowler.providers.googleworkspace.services.calendar.calendar_external_sharing_primary_calendar.calendar_external_sharing_primary_calendar.calendar_client" + ) as mock_calendar_client, + ): + from prowler.providers.googleworkspace.services.calendar.calendar_external_sharing_primary_calendar.calendar_external_sharing_primary_calendar import ( + calendar_external_sharing_primary_calendar, + ) + + mock_calendar_client.provider = mock_provider + mock_calendar_client.policies_fetched = True + mock_calendar_client.policies = CalendarPolicies( + primary_calendar_external_sharing="EXTERNAL_ALL_INFO_READ_ONLY" + ) + + check = calendar_external_sharing_primary_calendar() + findings = check.execute() + + assert len(findings) == 1 + assert findings[0].status == "FAIL" + assert "EXTERNAL_ALL_INFO_READ_ONLY" in findings[0].status_extended + assert "free/busy information only" in findings[0].status_extended + + def test_fail_read_write(self): + """Test FAIL when external sharing allows read-write access""" + mock_provider = set_mocked_googleworkspace_provider() + + with ( + patch( + "prowler.providers.common.provider.Provider.get_global_provider", + return_value=mock_provider, + ), + patch( + "prowler.providers.googleworkspace.services.calendar.calendar_external_sharing_primary_calendar.calendar_external_sharing_primary_calendar.calendar_client" + ) as mock_calendar_client, + ): + from prowler.providers.googleworkspace.services.calendar.calendar_external_sharing_primary_calendar.calendar_external_sharing_primary_calendar import ( + calendar_external_sharing_primary_calendar, + ) + + mock_calendar_client.provider = mock_provider + mock_calendar_client.policies_fetched = True + mock_calendar_client.policies = CalendarPolicies( + primary_calendar_external_sharing="EXTERNAL_ALL_INFO_READ_WRITE" + ) + + check = calendar_external_sharing_primary_calendar() + findings = check.execute() + + assert len(findings) == 1 + assert findings[0].status == "FAIL" + assert "EXTERNAL_ALL_INFO_READ_WRITE" in findings[0].status_extended + + def test_fail_no_policy_set(self): + """Test FAIL when no explicit policy is set (None) but fetch succeeded""" + mock_provider = set_mocked_googleworkspace_provider() + + with ( + patch( + "prowler.providers.common.provider.Provider.get_global_provider", + return_value=mock_provider, + ), + patch( + "prowler.providers.googleworkspace.services.calendar.calendar_external_sharing_primary_calendar.calendar_external_sharing_primary_calendar.calendar_client" + ) as mock_calendar_client, + ): + from prowler.providers.googleworkspace.services.calendar.calendar_external_sharing_primary_calendar.calendar_external_sharing_primary_calendar import ( + calendar_external_sharing_primary_calendar, + ) + + mock_calendar_client.provider = mock_provider + mock_calendar_client.policies_fetched = True + mock_calendar_client.policies = CalendarPolicies( + primary_calendar_external_sharing=None + ) + + check = calendar_external_sharing_primary_calendar() + findings = check.execute() + + assert len(findings) == 1 + assert findings[0].status == "FAIL" + assert "not explicitly configured" in findings[0].status_extended + + def test_no_findings_when_fetch_failed(self): + """Test no findings returned when the API fetch failed""" + mock_provider = set_mocked_googleworkspace_provider() + + with ( + patch( + "prowler.providers.common.provider.Provider.get_global_provider", + return_value=mock_provider, + ), + patch( + "prowler.providers.googleworkspace.services.calendar.calendar_external_sharing_primary_calendar.calendar_external_sharing_primary_calendar.calendar_client" + ) as mock_calendar_client, + ): + from prowler.providers.googleworkspace.services.calendar.calendar_external_sharing_primary_calendar.calendar_external_sharing_primary_calendar import ( + calendar_external_sharing_primary_calendar, + ) + + mock_calendar_client.provider = mock_provider + mock_calendar_client.policies_fetched = False + mock_calendar_client.policies = CalendarPolicies() + + check = calendar_external_sharing_primary_calendar() + findings = check.execute() + + assert len(findings) == 0 diff --git a/tests/providers/googleworkspace/services/calendar/calendar_external_sharing_secondary_calendar/calendar_external_sharing_secondary_calendar_test.py b/tests/providers/googleworkspace/services/calendar/calendar_external_sharing_secondary_calendar/calendar_external_sharing_secondary_calendar_test.py new file mode 100644 index 0000000000..800f9ab5f0 --- /dev/null +++ b/tests/providers/googleworkspace/services/calendar/calendar_external_sharing_secondary_calendar/calendar_external_sharing_secondary_calendar_test.py @@ -0,0 +1,161 @@ +from unittest.mock import patch + +from prowler.providers.googleworkspace.services.calendar.calendar_service import ( + CalendarPolicies, +) +from tests.providers.googleworkspace.googleworkspace_fixtures import ( + CUSTOMER_ID, + DOMAIN, + set_mocked_googleworkspace_provider, +) + + +class TestCalendarExternalSharingSecondaryCalendar: + def test_pass_free_busy_only(self): + """Test PASS when external sharing is restricted to free/busy only""" + mock_provider = set_mocked_googleworkspace_provider() + + with ( + patch( + "prowler.providers.common.provider.Provider.get_global_provider", + return_value=mock_provider, + ), + patch( + "prowler.providers.googleworkspace.services.calendar.calendar_external_sharing_secondary_calendar.calendar_external_sharing_secondary_calendar.calendar_client" + ) as mock_calendar_client, + ): + from prowler.providers.googleworkspace.services.calendar.calendar_external_sharing_secondary_calendar.calendar_external_sharing_secondary_calendar import ( + calendar_external_sharing_secondary_calendar, + ) + + mock_calendar_client.provider = mock_provider + mock_calendar_client.policies_fetched = True + mock_calendar_client.policies = CalendarPolicies( + secondary_calendar_external_sharing="EXTERNAL_FREE_BUSY_ONLY" + ) + + check = calendar_external_sharing_secondary_calendar() + findings = check.execute() + + assert len(findings) == 1 + assert findings[0].status == "PASS" + assert "free/busy information only" in findings[0].status_extended + assert findings[0].resource_name == DOMAIN + assert findings[0].customer_id == CUSTOMER_ID + + def test_fail_read_only(self): + """Test FAIL when external sharing allows read-only access""" + mock_provider = set_mocked_googleworkspace_provider() + + with ( + patch( + "prowler.providers.common.provider.Provider.get_global_provider", + return_value=mock_provider, + ), + patch( + "prowler.providers.googleworkspace.services.calendar.calendar_external_sharing_secondary_calendar.calendar_external_sharing_secondary_calendar.calendar_client" + ) as mock_calendar_client, + ): + from prowler.providers.googleworkspace.services.calendar.calendar_external_sharing_secondary_calendar.calendar_external_sharing_secondary_calendar import ( + calendar_external_sharing_secondary_calendar, + ) + + mock_calendar_client.provider = mock_provider + mock_calendar_client.policies_fetched = True + mock_calendar_client.policies = CalendarPolicies( + secondary_calendar_external_sharing="EXTERNAL_ALL_INFO_READ_ONLY" + ) + + check = calendar_external_sharing_secondary_calendar() + findings = check.execute() + + assert len(findings) == 1 + assert findings[0].status == "FAIL" + assert "EXTERNAL_ALL_INFO_READ_ONLY" in findings[0].status_extended + assert "free/busy information only" in findings[0].status_extended + + def test_fail_read_write_manage(self): + """Test FAIL when external sharing allows read-write-manage access""" + mock_provider = set_mocked_googleworkspace_provider() + + with ( + patch( + "prowler.providers.common.provider.Provider.get_global_provider", + return_value=mock_provider, + ), + patch( + "prowler.providers.googleworkspace.services.calendar.calendar_external_sharing_secondary_calendar.calendar_external_sharing_secondary_calendar.calendar_client" + ) as mock_calendar_client, + ): + from prowler.providers.googleworkspace.services.calendar.calendar_external_sharing_secondary_calendar.calendar_external_sharing_secondary_calendar import ( + calendar_external_sharing_secondary_calendar, + ) + + mock_calendar_client.provider = mock_provider + mock_calendar_client.policies_fetched = True + mock_calendar_client.policies = CalendarPolicies( + secondary_calendar_external_sharing="EXTERNAL_ALL_INFO_READ_WRITE_MANAGE" + ) + + check = calendar_external_sharing_secondary_calendar() + findings = check.execute() + + assert len(findings) == 1 + assert findings[0].status == "FAIL" + assert "EXTERNAL_ALL_INFO_READ_WRITE_MANAGE" in findings[0].status_extended + + def test_fail_no_policy_set(self): + """Test FAIL when no explicit policy is set (None) but fetch succeeded""" + mock_provider = set_mocked_googleworkspace_provider() + + with ( + patch( + "prowler.providers.common.provider.Provider.get_global_provider", + return_value=mock_provider, + ), + patch( + "prowler.providers.googleworkspace.services.calendar.calendar_external_sharing_secondary_calendar.calendar_external_sharing_secondary_calendar.calendar_client" + ) as mock_calendar_client, + ): + from prowler.providers.googleworkspace.services.calendar.calendar_external_sharing_secondary_calendar.calendar_external_sharing_secondary_calendar import ( + calendar_external_sharing_secondary_calendar, + ) + + mock_calendar_client.provider = mock_provider + mock_calendar_client.policies_fetched = True + mock_calendar_client.policies = CalendarPolicies( + secondary_calendar_external_sharing=None + ) + + check = calendar_external_sharing_secondary_calendar() + findings = check.execute() + + assert len(findings) == 1 + assert findings[0].status == "FAIL" + assert "not explicitly configured" in findings[0].status_extended + + def test_no_findings_when_fetch_failed(self): + """Test no findings returned when the API fetch failed""" + mock_provider = set_mocked_googleworkspace_provider() + + with ( + patch( + "prowler.providers.common.provider.Provider.get_global_provider", + return_value=mock_provider, + ), + patch( + "prowler.providers.googleworkspace.services.calendar.calendar_external_sharing_secondary_calendar.calendar_external_sharing_secondary_calendar.calendar_client" + ) as mock_calendar_client, + ): + from prowler.providers.googleworkspace.services.calendar.calendar_external_sharing_secondary_calendar.calendar_external_sharing_secondary_calendar import ( + calendar_external_sharing_secondary_calendar, + ) + + mock_calendar_client.provider = mock_provider + mock_calendar_client.policies_fetched = False + mock_calendar_client.policies = CalendarPolicies() + + check = calendar_external_sharing_secondary_calendar() + findings = check.execute() + + assert len(findings) == 0 diff --git a/tests/providers/googleworkspace/services/calendar/calendar_service_test.py b/tests/providers/googleworkspace/services/calendar/calendar_service_test.py new file mode 100644 index 0000000000..1491f839fb --- /dev/null +++ b/tests/providers/googleworkspace/services/calendar/calendar_service_test.py @@ -0,0 +1,231 @@ +from unittest.mock import MagicMock, patch + +from tests.providers.googleworkspace.googleworkspace_fixtures import ( + set_mocked_googleworkspace_provider, +) + + +class TestCalendarService: + def test_calendar_fetch_policies_all_settings(self): + """Test fetching all 3 calendar policy settings from Cloud Identity API""" + mock_provider = set_mocked_googleworkspace_provider() + mock_provider.audit_config = {} + mock_provider.fixer_config = {} + mock_credentials = MagicMock() + mock_session = MagicMock() + mock_session.credentials = mock_credentials + mock_provider.session = mock_session + + mock_service = MagicMock() + mock_policies_list = MagicMock() + # Mock the actual Cloud Identity Policy API v1 response shape: + # - "type" (not "name"), prefixed with "settings/" + # - inner value field names are camelCase + mock_policies_list.execute.return_value = { + "policies": [ + { + "setting": { + "type": "settings/calendar.primary_calendar_max_allowed_external_sharing", + "value": { + "maxAllowedExternalSharing": "EXTERNAL_FREE_BUSY_ONLY" + }, + } + }, + { + "setting": { + "type": "settings/calendar.secondary_calendar_max_allowed_external_sharing", + "value": { + "maxAllowedExternalSharing": "EXTERNAL_ALL_INFO_READ_ONLY" + }, + } + }, + { + "setting": { + "type": "settings/calendar.external_invitations", + "value": {"warnOnInvite": True}, + } + }, + ] + } + mock_service.policies().list.return_value = mock_policies_list + mock_service.policies().list_next.return_value = None + + with ( + patch( + "prowler.providers.common.provider.Provider.get_global_provider", + return_value=mock_provider, + ), + patch( + "prowler.providers.googleworkspace.services.calendar.calendar_service.GoogleWorkspaceService._build_service", + return_value=mock_service, + ), + ): + from prowler.providers.googleworkspace.services.calendar.calendar_service import ( + Calendar, + ) + + calendar = Calendar(mock_provider) + + assert calendar.policies_fetched is True + assert ( + calendar.policies.primary_calendar_external_sharing + == "EXTERNAL_FREE_BUSY_ONLY" + ) + assert ( + calendar.policies.secondary_calendar_external_sharing + == "EXTERNAL_ALL_INFO_READ_ONLY" + ) + assert calendar.policies.external_invitations_warning is True + + def test_calendar_fetch_policies_empty_response(self): + """Test handling empty policies response""" + mock_provider = set_mocked_googleworkspace_provider() + mock_provider.audit_config = {} + mock_provider.fixer_config = {} + mock_session = MagicMock() + mock_session.credentials = MagicMock() + mock_provider.session = mock_session + + mock_service = MagicMock() + mock_policies_list = MagicMock() + mock_policies_list.execute.return_value = {"policies": []} + mock_service.policies().list.return_value = mock_policies_list + mock_service.policies().list_next.return_value = None + + with ( + patch( + "prowler.providers.common.provider.Provider.get_global_provider", + return_value=mock_provider, + ), + patch( + "prowler.providers.googleworkspace.services.calendar.calendar_service.GoogleWorkspaceService._build_service", + return_value=mock_service, + ), + ): + from prowler.providers.googleworkspace.services.calendar.calendar_service import ( + Calendar, + ) + + calendar = Calendar(mock_provider) + + assert calendar.policies_fetched is True + assert calendar.policies.primary_calendar_external_sharing is None + assert calendar.policies.secondary_calendar_external_sharing is None + assert calendar.policies.external_invitations_warning is None + + def test_calendar_fetch_policies_api_error(self): + """Test handling of API errors during policy fetch""" + mock_provider = set_mocked_googleworkspace_provider() + mock_provider.audit_config = {} + mock_provider.fixer_config = {} + mock_session = MagicMock() + mock_session.credentials = MagicMock() + mock_provider.session = mock_session + + mock_service = MagicMock() + mock_service.policies().list.side_effect = Exception("API Error") + + with ( + patch( + "prowler.providers.common.provider.Provider.get_global_provider", + return_value=mock_provider, + ), + patch( + "prowler.providers.googleworkspace.services.calendar.calendar_service.GoogleWorkspaceService._build_service", + return_value=mock_service, + ), + ): + from prowler.providers.googleworkspace.services.calendar.calendar_service import ( + Calendar, + ) + + calendar = Calendar(mock_provider) + + assert calendar.policies_fetched is False + assert calendar.policies.primary_calendar_external_sharing is None + assert calendar.policies.secondary_calendar_external_sharing is None + assert calendar.policies.external_invitations_warning is None + + def test_calendar_fetch_policies_build_service_returns_none(self): + """Test early return when _build_service fails to construct the client""" + mock_provider = set_mocked_googleworkspace_provider() + mock_provider.audit_config = {} + mock_provider.fixer_config = {} + mock_session = MagicMock() + mock_session.credentials = MagicMock() + mock_provider.session = mock_session + + with ( + patch( + "prowler.providers.common.provider.Provider.get_global_provider", + return_value=mock_provider, + ), + patch( + "prowler.providers.googleworkspace.services.calendar.calendar_service.GoogleWorkspaceService._build_service", + return_value=None, + ), + ): + from prowler.providers.googleworkspace.services.calendar.calendar_service import ( + Calendar, + ) + + calendar = Calendar(mock_provider) + + assert calendar.policies_fetched is False + assert calendar.policies.primary_calendar_external_sharing is None + assert calendar.policies.secondary_calendar_external_sharing is None + assert calendar.policies.external_invitations_warning is None + + def test_calendar_fetch_policies_execute_raises(self): + """Test inner except handler when request.execute() raises during pagination""" + mock_provider = set_mocked_googleworkspace_provider() + mock_provider.audit_config = {} + mock_provider.fixer_config = {} + mock_session = MagicMock() + mock_session.credentials = MagicMock() + mock_provider.session = mock_session + + mock_service = MagicMock() + mock_request = MagicMock() + mock_request.execute.side_effect = Exception("Execute failed") + mock_service.policies().list.return_value = mock_request + + with ( + patch( + "prowler.providers.common.provider.Provider.get_global_provider", + return_value=mock_provider, + ), + patch( + "prowler.providers.googleworkspace.services.calendar.calendar_service.GoogleWorkspaceService._build_service", + return_value=mock_service, + ), + ): + from prowler.providers.googleworkspace.services.calendar.calendar_service import ( + Calendar, + ) + + calendar = Calendar(mock_provider) + + assert calendar.policies_fetched is False + assert calendar.policies.primary_calendar_external_sharing is None + assert calendar.policies.secondary_calendar_external_sharing is None + assert calendar.policies.external_invitations_warning is None + + def test_calendar_policies_model(self): + """Test CalendarPolicies Pydantic model""" + from prowler.providers.googleworkspace.services.calendar.calendar_service import ( + CalendarPolicies, + ) + + policies = CalendarPolicies( + primary_calendar_external_sharing="EXTERNAL_FREE_BUSY_ONLY", + secondary_calendar_external_sharing="EXTERNAL_ALL_INFO_READ_WRITE", + external_invitations_warning=True, + ) + + assert policies.primary_calendar_external_sharing == "EXTERNAL_FREE_BUSY_ONLY" + assert ( + policies.secondary_calendar_external_sharing + == "EXTERNAL_ALL_INFO_READ_WRITE" + ) + assert policies.external_invitations_warning is True