Pull ECR image
Can pull and read images from an ECR repository.
Grants escalation only in combination. All of these are needed together:
ecr:BatchGetImageecr:GetDownloadUrlForLayerecr:BatchGetImage can pull and read images from an ECR repository, but only when it is held together with ecr:GetDownloadUrlForLayer. Held together they reach the data itself.
Why it is dangerous
A principal can pull images from the repository (ecr:BatchGetImage + ecr:GetDownloadUrlForLayer), verified against both the principal's identity policy and the repository's repository policy. Container images frequently bake in credentials, tokens and source, pulling one is data/secret exfiltration.
In MITRE ATT&CK terms this maps to T1530, Data from Cloud Storage, under the collection tactic. AWS records it in CloudTrail as BatchGetImage, GetDownloadUrlForLayer. The call is quiet against normal activity, so it is easy to miss without a rule for it.
Detection
BatchGetImageGetDownloadUrlForLayerPrerequisites
ecr:BatchGetImage + ecr:GetDownloadUrlForLayer on the repo (from identity OR the repo policy); ecr:GetAuthorizationToken (account-level).
MITRE ATT&CK
T1530 · Data from Cloud StorageTactic
Collection
A control that would remove it: Scope ecr:BatchGetImage / ecr:GetDownloadUrlForLayer and the repository policy.
Whether to apply it depends on how the permission is used in your environment, so it is a business decision rather than an automatic fix. The same permission can be load-bearing in one account and pure risk in another.
Pathbreak confirms whether this path resolves in your account, ranks it against the others by how much it opens up, and uses your threat model and business context to show which paths are worth cutting.
Questions
What does ecr:BatchGetImage allow?
Can pull and read images from an ECR repository.
What else is needed for ecr:BatchGetImage to be dangerous?
It becomes an escalation only when held together with ecr:GetDownloadUrlForLayer. On its own it is not enough, which is what makes the combination easy to miss.
How is pull ECR image detected?
Watch for BatchGetImage, GetDownloadUrlForLayer in CloudTrail. The call is quiet against normal activity, so it is easy to miss without a rule for it.
How do you break this path?
A control that would remove it is: Scope ecr:BatchGetImage / ecr:GetDownloadUrlForLayer and the repository policy. Whether to apply it depends on how the permission is used in your account, so it is a business decision rather than an automatic fix.
Which MITRE ATT&CK technique is this?
T1530, Data from Cloud Storage, under the collection tactic.
Related paths
References
Find this in your own account
We run a read-only scan of one AWS account and show you which of these paths exist, ranked by blast radius, with the change that breaks each one. First validated paths within the hour.