Ateebshaikh21/red-team-ai

GitHub: Ateebshaikh21/red-team-ai

一款将 Nmap 扫描、CVE 查询与 Claude 大语言模型分析串联的自动化红队侦察流水线,旨在大幅缩减渗透测试前期的侦察时间并自动生成多格式报告。

Stars: 2 | Forks: 0

# 🔴 自主红队 AI [![Python](https://img.shields.io/badge/Python-3.10+-blue.svg)](https://python.org) [![License](https://img.shields.io/badge/License-MIT-green.svg)](LICENSE) [![OWASP](https://img.shields.io/badge/OWASP-Top%2010-red.svg)](https://owasp.org/Top10/) ## 📌 功能简介 自主红队 AI 是一个完整的**渗透测试侦察 pipeline**,将以下环节串联在一起: 1. **Nmap** — 端口扫描与服务/版本指纹识别 2. **NIST NVD API v2.0** — 针对发现的服务进行 CVE 查找 3. **Anthropic Claude LLM** — 智能攻击面分析与漏洞利用路径生成 4. **多格式报告** — JSON + Markdown + 带样式的 HTML 已在 **DVWA**、**Metasploitable2** 和 **HackTheBox** 机器上进行了测试。 ## 🏗️ 架构 ``` Target IP/Host │ ▼ ┌─────────────┐ │ NmapScanner │ ← python-nmap, service/version detection └──────┬──────┘ │ [open ports + service banners] ▼ ┌─────────────┐ │ CVEMapper │ ← NIST NVD API v2.0, rate-limited, cached └──────┬──────┘ │ [enriched services + CVE list] ▼ ┌──────────────────┐ ┌─────────────────────┐ │ LLMAnalyzer │ │ ExploitSuggester │ │ (Claude API) │ │ (rule-based, fast) │ └──────┬───────────┘ └──────────┬──────────┘ └──────────┬───────────────┘ │ [analysis + exploit paths + OWASP mapping] ▼ ┌──────────────────┐ │ ReportGenerator │ ← JSON + Markdown + HTML └──────────────────┘ ``` ## ⚡ 快速开始 ### 1. 克隆与安装 ``` git clone https://github.com/yourname/red-team-ai.git cd red-team-ai # 安装依赖 pip install -r requirements.txt # 安装 nmap(必需的系统依赖) # Ubuntu/Debian: sudo apt install nmap # macOS: brew install nmap ``` ### 2. 配置 API 密钥 ``` cp .env.example .env # 编辑 .env 并添加你的 keys: # ANTHROPIC_API_KEY=sk-ant-... # NVD_API_KEY=...(可选,但会增加 NVD rate limits) ``` 获取 API 密钥: - **Anthropic:** https://console.anthropic.com - **NVD (可选):** https://nvd.nist.gov/developers/request-an-api-key ### 3. 运行你的第一次扫描 ``` # 快速扫描(快速,无 LLM) python main.py quick --target 192.168.56.101 # 完整 pipeline(Nmap + CVE + LLM analysis) python main.py scan --target 192.168.56.101 # 深度扫描及完整分析 python main.py scan --target 192.168.56.101 --mode deep --output ./reports ``` ## 🎯 命令 ### `scan` — 完整 Pipeline ``` python main.py scan --target [--mode quick|deep] [--output DIR] ``` 运行完整 pipeline:Nmap → CVE 查找 → LLM 分析 → 生成报告。 | 标志 | 默认值 | 描述 | |------|---------|-------------| | `--target` | 必填 | 目标 IP 或主机名 | | `--mode` | `quick` | `quick` (Top 1000 端口) 或 `deep` (所有端口 + OS) | | `--output` | `./reports` | 报告输出目录 | ### `quick` — 仅快速侦察 ``` python main.py quick --target [--output DIR] ``` 仅执行 Nmap + CVE 查找。不调用 LLM。用于快速分类的最快模式。 ### `report` — 从 JSON 重新生成 ``` python main.py report --input ./reports/report_192_168_56_101.json ``` 从现有的 JSON 扫描结果重新生成 Markdown + HTML。 ## 🧪 使用 DVWA 进行测试 DVWA (Damn Vulnerable Web Application) 是在本地进行测试的最简单方法。 ``` # 1. 通过 Docker 启动 DVWA bash test-configs/setup_lab.sh # 2. 扫描它 python main.py scan --target 127.0.0.1 # 3. 查看 HTML 报告 open reports/report_127_0_0_1_*.html ``` DVWA 上的预期发现: - 端口 80: Apache HTTP → SQL 注入、XSS (OWASP A03, A01) - 端口 3306: MySQL → 弱认证、远程 root (OWASP A07) ## 🧪 使用 Metasploitable2 进行测试 Metasploitable2 是一个故意设计为易受攻击的 Linux 虚拟机,包含约 20 多个服务。 ``` # 在 VirtualBox 中使用 Host-Only networking 运行 # 默认 IP:192.168.56.101,凭据:msfadmin/msfadmin python main.py scan --target 192.168.56.101 --mode deep ``` 预期发现:FTP、SSH、Telnet、SMB (EternalBlue)、MySQL、PostgreSQL、VNC、SMTP... ## 📊 性能 | 指标 | 数值 | |--------|-------| | 人工侦察基准 | ~3 小时 | | 自动化 pipeline (quick) | ~8–12 分钟 | | 自动化 pipeline (deep) | ~20–35 分钟 | | **侦察时间减少** | **~60%** | 效率的提升得益于: - 带缓存的并行 CVE 查找(无需重复查询 NVD) - LLM 立即关联发现结果,替代人工研究 - 结构化报告生成,替代人工编写 ### 运行基准测试 ``` python benchmarks/benchmark_runner.py --target 192.168.56.101 --runs 3 ``` ## 📁 项目结构 ``` red-team-ai/ ├── main.py # CLI entrypoint (Typer) ├── src/ │ ├── scanner.py # Nmap wrapper & parser │ ├── cve_mapper.py # NVD API v2.0 CVE lookup │ ├── llm_analyzer.py # Claude API integration │ ├── exploit_suggester.py # Rule-based exploit mapping │ ├── report_generator.py # JSON + Markdown + HTML output │ └── utils.py # Timing, logging, helpers ├── tests/ │ ├── test_scanner.py # Mocked nmap tests │ └── test_cve_mapper.py # Mocked NVD API tests ├── test-configs/ │ ├── dvwa_config.json │ ├── metasploitable_config.json │ └── setup_lab.sh # Docker lab setup ├── benchmarks/ │ └── benchmark_runner.py ├── reports/ # Generated reports (git-ignored) ├── .env.example ├── requirements.txt └── CLAUDE.md # Claude Code project context ``` ## 🔒 CVE 映射与 OWASP 覆盖范围 该 pipeline 将发现的服务映射到: | 服务 | 常见 CVE | OWASP 类别 | |---------|-------------|----------------| | OpenSSH | CVE-2018-15473, CVE-2016-6210 | A07 - 身份验证失败 | | Apache HTTP | CVE-2021-41773, CVE-2017-7679 | A03 - 注入 | | SMB/Samba | CVE-2017-0144 (EternalBlue) | A05 - 安全配置错误 | | MySQL | CVE-2012-2122, CVE-2016-6662 | A03 - 注入 | | VNC | CVE-2006-2369 | A07 - 身份验证失败 | | FTP | CVE-2011-2523 (vsftpd backdoor) | A05 - 安全配置错误 | ## 🚀 运行测试 ``` # 所有测试 pytest tests/ -v # 包含 coverage pip install pytest-cov pytest tests/ --cov=src --cov-report=term-missing ``` ## ⚠️ 法律与道德 **此工具仅供授权的渗透测试使用。** - 仅扫描您拥有或获得明确书面授权测试的系统 - 未经签署的授权协议,绝不对生产环境系统运行此工具 - 本仓库中的所有测试均使用故意设计为易受攻击的虚拟机 (DVWA, Metasploitable) - 作者不对滥用行为负责 ## 🛠️ 技术栈 | 组件 | 技术 | |-----------|-----------| | 语言 | Python 3.10+ | | 端口扫描 | python-nmap (Nmap wrapper) | | CVE 数据 | NIST NVD REST API v2.0 | | LLM | Anthropic Claude (claude-sonnet-4-20250514) | | CLI | Typer + Rich | | 测试 | pytest + pytest-mock | | 报告 | JSON + Markdown + HTML | ## 📄 许可证 MIT — 查看 [LICENSE](LICENSE)
标签:DLL 劫持, 大语言模型, 安全规则引擎, 实时处理, 插件系统, 数据展示, 红队, 网络调试, 自动化, 逆向工具