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 · 中文
一款可与 **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攻击, 反取证, 多智能体, 大模型安全, 安全报告, 安全评估, 实时处理, 密码管理, 情报收集, 插件系统, 攻击框架, 漏洞研究, 红队模拟, 网络安全, 自动化攻击, 请求拦截, 隐私保护