RitabrataDutta01/Crucible

GitHub: RitabrataDutta01/Crucible

一款集成多引擎漏洞扫描与 AI 驱动修复建议的模块化 Web 动态应用安全测试(DAST)框架。

Stars: 0 | Forks: 0

# Crucible:多引擎 Web 漏洞扫描器 Crucible 是一个模块化的动态应用安全测试(DAST)框架,旨在识别和审计 Web 漏洞。它以自动化为核心焦点进行开发,将 Web 爬虫与专门的注入引擎、AI 驱动的审计助手以及基于 Flask 的中央管理面板集成在一起。 ![Python](https://img.shields.io/badge/Python-3.10.19-blue?style=flat-square&logo=python) ![Flask](https://img.shields.io/badge/Flask-2.x-black?style=flat-square&logo=flask) ![Gemini](https://img.shields.io/badge/Gemini-2.5_Flash-orange?style=flat-square&logo=google) ![License](https://img.shields.io/badge/License-MIT-green?style=flat-square) ![Status](https://img.shields.io/badge/Status-Active-brightgreen?style=flat-square) ## 核心功能 - **自动化发现** 实现了广度优先搜索(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` | 预览- ## ![Welcome Dashboard Preview](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/29e74ea194052320.png) ## ![Ongoing Scan Preview](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/5fe550086f052327.png) ## ![Results Dashboard Preview](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/0ad04ebe6a052332.png) ![Connections](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/8a7e0fac95052338.png) ## 开发进展 以下模块目前正在开发中,属于 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检测, 加密, 恶意软件分析, 数据可视化, 无后门, 漏洞扫描器, 自动化渗透测试, 蓝队分析, 逆向工具