Chhatrapati-sahu-09/PhishGuard-Pro
GitHub: Chhatrapati-sahu-09/PhishGuard-Pro
基于机器学习、启发式分析与威胁情报API的桌面端钓鱼URL检测工具,提供可视化分析界面与报告导出功能。
Stars: 1 | Forks: 0
# PhishGuard Pro – AI 驱动的钓鱼 URL 检测器






一款**现代化深色主题桌面应用程序**,用于**实时钓鱼 URL 检测**,结合了 **Machine Learning、启发式分析和威胁情报 API**,并提供专业的分析和报告功能。
# 概述
**PhishGuard Pro** 是一款智能钓鱼检测工具,旨在通过**多层安全方法**分析可疑 URL。
### 检测层
- **Machine Learning** (TF-IDF + Logistic Regression)
- **启发式规则分析**
- **威胁情报 API**
- **SSL 和 WHOIS 域名验证**
- **实时分析仪表板**
该应用程序包含**现代化 PyQt5 桌面界面**、交互式可视化、扫描历史记录跟踪以及可导出的报告。
它适用于**网络安全学习、演示和黑客马拉松**。
# 主要功能
## URL 分析引擎
核心分析引擎使用多种技术评估 URL。
### Machine Learning
- 字符级 **TF-IDF 特征提取**
- **Logistic Regression 分类器**
- 快速且轻量级的预测模型
### 启发式安全检查
系统执行基于规则的检查,例如:
- URL 中使用 IP 地址
- 存在 `@` 符号
- URL 过长
- 可疑令牌
- 多重子域名
- 不安全的 TLD 检测
- 缺少 HTTPS 协议
- SSL 证书无效
- 使用 WHOIS 验证域名年龄
### 威胁情报集成
外部威胁情报来源提高了检测的可靠性:
- 用于 URL 信誉的 **VirusTotal API**
- 用于威胁验证的 **Google Safe Browsing API**
# 分析仪表板
应用程序包含一个实时分析面板,提供扫描结果的可视化洞察。
功能包括:
- 显示风险分数分布的直方图
- 显示钓鱼 URL 与安全 URL 比例的饼图
- 平均风险分数指示器
- 颜色编码的钓鱼严重程度级别
# PyQt5 桌面界面
该应用程序具有使用 **PyQt5** 构建的**专业深色主题 GUI**。
UI 特性:
- 简洁现代的布局
- 卡片式界面设计
- 平滑渐变样式
- 动画进度条
- 实时扫描状态更新
- 用户友好的交互流程
# 报告和历史记录
PhishGuard Pro 存储扫描结果并允许导出数据以供分析。
功能包括:
- 详细的钓鱼扫描报告
- 会话历史记录表
- 将报告导出为 **HTML**
- 将会话历史记录导出为 **CSV**
# 演示模式(适合黑客马拉松)
该工具包含内置的**演示模式**,专为演示和离线使用而设计。
演示模式功能:
- 自动生成的钓鱼数据集
- 离线机器学习训练
- 无需外部 API 依赖
- 非常适合黑客马拉松和网络安全演示
# 检测架构
PhishGuard Pro 遵循**三层安全架构**。
## 第 1 层 – 启发式分析
基于规则的检查分析 URL 的结构属性。
检查包括:
- IP 地址检测
- `@` 符号存在
- URL 过长
- 可疑令牌
- 多重子域名
- 不安全的 TLD
- 缺少 HTTPS
- SSL 证书有效性
- 域名年龄验证
## 第 2 层 – Machine Learning 检测
1. URL 被转换为**字符级 TF-IDF 向量**。
2. 特征向量被传递到 **Logistic Regression 分类器**。
3. 模型预测**钓鱼概率分数**。
该层实现了**快速且可扩展的检测**。
## 第 3 层 – 威胁情报
为了加强结果,使用了外部威胁情报服务。
- **VirusTotal** 提供来自多个安全供应商的信誉分析。
- **Google Safe Browsing** 检测已知的恶意或钓鱼域名。
该层提高了**结果的准确性和可信度**。
# 技术栈
| Component | Technology |
|----------|------------|
| 编程语言 | Python |
| 桌面 UI | PyQt5 |
| Machine Learning | Scikit-Learn |
| 特征提取 | TF-IDF |
| 数据处理 | Pandas |
| 可视化 | Matplotlib |
| 域名查询 | python-whois |
| 域名解析 | tldextract |
| HTTP 请求 | Requests |
| 模型存储 | Joblib |
# 安装说明
## 1. 克隆仓库
```
git clone https://github.com/Chhatrapati-sahu-09/PhishGuard-Pro.git
cd PhishGuard-Pro
```
## 2. 创建虚拟环境(推荐)
```
python -m venv venv
```
激活环境
### Windows
```
venv\Scripts\activate
```
### Mac / Linux
```
source venv/bin/activate
```
## 3. 安装依赖
```
pip install -r requirements.txt
```
# 运行应用程序
```
python main.py
```
应用程序将启动 **PhishGuard Pro 桌面界面**。
# 项目结构
```
PhishGuard-Pro
│
├── main.py
├── model
│ ├── phishing_model.pkl
│ └── vectorizer.pkl
│
├── analysis
│ ├── heuristic_checker.py
│ ├── ml_detector.py
│ └── threat_intel.py
│
├── ui
│ ├── dashboard.py
│ └── theme.py
│
├── reports
│ └── report_generator.py
│
├── data
│ └── demo_dataset.csv
│
└── requirements.txt
```
# 使用场景
PhishGuard Pro 可用于:
- 网络安全项目演示
- 黑客马拉松和研究原型
- 钓鱼检测实验
- 安全意识演示
- Machine Learning 安全项目
# 许可证
本项目采用 **MIT License** 授权。
# 作者
**Chhatrapati Sahu**
Portfolio: https://www.chhatrapatisahu.me
GitHub: https://github.com/Chhatrapati-sahu-09
LinkedIn: https://www.linkedin.com/in/chhatrpati-sahu-4b803130a/
标签:Apex, API集成, cybersecurity, DInvoke, PyQt5, Python, Scikit-Learn, SSL证书检查, TF-IDF, URL分析, WHOIS查询, 人工智能, 代码示例, 协议探测, 反钓鱼, 可观测性, 启发式分析, 域名验证, 威胁情报, 字符串匹配, 实时检测, 开发者工具, 数据分析, 无后门, 机器学习, 桌面应用, 用户模式Hook绕过, 网络安全, 逆向工具, 逻辑回归, 钓鱼检测, 隐私保护, 黑客松项目, 黑白名单