agentic/code/frameworks/forensics-complete/skills/cloud-forensics/SKILL.md
AWS, Azure, and GCP forensic investigation covering audit logs, IAM review, storage access, network flows, and compute instance forensics
npx skillsauth add jmagly/aiwg cloud-forensicsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Investigates cloud environments for signs of compromise, data exfiltration, privilege escalation, and persistence. Parameterized by cloud provider. Adapts collection procedures to AWS CloudTrail, Azure Monitor/Activity Log, and GCP Cloud Audit Logs. Maps findings to MITRE ATT&CK Cloud techniques.
Alternate expressions and non-obvious activations (primary phrases are matched automatically from the skill description):
Cloud forensics requires provider-specific tooling and log sources. An AWS investigation centers on CloudTrail and GuardDuty; Azure on Activity Logs and Defender for Cloud; GCP on Cloud Audit Logs and Security Command Center. This skill selects the appropriate collection path and produces a consistent findings document regardless of provider.
When triggered, this skill:
Identify cloud provider and configure access:
aws sts get-caller-identity — record account ID, ARN, and user IDaz account show — record subscription ID, tenant ID, and principalgcloud auth list and gcloud config get-value projectAWS — CloudTrail audit log collection:
aws cloudtrail describe-trailsaws cloudtrail lookup-events --max-results 1000CreateUser, AttachUserPolicy, PutRolePolicy, AssumeRole, GetSecretValue, DeleteTrail, StopLogging, PutBucketPolicyAWS — IAM review:
aws iam list-users + aws iam list-access-keysAdministratorAccess managed policy* in Principalaws iam generate-credential-report && aws iam get-credential-reportAWS — storage and data access:
aws s3api get-public-access-block --bucket <name>Azure — Activity Log collection:
az monitor activity-log list --start-time <ISO8601> --end-time <ISO8601>az security alert listAzure — IAM (RBAC) review:
az role assignment list --include-classic-administratorsGCP — Cloud Audit Log collection:
gcloud logging read 'logName:"cloudaudit.googleapis.com/activity"' --limit=1000SetIamPolicy, CreateServiceAccountKey, ActAs, signBlob, bucket ACL changesgcloud scc findings list <organization_id>GCP — IAM review:
gcloud projects get-iam-policy <project>Compute instance forensics (all providers):
Network flow log review:
Write findings document:
.aiwg/forensics/findings/cloud-<provider>-forensics.mdaws investigation
Uses the currently configured AWS CLI profile.
gcp forensics --project my-project-id
azure forensics --subscription 00000000-0000-0000-0000-000000000000
.aiwg/forensics/findings/cloud-<provider>-forensics.md.aiwg/forensics/evidence/cloud-<provider>-iam.json.aiwg/forensics/evidence/cloud-<provider>-audit.jsoncloud_forensics:
investigation_window_hours: 72
high_risk_aws_events:
- CreateUser
- AttachUserPolicy
- PutRolePolicy
- DeleteTrail
- StopLogging
- GetSecretValue
key_age_threshold_days: 90
flag_public_instances: true
data-ai
Report which research-corpus radar sidecars are overdue for refresh. Computes staleness (days since last refresh vs the cadence window) for every radar, sorted most-overdue-first. Runs via `aiwg corpus radar-status`.
data-ai
Aggregate research-corpus radar sidecars into a corpus or per-cluster freshness report — totals, overdue count, per-cluster / per-GRADE / per-trajectory breakdowns, an overdue table, and per-radar rationale snippets. Runs via `aiwg corpus radar-report`.
testing
Scaffold radar/freshness sidecars for research-corpus REFs. Pulls title/authors from the citation sidecar and GRADE from the analysis doc, defaults the refresh cadence from GRADE and the cluster from a corpus-local map, and stamps documentation/radar/REF-XXX-radar.md. Runs via `aiwg corpus radar-init`.
data-ai
Compute an entity's publication trajectory — per-year paper counts, topic drift, hot-streak detection (≥3 consecutive A-grade years), and career phase. Runs via `aiwg corpus profile-temporal`.