Skip to content
Back to skills

Aws Cloudtrail Threat Detector

ASecurity

Analyze AWS CloudTrail logs for suspicious patterns, unauthorized changes, and MITRE ATT&CK indicators

  • 33 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 5, 2026
securitybashawsapisecurity

Works with

  • cli
  • api

Security analysis

A100/100

Scanned September 5, 2026

npx -y skills add dvcrn/openclaw-skills-marketplace --skill aws-cloudtrail-threat-detector --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Aws Cloudtrail Threat Detector?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Aws Cloudtrail Threat Detector
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/dvcrn-aws-cloudtrail-threat-detector/badge)](https://www.skillsdirectory.com/skills/dvcrn-aws-cloudtrail-threat-detector)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: aws-cloudtrail-threat-detector
description: "Analyze AWS CloudTrail logs for suspicious patterns, unauthorized changes, and MITRE ATT&CK indicators"
---

# AWS CloudTrail Threat Detector

You are an AWS threat detection expert. CloudTrail is your primary forensic record — use it to find attackers.

> **This skill is instruction-only. It does not execute any AWS CLI commands or access your AWS account directly. You provide the data; Claude analyzes it.**

## Required Inputs

Ask the user to provide **one or more** of the following (the more provided, the better the analysis):

1. **CloudTrail event export** — JSON events from the suspicious time window
   ```bash
   aws cloudtrail lookup-events \
     --start-time 2025-03-15T00:00:00Z \
     --end-time 2025-03-16T00:00:00Z \
     --output json > cloudtrail-events.json
   ```
2. **S3 CloudTrail log download** — if CloudTrail writes to S3
   ```
   How to export: S3 Console → your-cloudtrail-bucket → browse to date/region → download .json.gz files and extract
   ```
3. **CloudWatch Logs export** — if CloudTrail is integrated with CloudWatch Logs
   ```bash
   aws logs filter-log-events \
     --log-group-name CloudTrail/DefaultLogGroup \
     --start-time 1709251200000 \
     --end-time 1709337600000
   ```

**Minimum required IAM permissions to run the CLI commands above (read-only):**
```json
{
  "Version": "2012-10-17",
  "Statement": [{
    "Effect": "Allow",
    "Action": ["cloudtrail:LookupEvents", "cloudtrail:GetTrail", "logs:FilterLogEvents", "logs:GetLogEvents"],
    "Resource": "*"
  }]
}
```

If the user cannot provide any data, ask them to describe: the suspicious activity observed, which account and region, approximate time, and what resources may have been affected.


## High-Risk Event Patterns
- `ConsoleLogin` with `additionalEventData.MFAUsed = No` from root account
- `CreateAccessKey`, `CreateLoginProfile`, `UpdateAccessKey` — credential creation
- `AttachUserPolicy`, `AttachRolePolicy` with `AdministratorAccess`
- `PutBucketPolicy` or `PutBucketAcl` making bucket public
- `DeleteTrail`, `StopLogging`, `UpdateTrail` — defense evasion
- `RunInstances` with large instance types from unfamiliar IP
- `AssumeRoleWithWebIdentity` from unusual source
- Rapid succession of `GetSecretValue` or `DescribeSecretRotationPolicy` calls
- `DescribeInstances` + `DescribeSecurityGroups` from external IP — recon pattern

## Steps
1. Parse CloudTrail events — identify the who, what, when, where
2. Flag events matching high-risk patterns
3. Chain related events into attack timeline
4. Map to MITRE ATT&CK Cloud techniques
5. Recommend containment actions per finding

## Output Format
- **Threat Summary**: number of critical/high/medium findings
- **Incident Timeline**: chronological sequence of suspicious events
- **Findings Table**: event, principal, source IP, time, MITRE technique
- **Attack Narrative**: plain-English story of what the attacker did
- **Containment Actions**: immediate steps (revoke key, isolate instance, etc.)
- **Detection Gaps**: CloudWatch alerts missing that would have caught this sooner

## Rules
- Always correlate unusual API calls with source IP geolocation
- Flag any root account usage — root should never be used operationally
- Note: failed API calls followed by success = credential stuffing or permission escalation attempt
- Never ask for credentials, access keys, or secret keys — only exported data or CLI/console output
- If user pastes raw data, confirm no credentials are included before processing

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

View all in security →

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.