From 6d44eea11cd3305e6f065ef3bd7fdca4d54d4637 Mon Sep 17 00:00:00 2001 From: Sergio Garcia <38561120+sergargar@users.noreply.github.com> Date: Tue, 27 Feb 2024 17:16:44 +0100 Subject: [PATCH] fix(ecr): check if ECR Repository Policies does not exist (#3451) --- .../providers/aws/services/ecr/ecr_service.py | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/prowler/providers/aws/services/ecr/ecr_service.py b/prowler/providers/aws/services/ecr/ecr_service.py index 00bd72bd..1a7a1cd2 100644 --- a/prowler/providers/aws/services/ecr/ecr_service.py +++ b/prowler/providers/aws/services/ecr/ecr_service.py @@ -70,11 +70,20 @@ class ECR(AWSService): if regional_client.region in self.registries: for repository in self.registries[regional_client.region].repositories: client = self.regional_clients[repository.region] - policy = client.get_repository_policy( - repositoryName=repository.name - ) - if "policyText" in policy: - repository.policy = loads(policy["policyText"]) + try: + policy = client.get_repository_policy( + repositoryName=repository.name + ) + if "policyText" in policy: + repository.policy = loads(policy["policyText"]) + except ClientError as error: + if ( + error.response["Error"]["Code"] + == "RepositoryPolicyNotFoundException" + ): + logger.warning( + f"{regional_client.region} -- {error.__class__.__name__}[{error.__traceback__.tb_lineno}]: {error}" + ) except Exception as error: if "RepositoryPolicyNotFoundException" not in str(error):