RitabrataDutta01/Crucible
GitHub: RitabrataDutta01/Crucible
一款集成多引擎漏洞扫描与 AI 驱动修复建议的模块化 Web 动态应用安全测试(DAST)框架。
Stars: 0 | Forks: 0
# Crucible:多引擎 Web 漏洞扫描器
Crucible 是一个模块化的动态应用安全测试(DAST)框架,旨在识别和审计 Web 漏洞。它以自动化为核心焦点进行开发,将 Web 爬虫与专门的注入引擎、AI 驱动的审计助手以及基于 Flask 的中央管理面板集成在一起。





## 核心功能
- **自动化发现**
实现了广度优先搜索(BFS)爬虫,用于映射目标域名并识别攻击面,例如 HTML 表单和 URL 参数。
- **SQL 注入引擎**
跨多个向量检测 SQL 注入漏洞:身份验证绕过、基于错误的特征检测以及基于时间的盲注。通过线程池并发运行候选测试,以实现更快的覆盖。
- **跨站脚本攻击(XSS)引擎**
通过测试注入的 payload 是否在服务器响应中未经转义地返回,来识别反射型 XSS 漏洞。完全通过 `ThreadPoolExecutor` 并行化。
- **AI 审计助手**
集成了 Google Gemini 2.5 Flash 作为高级安全审计员。扫描完成后,AI 会分析发现的问题并返回技术修复建议——包括具体的代码级修复方案——并直接在面板终端中内联呈现。
- **集中化报告**
提供 GitHub 风格的深色 Web 面板,用于实时扫描监控、结构化的漏洞输出以及持久化的 JSON 报告历史记录。包含一个安全的“导出并清除”(Export & Wipe)功能,只需一步操作即可下载报告并将其从磁盘中删除。
- **现代开发技术栈**
通过 `uv` 包管理器进行管理,实现高性能的依赖处理和环境隔离。
- **本地文件包含(LFI)引擎**
审计 URL 参数中的目录遍历和敏感文件访问漏洞。
## 技术栈
- **后端:** Python 3.10.19, Flask
- **AI 集成:** Google Gemini 2.5 Flash (`google-generativeai`)
- **包管理:** uv
- **扫描引擎:** lxml, BeautifulSoup4, `concurrent.futures`
- **前端:** HTML5, Tailwind CSS, 原生 JavaScript, Lucide Icons
- **环境:** 在 ASUS TUF F17 上开发,兼容 Windows 和 Linux/WSL 环境
## 安装说明
本项目需要 **Python 3.10.19**、**uv 包管理器**以及一个 **Google Gemini API 密钥**。
**1. 仓库设置**
```
git clone https://github.com/RitabrataDutta01/Crucible.git
cd crucible
```
**2. 环境配置**
```
uv venv
# Windows:
.venv\Scripts\activate
# Linux / macOS:
source .venv/bin/activate
uv sync
```
**3. 依赖项**
```
uv add flask requests beautifulsoup4 lxml python-dotenv google-generativeai
```
**4. API 密钥设置**
AI 审计员需要一个设置为环境变量的 Google Gemini API 密钥:
```
# Linux / macOS:
export GOOGLE_API_KEY="your_key_here"
# Windows (PowerShell):
$env:GOOGLE_API_KEY="your_key_here"
```
## 使用说明
1. 启动应用程序:
uv run python app.py
2. 在 `http://127.0.0.1:5000` 访问控制面板。
3. 输入目标 URL 并发起深度扫描(Deep Scan)。
4. 查看结果网格,了解识别出的 endpoint、payload 和严重性评级。
5. 打开 **AI Auditor** 面板并点击 **Fetch AI Insight**,获取由 Gemini 提供的针对您发现的问题的修复建议。
6. 使用 **Export & Wipe** 将报告下载为 JSON 格式,并将其从服务器上安全删除。
## 项目结构
```
crucible/
├── app.py # Application entry point, Flask routing, Gemini integration
├── packages/ # Modular vulnerability engines
│ ├── crawler.py # BFS web crawling and form extraction
│ ├── sqli.py # Multi-vector SQLi detection (threaded)
│ └── XSS.py # Reflected XSS detection (threaded)
├── static/
│ ├── css/style.css # GitHub-style dark theme
│ └── js/main.js # Scan progress, AI bridge, modal logic
├── templates/
│ └── index.html # Main dashboard (Tailwind + Lucide)
├── data/ # Security payloads and signature data
├── reports/ # JSON logs of completed scans
└── pyproject.toml # Dependency and project metadata
```
## 发现结果的 Schema
注入引擎生成的每一个发现结果都符合统一的 schema,以确保在控制面板和报告文件中呈现的一致性:
```
{
"vulnerability type": "Reflected XSS",
"url": "http://target.com/page",
"payload": "",
"severity": "High",
"evidence": "Payload reflected verbatim in response from http://target.com/search",
"endpoint": "http://target.com/search",
"method": "GET"
}
```
## 安全测试目标
| 目标 | URL |
|---|---|
| Altoro Mutual (IBM) | `http://demo.testfire.net` |
| VulnWeb | `http://testphp.vulnweb.com` |
预览-
## 
## 
## 

## 开发进展
以下模块目前正在开发中,属于 Crucible 扩展路线图的一部分:
- **Header 安全审计器** — 分析 HTTP 响应头中的安全配置错误(CSP, HSTS, X-Frame-Options)。
- **机器学习集成** — 实现朴素贝叶斯分类器以提高检测准确性并减少误报。
## 注意事项
如果您使用的是发布版本中的 "Crucible-Scanner.exe",双击该 exe 文件后,请前往您的 Web 浏览器访问 localhost:5000 然后进行使用。
## 免责声明
Crucible 仅用于教育目的和授权的渗透测试。未经明确许可,对系统未经授权使用此工具是违法的。开发者对滥用行为不承担任何责任。
## 作者
**Ritabrata Dutta**
计算机科学与工程专业大二学生
印度西孟加拉邦 Adamas University
标签:CISA项目, DAST, Flask, Python, SQL注入检测, Web安全, XSS检测, 加密, 恶意软件分析, 数据可视化, 无后门, 漏洞扫描器, 自动化渗透测试, 蓝队分析, 逆向工具