Check ID:
Provider: AWS
Service:
Severity: CRITICAL
Categories:
Resource type:
cloudtrail_threat_detection_llm_jackingProvider: AWS
Service:
cloudtrailSeverity: CRITICAL
Categories:
threat-detection, gen-aiResource type:
AwsCloudTrailTrailWhat this check verifies
CloudTrail Bedrock activity is analyzed per identity for a high diversity of LLM-related API calls (e.g.,InvokeModel, InvokeModelWithResponseStream, GetFoundationModelAvailability). If an identity’s share of these actions exceeds a configured threshold over a recent window, it is surfaced as potential LLM-jacking behavior.
Risk
Such patterns suggest stolen credential abuse to drive LLM usage.- Availability: cost exhaustion and service disruption
- Confidentiality: leakage of prompts/outputs and model settings
- Integrity: misuse of permissions for broader access Attackers may use reverse proxies to resell access and obfuscate sources.
Recommendation
Apply least privilege to Bedrock; restrictInvoke* only to required roles and deny broadly via SCPs where unused. Enforce MFA and short-lived creds; rotate/remove exposed keys. Enable model invocation logging and budgets/quotas. Continuously monitor for Bedrock enumeration plus invoke bursts. Use defense in depth across identities and networks.
Remediation
- Terraform
- Native IaC
- Dashboard steps
References
- https://furkangungor.medium.com/automating-anomaly-detection-in-aws-cloudtrail-logs-4efb2ad9b958
- https://help.sumologic.com/docs/integrations/amazon-aws/amazon-bedrock/
- https://dzone.com/articles/ai-powered-aws-cloudtrail-analysis-strands-agent-bedrock
Where this check fires
This check runs on every scheduled scan against your AWS account. Findings appear at Cloud Security → Findings filterable byCheck ID = cloudtrail_threat_detection_llm_jacking. 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