Check ID:
Provider: AWS
Service:
Severity: HIGH
Categories:
Resource type:
s3_bucket_shadow_resource_vulnerabilityProvider: AWS
Service:
s3Severity: HIGH
Categories:
trust-boundariesResource type:
AwsS3BucketWhat this check verifies
Amazon S3 buckets using predictable service naming (e.g.,aws-glue-assets-<account>-<region>, sagemaker-<region>-<account>) are identified and their ownership checked.
Buckets tied to your account that match these patterns but are owned by another account-across regions-are surfaced as shadow-resource candidates.
Risk
Preclaimed buckets matching your account’s patterns let outsiders intercept service artifacts, causing:- Loss of confidentiality (templates, data exfiltration)
- Compromised integrity (script/config injection RCE, privilege escalation)
- Reduced availability (creation failures or redirected writes)
Recommendation
Apply defense in depth:- Preprovision and own required service buckets in all current and planned regions
- Enforce least privilege so services write only to approved bucket names/ARNs
- Use non-guessable names where you control naming
- Monitor for look-alike buckets and separate duties for bucket creation vs. use
Remediation
- Terraform
- Native IaC
- Dashboard steps
References
- https://www.techtarget.com/searchsecurity/news/366602412/Researchers-unveil-AWS-vulnerabilities-shadow-resource-vector
- https://www.aquasec.com/blog/bucket-monopoly-breaching-aws-accounts-through-shadow-resources/#section-10
Where this check fires
This check runs on every scheduled scan against your AWS account. Findings appear at Cloud Security → Findings filterable byCheck ID = s3_bucket_shadow_resource_vulnerability. To re-evaluate after a fix, hit Run now on the account’s schedule under Cloud Security → Schedules — the next scan re-checks this control and marks the finding fixed or keeps it persistent.
← Back to AWS checks