By mccabe615
Agent-led AWS cloud red team tool. Wraps Pacu, CloudFox, enumerate-iam, and aws-consoler to automate cloud penetration testing.
Agent-led AWS cloud red team tool. A Claude Code plugin that autonomously validates leaked credentials, enumerates permissions, identifies attack paths, and demonstrates impact — all within the rules of your engagement.
Cloudy orchestrates four security tools through MCP tool servers, with Claude as the decision engine:
pip install pacupip install enumerate-iam# Clone the repo
git clone [email protected]:mccabe615/cloudy.git
cd cloudy
# Install Python dependencies
pip install -e .
# Install as a Claude Code plugin
claude plugin add ./
Copy the example and edit for your engagement:
cp templates/engagement.yaml.example engagement.yaml
engagement:
name: "acme-corp-2026-q2"
target_account: "123456789012"
credentials:
source: "environment" # environment | profile | explicit
# profile: "pentest-acme" # uncomment if source is "profile"
scope:
regions: ["us-east-1", "us-west-2"] # or ["all"]
services: ["iam", "s3", "lambda", "ec2", "sts", "secretsmanager"]
aggression: "create-and-cleanup" # read-only | create-and-cleanup | create-and-leave
mode: "interactive" # interactive | autonomous
guardrails:
max_actions_per_minute: 10
excluded_resources: []
require_approval:
- "iam:CreateUser"
- "iam:CreateAccessKey"
- "lambda:CreateFunction"
# Option A: Environment variables
export AWS_ACCESS_KEY_ID="AKIA..."
export AWS_SECRET_ACCESS_KEY="..."
export AWS_SESSION_TOKEN="..." # if using temporary creds
# Option B: AWS CLI profile (set source to "profile" in engagement.yaml)
aws configure --profile pentest-acme
# Launch Claude Code and invoke the skill
claude
# Then in Claude Code:
/cloudy engagement.yaml
Cloudy will:
sts get-caller-identityreport/ with executive summary, evidence, and cleanup manifestmode: "interactive") — pauses before every mutating action, explains what it will do and why, waits for your approvalmode: "autonomous") — runs end-to-end, only pauses for actions listed in guardrails.require_approval| Level | Behavior |
|---|---|
read-only | Enumerate and report only. No mutations. Proves "I could have done X" without doing it. |
create-and-cleanup | Creates artifacts (IAM users, keys, roles) to prove impact, then automatically reverts everything. |
create-and-leave | Creates artifacts and leaves them as evidence. Generates a cleanup manifest for the client. |
After a run, Cloudy generates a report/ directory:
report/
engagement-summary.md # Narrative report for the client
findings.json # Machine-readable findings
manifest.json # Every action taken with reversal commands
evidence/ # Permission maps, attack path data
# Install with dev dependencies
pip install -e ".[dev]"
# Run tests
python -m pytest tests/ -v
Cloudy is designed for authorized penetration testing engagements only. Always obtain proper authorization before testing. The operator is responsible for ensuring all testing is conducted within the scope of their engagement agreement.
Admin access level
Server config contains admin-level keywords
Requires secrets
Needs API keys or credentials to function
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
npx claudepluginhub mccabe615/cloudy --plugin cloudy20 SEO/GEO skills and 5 commands on one shared contract for keyword research, content creation, technical audits, schema markup, monitoring, quality gates, entity truth, and campaign memory.