diff --git a/prowler/providers/aws/services/codeartifact/codeartifact_packages_external_public_publishing_disabled/codeartifact_packages_external_public_publishing_disabled.py b/prowler/providers/aws/services/codeartifact/codeartifact_packages_external_public_publishing_disabled/codeartifact_packages_external_public_publishing_disabled.py index aa7f3d6b..db5d85de 100644 --- a/prowler/providers/aws/services/codeartifact/codeartifact_packages_external_public_publishing_disabled/codeartifact_packages_external_public_publishing_disabled.py +++ b/prowler/providers/aws/services/codeartifact/codeartifact_packages_external_public_publishing_disabled/codeartifact_packages_external_public_publishing_disabled.py @@ -16,7 +16,7 @@ class codeartifact_packages_external_public_publishing_disabled(Check): report = Check_Report_AWS(self.metadata()) report.region = repository.region report.resource_id = package.name - report.resource_arn = repository.arn + report.resource_arn = f"{repository.arn}/{package.namespace + ':' if package.namespace else ''}{package.name}" report.resource_tags = repository.tags if package.latest_version.origin.origin_type in ( diff --git a/prowler/providers/aws/services/codeartifact/codeartifact_service.py b/prowler/providers/aws/services/codeartifact/codeartifact_service.py index 8581e3f1..d0d6a657 100644 --- a/prowler/providers/aws/services/codeartifact/codeartifact_service.py +++ b/prowler/providers/aws/services/codeartifact/codeartifact_service.py @@ -63,7 +63,7 @@ class CodeArtifact(AWSService): list_packages_parameters = { "domain": self.repositories[repository].domain_name, "domainOwner": self.repositories[repository].domain_owner, - "repository": repository, + "repository": self.repositories[repository].name, } packages = [] for page in list_packages_paginator.paginate( @@ -83,18 +83,37 @@ class CodeArtifact(AWSService): ] ) # Get Latest Package Version - latest_version_information = ( - regional_client.list_package_versions( - domain=self.repositories[repository].domain_name, - domainOwner=self.repositories[ - repository - ].domain_owner, - repository=repository, - format=package_format, - package=package_name, - sortBy="PUBLISHED_TIME", + if package_namespace: + latest_version_information = ( + regional_client.list_package_versions( + domain=self.repositories[ + repository + ].domain_name, + domainOwner=self.repositories[ + repository + ].domain_owner, + repository=self.repositories[repository].name, + format=package_format, + namespace=package_namespace, + package=package_name, + sortBy="PUBLISHED_TIME", + ) + ) + else: + latest_version_information = ( + regional_client.list_package_versions( + domain=self.repositories[ + repository + ].domain_name, + domainOwner=self.repositories[ + repository + ].domain_owner, + repository=self.repositories[repository].name, + format=package_format, + package=package_name, + sortBy="PUBLISHED_TIME", + ) ) - ) latest_version = "" latest_origin_type = "UNKNOWN" latest_status = "Published" diff --git a/tests/providers/aws/services/codeartifact/codeartifact_packages_external_public_publishing_disabled/codeartifact_packages_external_public_publishing_disabled_test.py b/tests/providers/aws/services/codeartifact/codeartifact_packages_external_public_publishing_disabled/codeartifact_packages_external_public_publishing_disabled_test.py index bcbe13e7..668f00e0 100644 --- a/tests/providers/aws/services/codeartifact/codeartifact_packages_external_public_publishing_disabled/codeartifact_packages_external_public_publishing_disabled_test.py +++ b/tests/providers/aws/services/codeartifact/codeartifact_packages_external_public_publishing_disabled/codeartifact_packages_external_public_publishing_disabled_test.py @@ -110,7 +110,10 @@ class Test_codeartifact_packages_external_public_publishing_disabled: assert len(result) == 1 assert result[0].region == AWS_REGION assert result[0].resource_id == "test-package" - assert result[0].resource_arn == repository_arn + assert ( + result[0].resource_arn + == repository_arn + "/" + package_namespace + ":" + package_name + ) assert result[0].resource_tags == [] assert result[0].status == "FAIL" assert ( @@ -167,7 +170,10 @@ class Test_codeartifact_packages_external_public_publishing_disabled: assert len(result) == 1 assert result[0].region == AWS_REGION assert result[0].resource_id == "test-package" - assert result[0].resource_arn == repository_arn + assert ( + result[0].resource_arn + == repository_arn + "/" + package_namespace + ":" + package_name + ) assert result[0].resource_tags == [] assert result[0].status == "PASS" assert (