NeoTheCapt/RedteamAgent

GitHub: NeoTheCapt/RedteamAgent

一款基于多Agent协作的自主AI红队渗透测试工具,将Web应用安全评估自动化为完整的侦察-收集-测试-利用-报告五阶段工作流。

Stars: 1 | Forks: 0

🔴 RedTeam Agent

Autonomous AI-Powered Red Team Simulation Agent

Install · Quick Start · Architecture · 中文

CLI Platform Docker Agents Skills References

一款可与 **Claude Code**、**OpenCode** 和 **Codex** 配合使用的自主红队模拟 Agent。它能将任何工作空间转化为针对 CTF/实验室目标的完整渗透测试环境 —— 配备 **8 个 AI Agent**、**容器化 Kali 工具**、**流式用例收集管道** 以及 **57 个安全参考文件**。 **关键特性:** - **多 CLI 支持** — 开箱即支持 Claude Code、OpenCode 和 Codex - **自主工作流** — 5 阶段方法论(侦察 → 收集 → 测试 → 利用+OSINT → 报告),仅需极少用户交互 - **情报收集** — `intel.md` 从侦察到利用阶段持续积累技术栈、人员、域名和凭证;OSINT Agent 通过 CVE、泄露、DNS 历史和社交数据进一步丰富情报 - **8 个专业化 Agent** — operator、recon-specialist、source-analyzer、vulnerability-analyst、exploit-developer、fuzzer、osint-analyst、report-writer - **容器化工具** — 所有渗透测试工具均在 Docker 中运行(Kali 工具箱、mitmproxy、Katana),无需本地安装 - **用例收集管道** — 基于 SQLite 的队列,包含 4 个生产者、自动类型分类、零 token 调度器 - **57 个参考文件** — OWASP Top 10:2025、API Security 2023、攻击战术、AD/Kerberos 攻击 - **恢复支持** — 可随时中断并在不丢失进度的情况下继续任何任务 ## 安装 ### 前置条件 - [Docker](https://docs.docker.com/get-docker/)(含 Docker Compose) - 至少一种 AI CLI 工具: - [Claude Code](https://docs.anthropic.com/en/docs/claude-code)(推荐) - [OpenCode](https://opencode.ai)(`npm install -g opencode-ai`) - [Codex](https://github.com/openai/codex) - 本地工具:`curl`、`jq`、`sqlite3`(macOS/Linux 预装) ### 一键安装 ``` bash <(curl -fsSL https://raw.githubusercontent.com/NeoTheCapt/RedteamAgent/dev/install.sh) ``` 此命令会自动克隆仓库,将 Agent 文件复制到 `~/redteam-agent`,构建 Docker 镜像并运行验证。 ### 手动设置 ``` git clone https://github.com/NeoTheCapt/RedteamAgent.git cd RedteamAgent ./install.sh ``` ### Docker 镜像 | 镜像 | 大小 | 内容 | |-------|------|----------| | `kali-redteam` | ~3.5GB | nmap, ffuf, sqlmap, nikto, whatweb, hydra, gobuster, nuclei, wfuzz, wordlists, seclists | | `redteam-proxy` | ~250MB | mitmproxy + 用例收集插件 | | `projectdiscovery/katana` | ~780MB | Web 爬虫 + 无头 Chrome | ## 快速开始 ``` cd ~/redteam-agent # 选择你的 CLI: claude # Claude Code (recommended) opencode # OpenCode codex # Codex # 半自主(询问 auth 设置,确认阶段) /engage http://your-ctf-target:8080 # 全自主(零交互 —— 仅需观看) /autoengage http://your-ctf-target:8080 # 通配符域名(枚举子域名,并行测试) /autoengage *.target.com --parallel 5 ``` ### `/engage` 与 `/autoengage` | | `/engage` | `/autoengage` | |---|---|---| | 认证设置 | 询问选择(代理/cookie/跳过) | 自动跳过,如发现端点则自动注册,自动使用发现的凭证 | | 阶段审批 | 默认自动确认,第一阶段需审批 | 从不询问。所有阶段自动推进。 | | 决策方式 | 默认并行,可选择顺序 | 始终并行。无选项。 | | 错误处理 | 遇到意外问题可能停止 | 记录错误,继续下一个任务 | | 使用场景 | 首次针对某目标,希望有人工监督 | 重复运行、通宵扫描、最大化覆盖 | Agent 会按以下 5 个阶段执行: ``` Phase 1: RECON ─── recon-specialist + source-analyzer (parallel) │ Phase 2: COLLECT ─ Import endpoints → SQLite queue, start Katana crawler │ Phase 3: TEST ──── Consume queue → vulnerability-analyst + source-analyzer │ exploit-developer runs in parallel for HIGH/MEDIUM findings │ (continuous loop with progress display) Phase 4: EXPLOIT ── osint-analyst + exploit-developer (parallel) │ osint-analyst: CVE/breach/DNS/social intel from intel.md │ exploit-developer: chain analysis, impact assessment │ OSINT high-value intel → 2nd round exploitation Phase 5: REPORT ── report-writer with coverage statistics + intelligence summary ``` ### 命令 | 命令 | 描述 | |---------|-------------| | `/engage ` | 启动新的渗透任务(半自主) | | `/autoengage ` | **完全自主** — 零交互,最大覆盖 | | `/resume` | 继续中断的渗透任务 | | `/status` | 显示进度仪表盘及队列统计 | | `/proxy start/stop` | 管理 mitmproxy 拦截代理 | | `/auth cookie/header` | 配置认证凭证 | | `/queue` | 显示用例队列统计 | | `/report` | 生成最终报告 | | `/stop` | 停止所有后台容器 | | `/confirm auto/manual` | 切换自动/手动审批模式 | | `/config [key] [value]` | 查看或设置运行时配置 | | `/subdomain ` | 枚举指定域名的子域名 | | `/vuln-analyze` | 分析扫描结果以查找漏洞 | | `/osint` | 对当前任务进行 OSINT 情报收集 | | `/recon` `/scan` `/enumerate` `/exploit` `/pivot` | 手动阶段覆盖 | ### 认证 ``` 1 — Proxy login (recommended): /proxy start → login in browser 2 — Manual cookie: /auth cookie "session=abc123" 3 — Manual header: /auth header "Authorization: Bearer ..." 4 — Skip: test unauthenticated surface, configure auth later ``` ## 架构 ### 8 个 Agent ``` ┌─────────────────────────┐ │ OPERATOR │ │ (primary — drives all) │ └──┬──┬──┬──┬──┬──┬──┬────┘ │ │ │ │ │ │ │ ┌────────────────────┘ │ │ │ │ │ └──────────────────┐ ▼ ▼ │ ▼ │ │ ▼ recon- source- │ vuln- │ │ report- specialist analyzer │ analyst│ │ writer (network) (code) │ (test) │ │ (report) │ │ ▼ ▼ ▼ │ │ fuzzer exploit- osint- │ │ (fuzz) developer analyst │ │ (exploit) (OSINT) │ │ ▲ │ │ intel.md ◄─┘ │ │ └──► intel.md └────────┘ operator feeds OSINT intel → exploit ``` ### 用例管道 ``` Producers Queue (SQLite) Consumers ┌──────────┐ │ mitmproxy │─┐ ┌──────────┐ ┌────────┐ ┌─ vuln-analyst (api/form) │ Katana │─┼──→│ cases.db │─→│dispatch│──┼─ source-analyzer (js/css) │ recon │─┤ └──────────┘ │ (.sh) │ ├─ fuzzer (deep params) │ spec │─┘ dedup+state └────────┘ └─ exploit-dev (confirmed) └──────────┘ 15 types 0 tokens ▲ ▲ │ └──────────── new endpoints ──────────────┘ ``` ### 目录结构 ``` RedteamOpencode/ ← dev workspace (git root) ├── install.sh ← installs agent/ to ~/redteam-agent ├── README.md ← project docs │ └── agent/ ← ALL runtime files (what gets installed) ├── CLAUDE.md ← operator prompt (Claude Code) ├── AGENTS.md ← operator prompt (Codex) ├── .claude/ ← Claude Code config │ ├── agents/ ← 8 subagent definitions (.md) │ ├── commands/ ← 19 slash commands (.md) │ └── settings.json ← hooks (scope check + auto-logging) ├── .codex/ ← Codex config │ └── agents/ ← 8 subagent definitions (.toml) ├── .opencode/ ← OpenCode config │ ├── opencode.json ← agents, skills, commands, plugins │ ├── prompts/agents/ ← 8 agent prompts (.txt) │ ├── commands/ ← 19 slash commands (.md) │ └── plugins/ ← engagement hooks (TypeScript) ├── skills/ ← 31 attack methodology skills ├── references/ ← 57 reference files (OWASP, tools, tactics, AD) ├── scripts/ ← dispatcher, ingest, hooks, shared libraries ├── docker/ ← Dockerfiles + docker-compose.yml └── engagements/ ← per-engagement output (created at runtime) ``` ## CLI 兼容性 | 功能 | Claude Code | OpenCode | Codex | |---------|-------------|----------|-------| | Operator 提示词 | `CLAUDE.md` | `.opencode/prompts/agents/operator.txt` | `AGENTS.md` | | Subagents (8个) | `.claude/agents/*.md` | `.opencode/opencode.json` agents | `.codex/agents/*.toml` | | 斜杠命令 (19个) | `.claude/commands/*.md` | `.opencode/commands/*.md` | N/A | | Skills (31个) | `skills/*/SKILL.md`(按需读取) | 通过 instructions 数组加载 | `skills/*/SKILL.md`(按需读取) | | 自动日志 | `.claude/settings.json` hooks | `.opencode/plugins/engagement-hooks.ts` | N/A | | 范围限制 | Hook 阻止超范围操作 | Hook 警告超范围操作 | N/A | | Agent 归属 | Hook JSON 中的 `agent_type` | `chat.message` 事件追踪 | N/A | ## 自定义 ### 添加 Skill ``` mkdir agent/skills/my-skill # 编写 agent/skills/my-skill/SKILL.md,包含 frontmatter + methodology # 将 "skills/my-skill/SKILL.md" 添加到 agent/.opencode/opencode.json 中的 instructions 数组 ``` ### 添加参考文件 将文件添加到 `agent/references//` 并更新 `agent/references/INDEX.md`。 ### 更改 LLM Provider (OpenCode) 在 `agent/.opencode/opencode.json` 中编辑 `model`。支持 Anthropic、OpenAI、Google、Ollama。 ## 开发 本仓库包含两层: - **根目录** (`RedteamOpencode/`):包含安装脚本和 README 的开发工作空间。在此运行 CLI 进行开发任务。 - **Agent 目录** (`agent/`):所有安装到 `~/redteam-agent` 的运行时文件。`agent/CLAUDE.md` 是 Operator 提示词。在 `agent/`(或 `~/redteam-agent/`)内运行 CLI 进行渗透任务。 修改 Agent 文件后,所有内部路径应相对于 `agent/` 作为工作目录。 ## 故障排除 | 问题 | 解决方案 | |---------|----------| | Docker 镜像构建失败 | `docker system prune -af && cd agent/docker && docker compose build --no-cache` | | Katana 未启动 | 检查:`docker logs redteam-katana` | | Agent 拒绝测试目标 | 在 `agent/CLAUDE.md` 或 `agent/.opencode/instructions/INSTRUCTIONS.md` 中调整 auth | | 队列显示 0 个用例 | 运行 `/status` — 检查 Collect 阶段是否已执行 | | ProviderModelNotFoundError | 在 `agent/.opencode/opencode.json` 中设置 `model` | ## 许可证 仅用于授权的安全测试。请仅对您拥有明确测试许可的目标使用。 # 中文说明 ## 简介 RedTeam Agent 是一个自主红队模拟 Agent,支持 **Claude Code**、**OpenCode** 和 **Codex** 三种 CLI 工具。它将任意工作空间转化为完整的渗透测试环境,专为 CTF/靶场目标设计。 **核心特性:** - **多 CLI 支持** — 开箱即用支持 Claude Code、OpenCode、Codex - **自主工作流** — 5 阶段方法论(侦察 → 收集 → 测试 → 利用+OSINT → 报告),最少用户干预 - **8 个专业 Agent** — 操作员、侦察专家、源码分析师、漏洞分析师、利用开发者、模糊测试器、OSINT 分析师、报告撰写者 - **情报收集** — `intel.md` 从侦察阶段开始积累技术栈、人员、域名、凭证等情报;OSINT 分析师通过联网数据源(CVE、泄露数据库、DNS 历史、社工情报)富化分析 - **容器化工具** — 所有渗透工具运行在 Docker 中(Kali 工具箱、mitmproxy、Katana),无需本地安装 - **用例收集管道** — 基于 SQLite 的队列,4 个生产者,15 种内容分类,零 token 消耗的调度器 - **57 个参考文件** — OWASP Top 10:2025、API 安全 2023、攻击战术、AD/Kerberos 攻击 - **断点续扫** — 中断后可从断点继续,不重复已完成的工作 ## 快速开始 ``` # 一键安装 bash <(curl -fsSL https://raw.githubusercontent.com/NeoTheCapt/RedteamAgent/dev/install.sh) # 选择你的 CLI 工具: cd ~/redteam-agent claude # Claude Code(推荐) opencode # OpenCode(需配置 .opencode/opencode.json 中的 model) codex # Codex # 半自主模式(需确认认证方式和首阶段) /engage http://your-ctf-target:8080 # 全自动模式(零交互,自动注册、自动利用凭据、自动推进) /autoengage http://your-ctf-target:8080 # 通配符域名(枚举子域名,并行渗透) /autoengage *.target.com --parallel 5 ``` ## 工作流程 ``` /engage → 侦察(并行) → 收集用例 → 消费测试+早期利用(循环) → 全量利用+OSINT情报(并行) → 报告 进度显示: Phases: [x] Recon [x] Collect [>] Consume & Test [ ] Exploit [ ] Report [queue] 120/495 done (24%) | api: 15/21 | page: 98/464 | findings: 5 ``` ## 常用命令 | 命令 | 说明 | |------|------| | `/engage ` | 开始新的渗透测试(半自主) | | `/autoengage ` | **全自动模式** — 零交互,最大覆盖 | | `/resume` | 从中断处继续 | | `/status` | 显示进度仪表盘 | | `/proxy start/stop` | 管理代理(浏览器抓包) | | `/auth cookie/header` | 配置认证信息 | | `/queue` | 查看用例队列状态 | | `/report` | 生成渗透测试报告 | | `/stop` | 停止所有后台容器 | | `/confirm auto/manual` | 切换自动/手动确认模式 | | `/config [key] [value]` | 查看或设置运行时配置 | | `/osint` | 对当前目标执行 OSINT 情报收集 | | `/subdomain ` | 枚举子域名 | ## 依赖 - Docker(含 Docker Compose) - AI CLI 工具(至少一个):Claude Code、OpenCode 或 Codex - 本地工具:`curl`、`jq`、`sqlite3`(macOS/Linux 预装) ## 许可 仅用于授权的安全测试。请勿用于未经授权的目标。
标签:AI 智能体, CISA项目, CTF 工具, Cutter, Docker 容器, ESC4, GitHub, OSINT, Web 应用安全, XXE攻击, 反取证, 多智能体, 大模型安全, 安全报告, 安全评估, 实时处理, 密码管理, 情报收集, 插件系统, 攻击框架, 漏洞研究, 红队模拟, 网络安全, 自动化攻击, 请求拦截, 隐私保护