smithery/wgpsec

Redc-useage

Multi-cloud red team infrastructure automation. Deploy and manage cloud resources across AWS, Aliyun, Tencent Cloud with Terraform. Includes commands for init, deploy, manage, execute, and cleanup of infrastructure cases.

Installation

$ npx skills add smithery/wgpsec --skill redc-useage
More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 4,472 B
  • docs SUMMARY.md 240 B

History

  1. First recorded snapshot · 0 installs

SKILL.md

Redc Skills - AI Operations Guide

Multi-cloud red team infrastructure automation tool built on Terraform.

Quick Reference

Config: ~/redc/config.yaml | Templates: ~/redc/redc-templates/ | Docs: https://github.com/wgpsec/redc

Configuration

providers:
  aws:
    AWS_ACCESS_KEY_ID: "KEY"
    AWS_SECRET_ACCESS_KEY: "SECRET"
    region: "us-east-1"
  aliyun:
    ALICLOUD_ACCESS_KEY: "KEY"
    ALICLOUD_SECRET_KEY: "SECRET"
    region: "cn-hangzhou"
  tencentcloud:
    TENCENTCLOUD_SECRET_ID: "ID"
    TENCENTCLOUD_SECRET_KEY: "KEY"
    region: "ap-guangzhou"

Env vars: Set AWSACCESSKEYID, ALICLOUDACCESSKEY, TENCENTCLOUDSECRET_ID, etc. if config.yaml unavailable.

Global Flags

Flag Default Description
--config ~/redc/config.yaml Config file path
-u, --user system User identifier
--project default Project name
--debug false Debug mode

Commands

Setup

redc init                           # Initialize templates
redc pull <image>                   # Download template (e.g., aliyun/ecs)
redc image ls                       # List local templates

Deploy

redc run <template> -n <name> -e key=val    # Plan & start (create infrastructure)
redc plan <template> -n <name>              # Plan only (preview without creating)
redc start <case-id>                        # Start case (create infrastructure)

Manage

redc ps                             # List all cases
redc status <case-id>               # Check status
redc stop <case-id>                 # Stop infrastructure
redc kill <case-id>                 # Stop & remove
redc rm <case-id>                   # Remove case

Execute

redc exec <case-id> <command>       # Run command
redc exec -t <case-id> bash         # Interactive shell
redc cp <src> <case-id>:<dest>      # Upload file
redc cp <case-id>:<src> <dest>      # Download file

Workflows

Quick Deploy:

redc pull aliyun/ecs && redc init
redc run aliyun/ecs -n myserver -e password=Pass123
# Returns case-id (e.g., 8a57078ee856)
redc exec 8a57078ee856 whoami

Controlled:

redc plan aws/ec2 -n staging
# Review the planned resources, then:
redc start <case-id>
redc cp deploy.sh <case-id>:/root/
redc exec <case-id> "bash /root/deploy.sh"

Cleanup:

redc stop <case-id> && redc rm <case-id>
# Or: redc kill <case-id>

Automation

import subprocess, re

def redc_run(template, name, env=None):
    cmd = ["redc", "run", template, "-n", name]
    if env:
        for k, v in env.items():
            cmd.extend(["-e", f"{k}={v}"])
    result = subprocess.run(cmd, capture_output=True, text=True, check=True)
    match = re.search(r'[a-f0-9]{12,64}', result.stdout)
    return match.group(0) if match else None

# Usage
case_id = redc_run("aliyun/ecs", "auto_deploy", {"password": "Secure123"})

Output Patterns

  • Success: ✅ in output
  • Error: ❌ in output
  • Case ID: [a-f0-9]{64} (use first 12 chars)
  • Status: running, stopped, created, error

Error Handling

Error Solution
Config not found Create ~/redc/config.yaml
Template not found Run redc pull <template>
Case ID not found Check redc ps
SSH timeout Verify instance running, security groups
Init failed Check network, configure Terraform mirror

JSON Schemas

Case:

{
  "id": "string[64]",
  "name": "string",
  "template": "string",
  "status": "running|stopped|created|error",
  "outputs": {"public_ip": "string"}
}

Config:

{
  "providers": {
    "aws": {"AWS_ACCESS_KEY_ID": "string", "region": "string"}
  }
}

Best Practices

  • Use short IDs (first 12 chars)
  • Assign meaningful names: <project><purpose><env>
  • Always cleanup: redc stop → redc rm
  • Use --debug for troubleshooting
  • Never commit config.yaml to version control
  • Monitor costs with redc ps

Resources