JagdeepSinghCeh/reconmind
GitHub: JagdeepSinghCeh/reconmind
一款利用 LLM 智能编排多种安全工具、实现从侦察到报告全流程自动化的 AI Bug Bounty 漏洞挖掘智能体。
Stars: 3 | Forks: 3
# 🔱 ReconMind — AI 驱动的 Bug Bounty 智能体

[](https://python.org)
[](LICENSE)
[](https://github.com/encrypticle/reconmind/stargazers)
[](https://youtube.com/@encrypticle)
[](https://instagram.com/encrypticle)
**为专业赏金猎人打造的自主、LLM 编排的 bug bounty 自动化智能体。**
将侦察 → 枚举 → 扫描 → 模糊测试 → AI 分析 → 报告 串联起来——全自动化。
[🚀 快速开始](#-quick-start) • [📖 用法](#-usage) • [💬 Discord](https://discord.com/invite/RR42FjT4) • [📺 YouTube](https://youtube.com/@encrypticle)
## 🧠 什么是 ReconMind?
ReconMind 是一款由 AI 驱动的 bug bounty 智能体,它的思考和猎漏洞方式就像一位**高级渗透测试人员**。它不只是单纯地运行工具,而是利用 LLM 大脑(Claude / Llama / Groq)在每一步做出决策——选择目标、串联发现、过滤误报,并生成可直接提交到平台的报告。
```
Target Domain
│
▼
┌──────────────────────────────────────────────────────┐
│ RECONMIND PIPELINE │
│ │
│ RECON → ENUM → SCAN → FUZZ → ANALYZE → REPORT │
│ │
│ 🧠 AI Brain decides what to test next at each step │
└──────────────────────────────────────────────────────┘
│
▼
HackerOne / Bugcrowd / Intigriti Ready Reports
```
### 🎯 它有何不同?
- **默认仅限域名** —— 除非您需要,否则不会进行嘈杂的子域名扫描(`--subdomain`)
- **使用 `--thorough` 标志覆盖完整的 OWASP Top 10**
- **由 AI 决定下一步扫描什么** —— 而非盲目地运行工具
- **攻击链识别** —— 将低危发现组合成严重危害
- **误报过滤** —— AI 在报告前验证每一个发现
- **100% 免费使用** —— 支持 Ollama(本地)、Groq(免费 API)或 Anthropic(付费)
- **平台就绪的报告** —— 支持 HackerOne、Bugcrowd、Intigriti 格式
## ⚡ 快速开始
```
# 1. 克隆 repo
git clone https://github.com/encrypticle/reconmind.git
cd reconmind
# 2. 安装所有内容(工具 + 依赖)
chmod +x setup.sh
./setup.sh
# 3. 启动 Ollama(免费本地 LLM — 无需 API key)
ollama serve &
ollama pull llama3.1:8b
# 4. Hunt!
python3 reconmind.py --target example.com
```
## 📋 系统要求
### 系统要求
| 需求 | 最低配置 | 推荐配置 |
|-------------|---------|-------------|
| 操作系统 | Ubuntu 22.04 / Parrot OS | **Kali Linux** |
| Python | 3.9 | 3.11+ |
| RAM | 4GB | 8GB+(本地运行 Ollama 需 16GB) |
| 硬盘 | 10GB | 20GB |
| Go | 1.21+ | 最新版 |
### Python 依赖
```
pyyaml>=6.0
rich>=13.7
click>=8.1
httpx>=0.27
aiohttp>=3.9
aiofiles>=23.2
anthropic>=0.40.0
ollama>=0.3.0
groq>=0.11.0
beautifulsoup4>=4.12
tldextract>=5.1
dnspython>=2.6
jinja2>=3.1
tenacity>=8.2
```
安装所有依赖:
```
pip3 install -r requirements.txt --break-system-packages
```
### 外部安全工具
| 工具 | 用途 | 安装命令 |
|------|---------|---------|
| subfinder | 子域名枚举 | `go install github.com/projectdiscovery/subfinder/v2/cmd/subfinder@latest` |
| httpx | HTTP 探测 + 技术检测 | `go install github.com/projectdiscovery/httpx/cmd/httpx@latest` |
| nuclei | 漏洞扫描 | `go install github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest` |
| naabu | 端口扫描 | `go install github.com/projectdiscovery/naabu/v2/cmd/naabu@latest` |
| katana | Web 爬虫 | `go install github.com/projectdiscovery/katana/cmd/katana@latest` |
| ffuf | 目录模糊测试 | `go install github.com/ffuf/ffuf/v2@latest` |
| dalfox | XSS 检测 | `go install github.com/hahwul/dalfox/v2@latest` |
| gau | 历史记录 URL | `go install github.com/lc/gau/v2/cmd/gau@latest` |
| waybackurls | Wayback Machine URL | `go install github.com/tomnomnom/waybackurls@latest` |
| gf | Grep 模式匹配 | `go install github.com/tomnomnom/gf@latest` |
| amass | 深度子域名枚举 | `sudo apt install amass` |
| sqlmap | SQL 注入 | `sudo apt install sqlmap` |
| nikto | Web 服务器扫描器 | `sudo apt install nikto` |
| whatweb | 技术指纹识别 | `sudo apt install whatweb` |
## 🔧 安装说明(逐步指南)
### 第一步 — 克隆并安装
```
git clone https://github.com/encrypticle/reconmind.git
cd reconmind
chmod +x setup.sh
./setup.sh
```
### 第二步 — 配置 LLM
```
cp configs/config.example.yaml configs/config.yaml
nano configs/config.yaml
```
### 第三步 — 获取您的 API 密钥
#### 🆓 Groq(免费 — 最适合新手)
1. 前往 **[console.groq.com](https://console.groq.com)**
2. 注册 → **API Keys** → **Create API Key**
3. 复制以 `gsk_...` 开头的密钥
4. 添加至 `configs/config.yaml`:
```
llm:
default: groq
groq:
enabled: true
api_key: "gsk_your_key_here"
```
#### 🖥️ Ollama(免费 — 无需联网,本地运行)
```
# 安装
curl -fsSL https://ollama.ai/install.sh | sh
# 启动服务
ollama serve &
# 拉取模型(根据您的 RAM 进行选择)
ollama pull llama3.1:8b # Needs 8GB RAM — good balance
ollama pull llama3.1:70b # Needs 32GB RAM — better quality
ollama pull mistral-nemo # Needs 4GB RAM — lightweight
```
添加至配置:
```
llm:
default: ollama
ollama:
enabled: true
base_url: "http://localhost:11434"
model: "llama3.1:8b"
```
#### 💎 Anthropic Claude(付费 — 最高质量)
1. 前往 **[console.anthropic.com](https://console.anthropic.com)**
2. 添加支付方式 → 充值至少 $5
3. **API Keys** → **Create Key**
4. 添加至配置:
```
llm:
default: anthropic
anthropic:
enabled: true
api_key: "sk-ant-your_key_here"
```
### 第四步 — 验证一切准备就绪
```
python3 reconmind.py --check-tools
```
## 🚀 用法
### 基础命令
```
# 扫描 domain(仅 domain — 快速、整洁)
python3 reconmind.py --target example.com
# 使用 subdomain 枚举
python3 reconmind.py --target example.com --subdomain
# 深度 OWASP Top 10 测试
python3 reconmind.py --target example.com --thorough
# 全面核弹级 Hunt
python3 reconmind.py --target example.com --subdomain --thorough
# 指定 LLM 后端
python3 reconmind.py --target example.com --llm groq
python3 reconmind.py --target example.com --llm anthropic
python3 reconmind.py --target example.com --llm ollama
# 自定义项目名称(整理输出文件夹)
python3 reconmind.py --target example.com --project h1_hunt_jan2025
# 仅特定阶段
python3 reconmind.py --target example.com --phases recon,scan,report
# 从文件批量读取目标
python3 reconmind.py --targets targets.txt
# 恢复中断的扫描
python3 reconmind.py --target example.com --resume
```
### 漏洞挖掘模式
```
python3 reconmind.py --target example.com --profile quick # Fast: recon+scan+report
python3 reconmind.py --target example.com --profile deep # Everything + validate
python3 reconmind.py --target api.example.com --profile api # API-focused hunt
python3 reconmind.py --target example.com --profile cloud # Cloud misconfigs
python3 reconmind.py --target example.com --profile mobile_api # Mobile backend
```
### 所有参数参考
| 参数 | 短参数 | 默认值 | 描述 |
|------|-------|---------|-------------|
| `--target` | `-t` | — | 目标域名 |
| `--targets` | `-T` | — | 包含目标列表的文件 |
| `--project` | `-P` | 域名 | 用于输出文件夹的项目名称 |
| `--subdomain` | | 关闭 | 启用子域名枚举 |
| `--thorough` | | 关闭 | 深度 OWASP Top 10 测试 |
| `--llm` | `-l` | 配置默认值 | ollama / anthropic / groq |
| `--profile` | | default | 漏洞挖掘模式 |
| `--phases` | `-p` | all | 指定要运行的阶段 |
| `--scope` | `-s` | standard | narrow / standard / wide |
| `--resume` | `-r` | 关闭 | 从检查点恢复 |
| `--output` | `-o` | ./output | 自定义输出目录 |
| `--check-tools` | | — | 显示已安装工具的状态 |
## 🔍 OWASP Top 10 覆盖范围 (`--thorough`)
| # | 类别 | ReconMind 测试项 |
|---|----------|---------------------|
| A01 | 访问控制失效 | IDOR 检测,HTTP 方法篡改,强制浏览,通过请求头绕过 403 |
| A02 | 加密失败 | 未使用 TLS 的 HTTP,URL 中的敏感数据,缺少 HSTS |
| A03 | 注入 | SQLi(报错/盲注/时间盲注/布尔盲注)、XSS(反射型/DOM)、SSTI、LFI、命令注入、XXE、XPath |
| A04 | 不安全设计 | AI 驱动的业务逻辑分析,速率限制漏洞,竞态条件 |
| A05 | 安全配置错误 | .env、.git、调试端点、Actuator、Swagger、phpinfo、目录列表 |
| A06 | 过时组件 | 技术指纹识别 + nuclei CVE 匹配 |
| A07 | 身份验证失败 | 不安全的 Cookie(Secure/HttpOnly/SameSite),会话管理 |
| A08 | 完整性失败 | 外部脚本缺少 SRI,反序列化特征 |
| A09 | 日志暴露 | 暴露的日志文件,堆栈跟踪,详细错误信息 |
| A10 | SSRF | URL 参数探测,AWS/GCP 元数据端点,内部主机访问 |
| ➕ | 响应篡改 | JSON 布尔值翻转,403 绕过,请求头注入 |
## 📁 输出结构
```
./output/
└── your_project/
└── 20250429_143022/
├── recon/
│ ├── subdomains.txt ← All discovered subdomains
│ ├── urls.txt ← Historical URLs
│ ├── js_files.txt ← JavaScript files
│ └── params.txt ← Parameterized URLs
├── enum/
│ ├── live_hosts.txt ← Confirmed live hosts
│ ├── httpx_results.json ← Tech stack, status codes
│ └── ports.json ← Open ports per host
├── scan/
│ ├── nuclei_results.json ← Raw nuclei findings
│ ├── all_vulnerabilities.json
│ └── attack_chains.json ← AI-identified chains
├── fuzz/
│ └── fuzz_results.json ← XSS, SQLi, LFI results
├── analyze/
│ └── final_analysis.json ← AI analysis + prioritization
└── report/
├── EXECUTIVE_SUMMARY.md ← 👈 Start here
├── vuln_1_xss.md ← HackerOne-ready report
├── vuln_2_sqli.md
└── chain_1_ssrf_rce.md ← Attack chain report
```
## 🧠 LLM 后端对比
| 后端 | 成本 | 速度 | 质量 | 最适用场景 |
|---------|------|-------|---------|----------|
| Ollama | 🆓 免费 | 🐢 慢(CPU) | ⭐⭐⭐ | 离线使用,测试 |
| Groq | 🆓 免费 | ⚡ 快 | ⭐⭐⭐⭐ | 日常挖洞 |
| Anthropic | 💰 约 $0.01/次 | 🚀 快 | ⭐⭐⭐⭐⭐ | 最终报告,关键分析 |
## 🧪 在刻意存在漏洞的网站上测试
**在挑战真实项目之前,请合法地进行练习:**
```
# Acunetix 测试站点(SQLi、XSS、LFI 等)
python3 reconmind.py --target testphp.vulnweb.com --thorough
# OWASP WebGoat(在本地运行)
python3 reconmind.py --target localhost:8080 --thorough
# HackTheBox / TryHackMe 目标(使用 VPN)
python3 reconmind.py --target 10.10.x.x --thorough
```
## ⚠️ 法律免责声明
## 👨💻 关于作者
**Jagdeep Singh**
网络安全教育家 | 活跃的 Bug Bounty 猎人
🏆 CEH | CRTP | PWPA
🐛 活跃于 HackerOne • Bugcrowd • Intigriti
🎯 TryHackMe 排名前 4%
📺 用印地英语为印度初学者教授网络安全
## 📄 许可证
MIT 许可证 — 可免费使用、修改和分发,但需注明出处。
**由 [Jagdeep Singh](https://instagram.com/encrypticle) 用 ❤️ 构建**
**献给印度网络安全社区 🇮🇳**
*解码。发现。防御。*
标签:AI风险缓解, Bug Bounty, CISA项目, DOE合作, IDOR, LFI, LLM, OWASP Top 10, Python, Red Teaming, SQLi, SSRF, Unmanaged PE, Web安全, XSS, 不安全的直接对象引用, 人工智能, 可自定义解析器, 大模型, 安全报告, 密码管理, 恶意样本开发, 插件系统, 数据展示, 无后门, 服务器端请求伪造, 本地文件包含, 漏洞分析, 漏洞情报, 用户模式Hook绕过, 红队, 网络安全, 蓝队分析, 赏金猎人, 跨站脚本攻击, 路径探测, 运行时操纵, 逆向工具, 防御框架, 隐私保护