AWS IAM Credentials Added to a Bedrock API Key Phantom User
Identifies standard IAM credentials being added to an Amazon Bedrock API key phantom user, whose user name starts with "BedrockAPIKey-": either a long-term access key (CreateAccessKey) or a console password / login…
Description
Identifies standard IAM credentials being added to an Amazon Bedrock API key phantom user, whose user name starts with "BedrockAPIKey-": either a long-term access key (CreateAccessKey) or a console password / login profile (CreateLoginProfile, UpdateLoginProfile). When a long-term Bedrock API key is generated through the AWS Console, AWS silently provisions a "BedrockAPIKey-<id>" IAM user with the AmazonBedrockLimitedAccess managed policy. That user is intended only to back a Bedrock bearer token and should never hold standard programmatic keys or interactive console access. Adding either converts a Bedrock-scoped identity into general-purpose IAM credentials that inherit the policy's Bedrock control-plane and IAM, VPC, and KMS reconnaissance permissions and that persist after the Bedrock API key is revoked. This is the privilege-escalation and persistence pivot documented for Bedrock API key phantom users, and there is no legitimate workflow that produces it.
Detection logic
Its licence does not clear it for publishing here
Sunturai publishes a detection's own text where the licence it arrived under has been reviewed and permits it, and Elastic License 2.0 has not. The query as its source wrote it, its canonical form and the hash that pins this revision are in the workspace record.
Detection requirements
- Platform
- ContainersESXiIaaSIdentity ProviderLinuxmacOSNetwork DevicesOffice SuiteSaaSWindows
The rule states no platform. This is derived from the ATT&CK technique it maps to.
Known benign triggers
- There is no known legitimate workflow that adds IAM access keys or console login profiles to a Bedrock API key phantom user. Any match should be investigated. Confirm the actor in "aws.cloudtrail.user_identity.arn" and the target user in "aws.cloudtrail.request_parameters", and remove the credential if it was not expected.
MITRE ATT&CK mappings
0 exclusive techniques.This is coverage no other published rule has; it is not this rule's total technique count.
References
| Reference | Cited by |
|---|---|
| docs.aws.amazon.com/bedrock/latest/userguide/api-keys.html | 3 |
| www.beyondtrust.com/blog/entry/aws-bedrock-security-api-keys | 3 |
| www.beyondtrust.com/blog/entry/aws-bedrock-security-guide-api-keys-detection-response | 4 |
From the source
- At source
- Open at source
- Upstream identifier
- 71159cad-f8b3-4b3c-ac6e-9cab05594670
- Tagged by the source as
- Mitre Atlas: AML.T0012Data Source: Amazon BedrockData Source: Amazon Web ServicesData Source: AWSData Source: AWS BedrockData Source: AWS IAMDomain: CloudDomain: GenAINoise: UnknownPerformance: FastPlatform: AWSProfile: RecommendedResources: Investigation GuideRule Type: ES|QLService: AWS BedrockService: AWS IAMTactic: PersistenceTactic: Privilege EscalationThreat: Unauthorized AI UsageUse Case: Threat Detection
Licence
- Published under
- Elastic License 2.0Read the licence
- Attribution
- Required
Authorship
- Written by
- Published
- Oct 2, 2026
- Version
- 4