DirAI-BZA - AI辅助路径扫描器

欢迎使用以及反馈
项目地址:DirAI
由于测试数据较少,请多多包涵,如遇到问题可及时反馈

免责声明

请仅对您拥有合法授权或自己拥有的目标进行扫描。未经授权的扫描可能违反法律法规。使用本工具造成的任何后果由使用者自行承担。

主要特性

  • 智能路径发现:字典扫描+AI推理双引擎,发现常规字典遗漏的路径
  • 框架自动识别:支持Java Spring Boot、PHP、Node.js、Python、.NET等主流框架
  • JS路径提取:从JavaScript 文件中自动提取API端点、资源路径
  • 敏感信息扫描:自动识别硬编码密钥、密码、Token、数据库连接串等
  • HTML可视化报告:生成HTML报告,按风险等级分类展示
  • 高性能并发:支持多线程并发扫描,可配置线程数
  • 断点续扫:扫描中断后可继续,无需重新开始
  • Playwright抓包:使用浏览器自动捕获所有网络请求

安装与配置

克隆项目并安装依赖,如需使用AI功能则配置API Key:

Linux/macOS:

git clone https://github.com/PWN022/DirAI-BzA.git
cd DirAI-BzA
pip install -r requirements.txt
pip install -e .
cp .env.example .env

Windows:

git clone https://github.com/PWN022/DirAI-BzA.git
cd DirAI-BzA
pip install -r requirements.txt
pip install -e .
copy .env.example .env

编辑.env文件,填入你的API Key:

OPENAI_API_KEY=sk-xxxxxxxxxxxx
OPENAI_BASE_URL=https://api.deepseek.com/v1
AI_MODEL=deepseek-**chat**

快速开始

基础扫描:

dirai scan -u https://example.com/

使用AI辅助扫描:

dirai scan -u https://example.com/ --ai

指定并发线程数:

dirai scan -u https://example.com/ --workers 20

完整示例:

dirai scan -u https://example.com/ --workers 20 --timeout 3 --ai

命令说明

scan - 完整扫描

自动执行:框架识别 -> 目录扫描 -> JS提取 -> 敏感信息扫描 -> HTML报告

dirai scan -u <url> [options]
参数说明默认值
-u, --url目标 URL(必填)-
-d, --dict自定义字典文件data/framework_paths.json
–csvCSV 输出路径data/scan_results.csv
-o, --outputHTML 报告输出路径data/report.html
–workers并发线程数10
–timeout请求超时(秒)3
–max-paths最大扫描路径数0(不限)
–ai启用 AI 辅助
–no-cache禁用 404 缓存
–resume断点续扫

analyze - 分析已有结果

dirai analyze -i data/scan_results.csv
参数说明默认值
-i, --inputCSV 文件路径(必填)-
-o, --outputHTML 报告输出路径data/report.html

report - 生成 HTML 报告

dirai report -i data/scan_results.csv
参数说明默认值
-i, --inputCSV 文件路径(必填)-
-o, --outputHTML 报告输出路径data/report.html

dict - 字典管理

dirai dict --show
dirai dict --add /admin
dirai dict --add /actuator --fw java_spring
参数说明默认值
–show显示当前所有字典条目-
–add添加路径到字典-
–fw, --framework指定框架名称java_spring

capture - Playwright 抓包

dirai capture -u https://example.com/
参数说明默认值
-u, --url目标 URL(必填)-
-o, --outputJSON 输出路径data/playwright_requests.json
–wait页面等待时间(秒)3

输出说明

HTML 报告

扫描完成后自动生成HTML报告,包含统计概览、高危路径列表(红色高亮)、中危路径列表(橙色标记)、敏感信息(密钥/密码/Token)、状态码分布(200/403/404 等)。

报告位置:data/report.html

CSV 原始数据

扫描结果同时保存为CSV格式,便于二次分析,包含path(路径)、status_code(状态码)、risk_level(风险等级 High/Medium/Low)、label(是否敏感入口 1/0)等字段。

CSV 位置:data/scan_results.csv

自定义字典

DirAI-BZA支持用户自定义字典,格式为每行一个路径:

/admin
/login
/api/v1
/backup.zip

使用方式:

dirai scan -u https://example.com/ -d /path/to/my_dict.txt

项目结构

bza-AIScan/
├── scripts/
│   ├── scan.py              # 核心扫描引擎
│   ├── auto_scan.py         # 命令行入口
│   ├── ai_analyzer.py       # AI 推理模块
│   ├── framework_detector.py# 框架识别
│   ├── sensitive_scanner.py # 敏感信息扫描
│   ├── js_parser.py         # JS 路径提取
│   ├── html_parser.py       # HTML 路径提取
│   ├── playwright_scan.py   # 浏览器抓包
│   └── report_html.py       # HTML 报告生成
├── data/
│   ├── framework_paths.json # 框架默认字典
│   └── common_paths.txt     # 通用字典
├── .env.example             # API Key 配置模板
├── requirements.txt         # Python 依赖
├── setup.py                 # 安装配置
└── README.md                # 项目说明

依赖项

Python 3.8+、requests、beautifulsoup4、pandas、scikit-learn、xgboost、joblib、lxml、flask、openai、python-dotenv、playwright(可选,用于抓包功能)

常见问题

AI功能不生效时检查是否配置了API Key(cat .env),或测试API是否有效(python -c “from scripts.ai_analyzer import AIAnalyzer; ai = AIAnalyzer(); print(‘OK’ if ai.enabled else ‘FAIL’)”)。

扫描速度慢时可增加并发线程数(–workers 30)或减少超时时间(–timeout 2)。

404缓存导致的问题可清除缓存重新扫描(rm -f data/url_cache.json && dirai scan -u https://example.com/ --no-cache)。

License

This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值