Skip to content

SuYK-666/LLM_API_Vuln_Scanner

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LLM-Driven Web API 越权漏洞智能探测与风险可视化评估系统

English Version

本项目是一个面向 Web API 越权(IDOR/垂直越权)场景的智能化检测系统。 它结合了请求流量重放、DeepSeek 大模型推理、差异分析与可视化报告,支持从“抓包输入”到“风险证据输出”的完整闭环。

figure

1. 项目目标

传统规则扫描器对 SQL 注入、XSS 等语法型漏洞有效,但难以理解业务语义与授权边界。 本项目通过 LLM 理解 API 请求语义,自动构造越权变异请求,并基于状态码、内容结构、敏感信息等信号进行风险判定。

2. 核心能力

  1. 流量解析:解析 HAR,提取 API 请求并过滤静态资源。
  2. 智能变异:调用 DeepSeek 生成 IDOR/越权测试载荷。
  3. 自动重放:保留原始认证头,注入变异参数进行攻击重放。
  4. 风险分析:综合状态码、文本相似度、JSON 结构重合度、敏感信息命中进行评分。
  5. 防护建议:自动生成修复建议(即时修复、工程加固、监控检测)。
  6. 可视化输出:生成 Markdown/HTML 报告,展示证据链与结论。
  7. 可追溯日志:每次运行生成独立日志文件,记录完整执行细节。

3. 目录结构

LLM_API_Vuln_Scanner/
├── main.py
├── requirements.txt
├── README.md
├── README_EN.md
├── config/
│   ├── config.yaml
│   └── settings.py
├── core/
│   ├── parser.py
│   ├── llm_agent.py
│   ├── scanner.py
│   └── analyzer.py
├── prompts/
│   ├── idor_prompt.txt
│   └── mitigation_prompt.txt
├── data/
│   ├── input/
│   └── output/
├── report/
│   ├── report_generator.py
│   ├── output_report.md
│   ├── output_report.html
│   └── templates/
├── local_lab/
│   ├── vuln_api.py
│   ├── generate_har.py
│   └── README.md
└── logs/

4. 执行流程(主程序)

main.py 运行时的阶段如下:

  1. Phase 1:解析 HAR 并重放基线请求。
  2. Phase 2:调用 DeepSeek 生成越权 Payload。
  3. Phase 3:重放攻击请求并进行风险分析。
  4. 附加:对中高风险结果调用 LLM 生成修复建议。
  5. 输出:写入 JSON 结果、Markdown 报告、HTML 报告与运行日志。

5. 环境准备

5.1 安装依赖

pip install -r requirements.txt

5.2 配置 DeepSeek Key

$env:DEEPSEEK_API_KEY="your_deepseek_key"

也可在 config/config.yaml 中填写 api_key,但不推荐明文存储。

6. 快速启动(扫描已有 HAR)

  1. 准备 HAR 文件放入 data/input/
  2. config/config.yaml 中设置 input_har
  3. 执行:
python main.py

7. 使用项目内置本地靶场

项目已内置一个“故意存在越权漏洞”的本地 API 服务,便于答辩演示。

7.1 启动本地靶场

python local_lab/vuln_api.py

默认监听:http://127.0.0.1:8000

7.2 生成本地 HAR

python local_lab/generate_har.py

输出文件:data/input/local_lab.har

7.3 运行扫描

python main.py

默认配置已经指向本地靶场:

  • target_url: http://127.0.0.1:8000
  • input_har: data/input/local_lab.har

8. 关键输出说明

运行后会生成以下文件:

  1. data/output/phase1_replay_results.json:基线请求重放结果。
  2. data/output/phase2_payloads.json:LLM 生成的攻击载荷。
  3. data/output/phase3_attack_results.json:攻击重放结果。
  4. data/output/phase3_analysis.json:风险分析结果(含评分和证据)。
  5. report/output_report.md:Markdown 报告。
  6. report/output_report.html:HTML 可视化报告。

9. 报告内容

报告会展示以下关键模块:

  1. 风险对象:Method + URL。
  2. 触发条件:认证保持不变下的参数篡改方式。
  3. 风险证据:
    • Baseline/Attack 状态码
    • 相似度
    • JSON 结构重合度(shared/baseline/overlap)
    • Sensitive Hits 命中
    • 响应对比预览
  4. 影响分析:结合风险级别自动给出解释。
  5. 展示结论:Risk Level + Score。
  6. 防护与缓解建议:含即时修复、工程加固、监控建议。

10. 日志系统

每次运行会创建一个新的日志文件:

  • logs/run_YYYYMMDD_HHMMSS.log

日志包含:

  1. 阶段开始/结束时间。
  2. HAR 解析细节。
  3. 每次基线与攻击请求重放记录。
  4. LLM 调用与重试信息。
  5. 分析器评分信号(相似度、结构重合、敏感命中)。
  6. 报告生成与文件写入信息。

11. 合规与安全说明

  1. 本项目仅用于授权安全测试与教学研究。
  2. 请勿对未授权目标执行扫描。

About

An intelligent Web API security auditing tool powered by LLMs. It automates the detection, verification, and risk assessment of complex Broken Access Control (IDOR) vulnerabilities by understanding business logic and analyzing JSON schema overlaps.

Topics

Resources

License

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors