NotSoAbhinav/PhishGuard
GitHub: NotSoAbhinav/PhishGuard
结合随机森林与规则启发式的轻量级钓鱼 URL 检测系统,提供可解释的风险判定与 REST API。
Stars: 0 | Forks: 0
# PhishGuard 🔐
PhishGuard 是一个混合网络钓鱼检测系统,它通过结合机器学习和基于规则的启发式算法来分析 URL,从而识别恶意的、可疑的和安全的链接,并提供可解释的结果。
## 🚀 概述
网络钓鱼攻击是最常见的网络安全威胁之一,它通过恶意链接诱骗用户泄露敏感信息。
PhishGuard 通过结合以下方式解决了这个问题:
* **机器学习(Random Forest)** 用于模式识别
* **基于规则的启发式算法** 用于安全洞察
* **可解释的输出** 用于强调 URL 存在风险的原因
## 🧠 功能
* 🔍 URL 分析与分类
* 🤖 基于机器学习的预测
* ⚙️ 基于规则的风险评分
* 📊 可解释的结果(检测原因)
* 🌐 用于集成的 REST API
* 💻 简单的 Web 界面前端
## 🏗️ 技术栈
**后端**
* Python (Flask)
* Scikit-learn
**前端**
* HTML, CSS, JavaScript
**其他**
* 特征工程
* REST API 架构
## ⚙️ 工作原理
1. 用户输入一个 URL
2. 系统提取结构和词汇特征
3. 规则引擎评估可疑模式
4. ML 模型预测网络钓鱼的概率
5. 返回附带解释的综合结果
## 📁 项目结构
```
phishguard/
│
├── backend/
│ ├── app.py
│ ├── train_model.py
│ ├── feature_extractor.py
│ └── model.pkl
│
├── frontend/
│ ├── index.html
│ ├── style.css
│ └── script.js
│
├── dataset/
├── README.md
└── LICENSE
```
## 🔌 API 用法
### 端点
```
POST /analyze
```
### 请求
```
{
"url": "http://example.com"
}
```
### 响应
```
{
"result": "phishing",
"reasons": [
"Contains suspicious keyword: login",
"Uses HTTP instead of HTTPS"
]
}
```
## 🧪 模型详情
* 算法:Random Forest Classifier
* 输入:提取的 URL 特征
* 输出:二分类(Safe / Phishing)
## 🚧 状态
目前正在开发中。核心功能正在逐步实现。
## 📌 未来改进
* 用于实时检测的浏览器扩展
* 域名年龄和 WHOIS 分析
* 高级特征工程
* 带有分析功能的仪表板
* API 密钥身份验证
## 📄 许可证
本项目采用 MIT 许可证授权。
## 👨💻 作者
Abhinav Mishra
B.Tech CSE(网络安全与数字取证)
标签:Apex, CMS安全, CSS, Flask, HTML, JavaScript, Python, REST API, Scikit-learn, URL分析, Web安全, 二分类, 云计算, 前后端分离, 可解释AI, 启发式分析, 多模态安全, 威胁情报, 安全检测API, 开发者工具, 恶意链接分析, 搜索语句(dork), 数据可视化, 无后门, 机器学习, 欺诈防护, 特征工程, 网络安全, 网络钓鱼防御, 蓝队分析, 规则引擎, 逆向工具, 钓鱼检测, 链接安全检测, 随机森林, 隐私保护, 风控系统