FuriousFire05/phishguard-ai
GitHub: FuriousFire05/phishguard-ai
结合机器学习与安全启发式规则的钓鱼 URL 智能检测引擎,提供可解释的风险评分、威胁分类及批量扫描能力。
Stars: 1 | Forks: 0
# 🛡️ PhishGuard AI
### 智能钓鱼 URL 检测与风险分析引擎
PhishGuard AI 是一个实用的钓鱼检测系统,它结合了**机器学习**、**URL 情报**和**安全启发式规则**,能够以高准确率识别恶意链接并提供清晰的解释。
本系统以生产环境应用为导向进行构建,超越了简单的分类范畴,提供了**可解释的风险评分**、**攻击模式检测**以及**安全的后端架构**。
## ⚡ 核心功能
* 🔍 **实时 URL 扫描**
通过训练好的机器学习模型与基于规则的智能分析,即时分析任何 URL
* 🧠 **混合检测引擎**
结合了以下技术:
* 机器学习 (Random Forest)
* 启发式安全规则
* 域名情报
* 🎯 **高准确率检测**
* 能够处理棘手的钓鱼 URL,例如:
* `google.com.secure-login.xyz`
* `paypal.com.login.verify.ru`
* 📊 **可解释的结果**
* 风险评分 (0–100%)
* 威胁分类 (安全 / 可疑 / 严重)
* 以人类可读的方式解释为什么该 URL 具有危险性
* 🖼️ **实时网站安全预览**
* 通过代理进行截图渲染
* 具备 SSRF 防护的后端
* 📦 **批量 URL 扫描**
* 使用真实的后端逻辑同时扫描多个 URL(无虚假/演示回退)
## 🧠 工作原理
### 1. 特征提取 (共享系统)
所有 URL 都会通过一个集中式的特征处理管道:
* URL 长度、信息熵、数字比例
* 子域名模式与深度
* 可疑关键词 (login, verify, secure 等)
* 域名结构与 TLD 分析
* 字符分布模式
### 2. 机器学习模型
* 模型:**Random Forest Classifier**
* 训练数据:
* 🔴 钓鱼 URL (PhishTank)
* 🟢 合法 URL (Tranco Top Domains)
* 包含真实世界样本的平衡数据集
### 3. 风险引擎 (混合逻辑)
最终得分 = **机器学习预测 + 安全启发式规则**
增强功能包括:
* 品牌冒充检测
* 可疑子域名检测
* 受信任域名的软调整(非盲目信任)
### 4. 安全的后端处理
* FastAPI 后端
* 截图端点的 SSRF 防护
* 安全的 URL 处理与验证
## 📁 项目结构
```
phishguard/
│
├── backend/ # FastAPI backend
├── frontend/ # Web UI
├── model/ # Training + dataset pipeline
├── shared/ # Feature extraction logic
│
├── requirements.txt
└── README.md
```
## 🚀 快速开始
### 1. 克隆仓库
```
git clone
cd phishguard
```
### 2. 安装依赖
```
pip install -r requirements.txt
```
### 3. 准备数据集 (必需)
您需要:
* PhishTank URL (钓鱼数据集)
* Tranco 顶级域名 (合法数据集)
将它们放置在以下路径:
```
model/phishtank_urls.csv
model/legit_urls.csv
```
### 4. 构建数据集
```
python model/build_dataset.py
```
### 5. 训练模型
```
python model/train_model.py
```
### 6. 运行后端
```
uvicorn backend.app:app --reload
```
### 7. 打开前端
访问:
```
frontend/index.html
```
## 🔒 安全考量
* 截图端点已实现 SSRF 防护
* 对已知域名不盲目信任
* 后端在处理前会验证所有 URL
## 📈 结果示例
| URL | 风险 |
| --------------------------- | --------------- |
| google.com | 0% (安全) |
| amazon.com | 0% (安全) |
| google.com.secure-login.xyz | 90%+ (严重) |
| paypal.com.login.verify.ru | 95%+ (严重) |
## 🧠 技术栈
* **后端:** FastAPI
* **前端:** Vanilla JS + HTML/CSS
* **机器学习:** Scikit-learn (Random Forest)
* **数据:** Pandas,真实世界数据集
## 🎯 未来改进
* 模型校准 (置信度调整)
* 困难负样本数据集扩充
* 云端部署 (API + UI)
* 浏览器扩展集成
## 👨💻 作者
本项目作为一个全栈 AI 安全项目构建,重点关注:
* 真实世界的适用性
* 系统设计
* 机器学习与安全的结合
## ⭐ 结语
这不仅是一个分类器——它是一个**钓鱼情报系统**,旨在反映真实检测管道的运作方式。
如果您觉得这个项目有用,请考虑给仓库点个 Star ⭐。
标签:Apex, DNS枚举, GraphQL安全矩阵, Python, SSRF防护, URL扫描, Web安全, XSS, 人工智能安全, 反钓鱼, 可解释性, 合规性, 后端开发, 品牌冒充, 域名情报, 多模态安全, 威胁分类, 安全启发式, 安全扫描器, 实时检测, 恶意链接, 数据可视化, 无后门, 机器学习, 混合检测引擎, 漏洞情报, 特征提取, 网络安全, 网络安全工具, 蓝队分析, 逆向工具, 钓鱼检测, 随机森林, 隐私保护, 风险分析, 风险评分