ACT91/Reconny

GitHub: ACT91/Reconny

Reconny 是一个集成了子域名枚举、存活探测、爬虫、JS 分析、Nuclei 漏洞扫描和 GPT 智能优先级排序的自动化安全侦察流水线平台。

Stars: 2 | Forks: 0

# Reconny Reconny 是一个生产级、可扩展的侦察自动化系统,通过带有 AI 驱动分析的模块化 pipeline 架构,复刻并增强了手动漏洞赏金工作流。 ## 什么是 Reconny? Reconny 将传统的侦察工作流转化为自动化的智能 pipeline: **传统手动侦察** → 运行工具 → 解析输出 → 分析 → 发现漏洞 **Reconny** → 基于 Job 的 pipeline → 分布式 worker → AI 分析 → 攻击面图谱 ## 功能 - **13 阶段 Pipeline**:子域名枚举 → 存活探测 → 爬虫 → JS 分析 → 漏洞扫描 → AI 洞察 - **基于 Job 的架构**:队列驱动、有状态、可恢复的扫描 - **横向扩展**:按需增加 worker 以应对大规模扫描 - **AI 分析层**:基于 GPT 的攻击面优先级排序 - **攻击面图谱**:可视化导航 域名 → 子域名 → endpoint → 漏洞 - **RESTful API**:完全的可编程控制 - **现代化仪表盘**:React + TypeScript,支持实时更新 - **多项目支持**:按漏洞赏金项目组织扫描 ## 架构 ``` User → API → Job Queue → Workers → Pipeline Stages → AI Analysis → Reports ↓ PostgreSQL + Redis + File Storage ``` ### Pipeline 阶段 1. Subfinder(子域名枚举) 2. Httpx(存活主机探测) 3. 技术检测 4. Katana(Web 爬虫) 5. JavaScript 提取 6. 从爬虫结果中提取 endpoint 7. JavaScript 下载 8. 对隐藏 endpoint 进行静态 JS 分析 9. endpoint 聚合与去重 10. 完整 URL 重构 11. Httpx endpoint 探测 12. Nuclei 漏洞扫描 13. 基于 AI 的优先级排序与报告 ## 快速开始 ### 前置条件 - Docker & Docker Compose - Python 3.11+ - Node.js 18+(用于前端) - 侦察工具:subfinder, httpx, katana, nuclei ### 安装说明 ``` # Clone repository git clone https://github.com/yourusername/Reconny.git cd Reconny # 复制 environment 模板 cp .env.example .env # 使用你的配置编辑 .env # 启动 infrastructure docker-compose up -d # 运行 backend cd backend pip install -r requirements.txt uvicorn app.main:app --reload # 运行 worker(单独的终端) celery -A app.tasks.celery_app worker --loglevel=info # 运行 frontend(单独的终端) cd frontend npm install npm run dev ``` ### 首次扫描 ``` # 通过 API curl -X POST http://localhost:8000/api/v1/scan/start \ -H "Content-Type: application/json" \ -d '{"target_domain": "example.com", "user_id": "user123"}' # 通过 Dashboard # 打开 http://localhost:3000 并创建一个新的 scan ``` ## 项目结构 ``` Reconny/ ├── backend/ # FastAPI backend │ ├── app/ │ │ ├── api/ # REST endpoints │ │ ├── pipeline/ # 13 pipeline stages │ │ ├── workers/ # Celery workers │ │ ├── ai/ # AI analysis engine │ │ ├── models/ # Database models │ │ └── integrations/ # Tool wrappers ├── frontend/ # React + TypeScript dashboard │ ├── src/ │ │ ├── features/ # Feature modules │ │ ├── components/ # UI components │ │ ├── pages/ # Page components │ │ ├── graphs/ # Attack surface visualization │ │ └── charts/ # Analytics charts ├── storage/ # Scan results & artifacts ├── infrastructure/ # Docker, K8s configs └── docs/ # Architecture & API docs ``` ## 配置 关键环境变量: ``` # Database DATABASE_URL=postgresql://user:pass@localhost/reconny # Redis Queue REDIS_URL=redis://localhost:6379/0 # AI OPENAI_API_KEY=sk-... AI_MODEL=gpt-4 # Tools SUBFINDER_PATH=/usr/local/bin/subfinder HTTPX_PATH=/usr/local/bin/httpx KATANA_PATH=/usr/local/bin/katana NUCLEI_PATH=/usr/local/bin/nuclei ``` ## API 概述 ``` POST /api/v1/scan/start # Start new scan GET /api/v1/scan/{job_id} # Get scan status GET /api/v1/scan/{job_id}/logs # Stream logs GET /api/v1/scan/{job_id}/results # Get results POST /api/v1/projects # Create project GET /api/v1/projects # List projects ``` 完整 API 文档:http://localhost:8000/docs ## 开发说明 ``` # 运行 tests pytest # 格式化 code black backend/ isort backend/ # Type checking mypy backend/ # 运行单个 pipeline stage (testing) python -m backend.app.pipeline.stages.01_subfinder --domain example.com ``` ## 许可证 MIT 许可证 - 详情请参阅 [LICENSE](LICENSE) ## 免责声明 Reconny 仅设计用于授权的安全测试。用户有责任确保其拥有扫描目标域名的权限。未经授权的扫描可能是非法的。 ## 致谢 构建基于: - [ProjectDiscovery](https://projectdiscovery.io/) 工具 (subfinder, httpx, katana, nuclei) - FastAPI, Celery, PostgreSQL, Redis - OpenAI GPT 模型 - React, TypeScript, TailwindCSS
标签:AV绕过, FastAPI, GitHub, React, Syscalls, 分布式任务队列, 实时处理, 密码管理, 搜索引擎查询, 测试用例, 自动化侦察, 请求拦截, 逆向工具