prowler-cloud/prowler
View on GitHub[New Check]: Bedrock agent execution roles follow least privilege
Open
#11011 opened on May 5, 2026
feature-requestgood first issuenew-checkprovider/aws
Description
Existing check search
- I have searched existing issues, Prowler Hub, and the public roadmap, and this check does not already exist.
Provider
AWS
New provider name
No response
Service or product area
bedrock
Suggested check name
bedrock_agent_role_least_privilege
Context and goal
- Security condition to validate: Bedrock Agent execution roles (agentResourceRoleArn) follow least privilege — no full-access managed policies, no Resource: "*" wildcards, a permissions boundary set, and VPC condition keys when applicable.
- Why it matters: A permissive agent execution role turns prompt injection into privilege escalation — the agent can be steered into any action the role allows.
- Resource involved: Bedrock Agent → IAM execution role (attached/inline policies, permissions boundary, condition keys).
Expected behavior
- Resource or scope to evaluate: Each Bedrock Agent's execution role.
- PASS when: no full-access managed policy, no Allow + Resource: "*" with broad actions, a permissions boundary is set, and VPC conditions are present when the role acts on VPC resources.
- FAIL when: any of the above is violated.
References
- AWS docs: https://docs.aws.amazon.com/bedrock/latest/userguide/agents-permissions.html
- API: bedrock-agent:GetAgent (returns agentResourceRoleArn); iam:ListAttachedRolePolicies, iam:ListRolePolicies, iam:GetRolePolicy, iam:GetRole.
- CLI: aws bedrock-agent get-agent --agent-id ; aws iam list-attached-role-policies --role-name .
- Reference implementation: check_bedrock_agent_roles in https://github.com/aws-samples/sample-aiml-security-assessment
Suggested severity
High
Additional implementation notes
No response