guls4h/vulcan

GitHub: guls4h/vulcan

VULCAN是一款基于LLM的Web漏洞扫描器,用于检测授权漏洞。

Stars: 0 | Forks: 0

# VULCAN — 基于LLM的Web漏洞扫描器 **作者:** Gülşah Şahin — 加兹大学,工程学院,计算机工程系 **课程:** BM496毕业设计项目(2025–2026春季) VULCAN是一个毕业设计项目(BM496)的研究原型,它将一个 **HTTP拦截代理**与一个**LLM代理**结合起来,以检测现代Web应用程序中的授权漏洞——主要是IDOR/破坏访问控制。 HTTP流量通过`mitmproxy`捕获,嵌入到Milvus向量存储中,由[Agno](https://github.com/agno-agi/agno) ReAct代理(默认为`gpt-4o-mini`)分析,并报告给Textual TUI。 此存储库包含三个顶级包以及论文成果: | 路径 | 目的 | |---|---| | [`vulcan/`](vulcan/) | 扫描器本身:代理、代理、向量存储、报告生成器、Textual TUI、验证工具 | | [`testapp/`](testapp/) | 故意有漏洞的Flask目标,带有标记的真相日志 | | [`reports/`](reports/) | 论文级别的验证报告([VERIFICATION_REPORT.md](reports/VERIFICATION_REPORT.md)) | ## 测量性能 最新运行,17个场景,真实的`gpt-4o-mini`调用,置信度阈值70: | 指标 | 值 | |---|---| | 精确度 | **84.6 %** | | 召回率 | **100 %** | | F1 | **0.917** | | 准确率 | **88.2 %** | | 平均LLM延迟 | 7 453 ms (p95 9 758 ms) | | 令牌/请求 | 平均116,最大123(10 000 cap) | | MCP过滤器率 | 53.3 %的流量在LLM之前被跳过 | | PII屏蔽器 | ≈ 8 µs / 请求 | 完整分解和方法:[`reports/VERIFICATION_REPORT.md`](reports/VERIFICATION_REPORT.md). ## 快速开始 ``` # 1. 启动易受攻击的目标 cd testapp uv sync uv run python -m testapp.app # http://localhost:5001 # 2. 配置 VULCAN cd ../vulcan uv sync cp config.example.yaml config.yaml cp .env.example .env # add your OPENAI_API_KEY # 3. 在 TestApp 上运行扫描器 uv run vulcan scan --target http://localhost:5001 --no-wizard # 4. (可选)重现验证号码 uv run python scripts/full_validation.py ``` 请参阅[`vulcan/README.md`](vulcan/README.md)和[`vulcan/USAGE.md`](vulcan/USAGE.md) 以获取架构、配置和CLI详细信息。 ## 存储库布局 ``` Vulcan_Project/ ├── vulcan/ # Scanner (Python 3.11+, uv, agno, mitmproxy, Milvus Lite) │ ├── src/vulcan/ # Source: proxy_scanner, agent, report_agent, tui, utils │ ├── scripts/ # full_validation.py — thesis-grade harness │ ├── tests/ # 68 unit + integration tests │ └── config.example.yaml ├── testapp/ # Flask vulnerable target with ground-truth logger └── reports/ # VERIFICATION_REPORT.md (thesis verification) ``` ## 测试 ``` cd vulcan && uv run pytest -v ``` 68个测试覆盖JSON修复、PII屏蔽、重试处理、令牌计数、真相指标和utils管道。 ## 安全与负责任的使用 VULCAN是一个仅用于针对你拥有或明确授权测试的系统的研究成果。捆绑的`testapp/`是支持的目标。未经许可对第三方系统运行VULCAN可能是非法的。 API密钥仅从环境变量(`.env`)中读取——不会将任何机密提交到存储库(请参阅[`vulcan/.env.example`](vulcan/.env.example))。 ## 许可证与归属 本项目作为加兹大学工程学院计算机工程系BM496毕业设计项目的成果发布。 作者:**Gülşah Şahin**。在[MIT许可证](LICENSE)下发布。
标签:Agno ReAct, Apex, F1分数, Flask, gpt-4o-mini, HTTP代理, IDOR, LLM, OpenAI API, Streamlit, Unmanaged PE, 准确率, 召回率, 向量数据库, 吞吐量, 延迟, 性能指标, 性能评估, 授权漏洞, 文本UI, 机器学习, 网络安全, 网络安全, 访问控制, 逆向工具, 隐私保护, 隐私保护