ssr6125/SRC-Hunter
GitHub: ssr6125/SRC-Hunter
一款 AI 驱动的自动化 SRC 渗透测试辅助平台,通过 LLM 多 Worker 自主挖掘漏洞并沉淀安全情报,实现从资产搜集到漏洞验证的全流程自动化。
Stars: 5 | Forks: 0
[English](README-en.md) | **中文**
# SRC Hunter
## ⚠️ 免责声明
**本工具仅用于「已获得合法授权」的安全测试、教育研究与自身系统的安全评估。**
- 因使用本工具而产生的一切后果(包括但不限于:未授权渗透、数据破坏、业务中断、隐私泄露及由此引发的任何法律责任),**全部由使用者本人承担,与作者/贡献者无关**。
- 作者不对本工具的适用性、可靠性、安全性作任何担保;使用本工具即代表你**已完全理解并同意**自行承担全部风险与法律责任。
## 二、技术总览
### 技术栈
| 层 | 技术 |
|----|------|
| 后端 | Python 3.10+ · FastAPI · Uvicorn · SQLAlchemy 2.0 · Pydantic 2 · httpx(HTTP/2) |
| 数据库 | SQLite(单文件,内置,无需外部中间件) |
| 前端 | Vue 3 · Vue Router · Vite · marked · DOMPurify |
| 智能 | OpenAI 兼容大模型 API(如 DeepSeek 等,自备 Key) |
| 情报 | FOFA(官方直连 或 第三方中转,二选一,自备 Key) |
| 并发 | 进程内线程池调度(等价 Celery 队列,但**无需 Redis**) |
### 功能详情
**① 目标采集与优选**
| 功能 | 说明 | 对应文件 |
|------|------|----------|
| FOFA 资产搜集 | 用 FOFA 语法批量取站,去重 + 归一化 | `services/fofa.py` · `services/fofa_syntax.py` |
| 通杀 Hunter | LLM 总结指纹 → 迭代 FOFA 圈定同款 → 验证 → 回流目标 | `services/masshunt_agent.py` |
| 资产优选 / 过滤 | 挡掉低价值展示型资产,把高产路径抬前 | `services/target_filter.py` · `target_scorer.py` · `prefilter.py` · `target_cluster.py` |
| 教育网归属 | 离线库把 IP/域名反查为所属高校(EduSRC 报告用) | `services/edu_ip.py` |
| 泄露凭证(可选) | 预留外部情报源接入点,默认关闭 | `services/leakcreds.py` |
**② 挖掘执行**
| 功能 | 说明 | 对应文件 |
|------|------|----------|
| 编排引擎 | 线程池调度,每个运行中任务一条编排线程,支持启动/暂停/停止 | `services/engine.py` |
| 自主渗透 Worker | 类 Claude Code 的 ReAct 自主 Agent,自行决定打法并产出报告 | `worker/agent.py` |
| Worker 工具集 | `bash` / `http_request` / `read_file` / `write_file` / `web_fetch` | `worker/tools.py` |
| 攻击面发现 | 纯 Python 的 discovery(httpx),作为 Worker 输入 | `services/scanner.py` |
| 多 Worker 协作 | 同一真实 host 深度优先分工深挖(侦查→分项→追打) | `services/site_collab.py` |
| JS / 前端分析 | 静态分析前端 JS,归并接口/凭证/云存储等攻击链提示 | `worker/js_analyzer.py` |
**③ 研判与质量**
| 功能 | 说明 | 对应文件 |
|------|------|----------|
| AI 推理 + 审核 | LLM 产出候选漏洞并按 SRC 规则过滤 | `services/ai.py` |
| 质量闸 | 硬编码规则拦截半成品 / 低质量漏洞,省审核 token | `services/quality_gate.py` |
| Finding 去重 | 跨任务指纹去重,识别「换标题/换域名」的重复 | `services/dedup.py` |
| 全局情报库 | 跨任务沉淀指纹/端点/凭证/打法,命中时回注 Worker | `services/intel.py` · `intel_curator.py` |
**④ 安全护栏与治理**
| 功能 | 说明 | 对应文件 |
|------|------|----------|
| 审批闸 | 破坏性 / 不可逆动作阻塞等待管理员放行 | `services/approval.py` |
| 预算 / 计费治理 | Token 成本核算与预算闸 | `services/pricing.py` |
| 速率限制 | 出网请求限速,礼貌扫描 | `services/rate_limiter.py` |
| UA 池反指纹 | 每任务领取真实浏览器 UA,按目标粘性取用,绝不暴露自身 | `services/ua_pool.py` |
| SSRF 出网防护 | 自身携密请求做元数据/内网拦截 | `services/netguard.py` |
| 命令 / 载荷 / 下载防护 | 拦截低价值命令、危险载荷与恶意下载 | `worker/command_guard.py` · `payload_guard.py` · `download_guard.py` |
| WAF 感知 | 识别入站 WAF 并给 Worker 规避建议 | `services/inbound_waf.py` · `worker/waf_advisor.py` |
| 敏感信息脱敏 | 日志 / 展示层对 Key 等做脱敏 | `core/redaction.py` |
**⑤ 数据与交互**
| 功能 | 说明 | 对应文件 |
|------|------|----------|
| REST API | 任务/漏洞/情报/设置/审批/规则/工具等接口 | `api/*.py` |
| 数据模型 | 任务、目标、漏洞、情报、设置等 ORM 模型 | `models/__init__.py` |
| 数据库初始化 / 迁移 | 首次建库 + 轻量列迁移 + 默认知识库种子 | `services/bootstrap.py` |
| 报告导出 | 漏洞导出为报告 | `services/export.py` |
| Web 界面 | 任务、漏洞库、情报库、问题目标、错误日志、设置 | `frontend/src/views/*.vue` |
## 三、系统设计思路与工作流程
核心理念:**平台负责「治理与护栏」,LLM 负责「自主决策与挖掘」**。目标以队列驱动、并行处理;一边深挖单个站点,一边寻找同类型系统批量扩展;所有产出都要经过「质量把关 → AI 复核 → 去重」三道关,破坏性操作需人工审批,经验回流情报库形成闭环。
flowchart TD
classDef prep fill:#eef2ff,stroke:#6366f1,color:#312e81;
classDef hunt fill:#ecfdf5,stroke:#10b981,color:#065f46;
classDef judge fill:#fff7ed,stroke:#f59e0b,color:#92400e;
classDef guard fill:#fef2f2,stroke:#ef4444,color:#991b1b;
subgraph P1 ["① 目标准备"]
direction TB
A["创建任务手动录入 / FOFA 搜集 / 通杀"]:::prep B["使用真实浏览器客户端 UA
模拟正常访客,避免暴露自身"]:::prep C["目标筛选与优先级排序
过滤低价值资产"]:::prep A --> B --> C end subgraph P2 ["② 自动挖掘"] direction TB D["并行调度
每个目标分配一个 AI Worker"]:::hunt E["攻击面探测
摸清入口 / 接口 / 指纹"]:::hunt F["AI 自主挖掘
自行决策、调用工具、验证漏洞"]:::hunt G["产出漏洞线索"]:::hunt D --> E --> F --> G end subgraph P3 ["③ 结果研判"] direction TB I["质量把关
规则拦截半成品"]:::judge J["AI 复核
按 SRC 规则筛选"]:::judge K["去重"]:::judge L["漏洞库 + 报告导出"]:::judge I --> J --> K --> L end C --> D G --> I H["寻找同类型系统
命中后回流为新目标"]:::hunt D --> H H -->|新目标| C M["人工审批
破坏性操作需放行"]:::guard F -. 需要时 .-> M N["情报库
沉淀经验并复用"]:::hunt G -. 经验 .-> N N -. 复用 .-> F ## 四、部署环境要求 ### 硬件 | 项 | 最低 | 推荐 | |----|------|------| | CPU | 2 核 | 4 核 + | | 内存 | 4 GB | 8 GB + | | 磁盘 | 2 GB 可用 | 5 GB + | | 网络 | 可出网访问:大模型 API、FOFA、测试目标 | 同左(建议可配代理) | ### 软件 | 依赖 | 版本 | 说明 | |------|------|------| | 操作系统 | Windows 10+ / Linux / macOS | 三平台脚本齐备 | | Python | 3.10+ | 仅用于**创建**发布目录内的 `backend/.venv`,不改动系统 Python | | Node.js | 20+ | 用于构建前端(`npm run build`) | ## 五、部署与运行 ### 1)一键配置环境(首次) **Windows**:在发布目录下双击 `setup.bat`,或执行: Set-ExecutionPolicy -Scope Process Bypass -Force .\scripts\setup.ps1 **Linux / macOS**: chmod +x scripts/*.sh ./scripts/setup.sh 配置脚本会自动:创建虚拟环境 → 安装后端依赖 → 构建前端 → 生成 `.env`(随机密钥)→ 初始化数据库并**生成管理员登录令牌**。 ### 2)启动 / 停止 / 重启 / 状态 统一用 `manage` 脚本:**双击 `manage.bat` 进入菜单**,或用参数直接调用。 | 操作 | Windows | Linux / macOS | |------|---------|----------------| | 菜单 | 双击 `manage.bat` | `./scripts/manage.sh` | | 启动 | `.\scripts\manage.ps1 start` | `./scripts/manage.sh start` | | 停止 | `.\scripts\manage.ps1 stop` | `./scripts/manage.sh stop` | | 重启 | `.\scripts\manage.ps1 restart` | `./scripts/manage.sh restart` | | 状态 | `.\scripts\manage.ps1 status` | `./scripts/manage.sh status` | - 服务在**后台**运行,PID 记录于 `run/app.pid`,日志写入 `logs/`。 - 启动后访问:**http://localhost:8080**(用管理员令牌登录)。 - 修改监听地址 / 端口:编辑 `.env` 的 `HOST` / `PORT` 后重启。 ### 3)目录结构 . ├── backend/ FastAPI + SQLite(含离线 EDU IP 库) │ └── init_admin.py 首次初始化 + 生成管理员令牌(由 setup 调用) ├── frontend/ Vue3 前端源码(setup 时构建出 dist) ├── pentest_tools/ 外部渗透工具目录(默认不内置) ├── scripts/ setup / manage(.ps1 + .sh) ├── setup.bat / manage.bat Windows 双击入口 ├── .env.example 配置样例(setup 据此生成 .env) ├── README.md / README-en.md └── VERSION ## 六、测试阶段说明 SRC Hunter 目前处于 **beta 测试阶段**,此发布版本可能存在**部分 bug 与安全问题**,部分功能仍在打磨。 - **推荐本地部署**:建议在本地 / 内网环境运行,暂不建议直接暴露于公网。 - 后续会**不定期更新**、修复问题与增强能力。 - 遇到任何问题、异常或建议,欢迎提交 **Issue** 反馈,我们会尽力跟进。 - 生产 / 重要环境请谨慎使用,务必在授权范围内测试。 ## 七、许可协议 本项目采用**非商业许可**: - ✅ **允许**:个人学习、安全研究、二次开发、自由使用与分发。 - ✅ **鼓励**:在保留出处的前提下改进。 - ❌ **禁止**:任何形式的**商业用途**(包括但不限于售卖、商业服务、商业化集成)。 - 📌 **要求**:分发或二次开发时须**保留本许可、版权声明与免责声明**,并注明来源。
标签:AV绕过, CISA项目, DInvoke, DLL 劫持, FastAPI, Petitpotam, 大语言模型, 安全辅助平台, 实时处理, 密码管理, 网络调试, 自动化, 资产测绘, 运行时操纵, 逆向工具