MakwanaOm1615/EnsemblePhish
GitHub: MakwanaOm1615/EnsemblePhish
一个结合规则与机器学习集成的钓鱼网址检测系统,提供实时分析、可解释结果与交互式仪表盘。
Stars: 0 | Forks: 0
# 🛡️ EnsemblePhish — AI-Powered Phishing URL Detection System
EnsemblePhish 是一个**专业的网络安全项目**,它通过**基于规则的分析和机器学习集成模型**来检测钓鱼网址。
它旨在通过使用 Streamlit 构建的交互式 Web 界面,提供**准确、可解释且实时的检测**。
## 🚀 功能特性
* 🔗 **实时网址检测**
* 📋 **批量网址扫描**
* 📄 **PDF 链接提取**
* 🧠 **机器学习集成(随机森林 + 支持向量机 + 神经网络)**
* ⚙️ **基于规则的安全引擎**
* 📊 **自定义数据集上传与模型再训练**
* 🎯 **高准确率(~96%+)**
* 💡 **可解释的结果(为什么某个网址是钓鱼/安全的)**
## 🧠 工作原理
系统采用**多层架构**:
1. **白名单检查**
受信任的域名会立即被标记为安全。
2. **特征提取**
提取以下关键网址特征:
* IP 地址使用情况
* 网址长度
* HTTPS 状态
* 特殊符号(@、-)
* 子域名
3. **基于规则的评分**
根据可疑模式分配钓鱼风险评分(0–100)。
4. **机器学习集成**
* 随机森林 🌲
* 支持向量机 ⚡
* 神经网络 🧠
多数投票提高预测准确性。
5. **最终决策**
结合:
* 60% 机器学习预测
* 40% 规则评分
## 🛠️ 技术栈
* **前端/UI:** Streamlit
* **后端:** Python
* **机器学习模型:** Scikit-learn
* **库:** NumPy、Pandas
* **可选:** PyMuPDF(用于 PDF 链接提取)
## 📂 项目结构
```
EnsemblePhish/
│── app.py
│── dataset.csv
│── requirements.txt
│── README.md
```
## ⚙️ 安装与设置
### 1. 克隆仓库
```
git clone https://github.com/YOUR_USERNAME/EnsemblePhish.git
cd EnsemblePhish
```
### 2. 安装依赖
```
pip install -r requirements.txt
```
### 3. 运行应用程序
```
streamlit run app.py
```
## 📊 数据集信息
* 📌 总网址数:**11,055**
* 📌 特征数:**30**
* 📌 标签:
* `-1` → 钓鱼
* `1` → 合法
## 🔥 关键亮点
* 混合 **规则 + 机器学习** 方法
* **可解释的人工智能输出**
* 干净的 **网络安全主题 UI**
* 支持 **真实世界的钓鱼检测用例**
## ⚠️ 免责声明
本项目仅用于**教育和研究目的**。
它不应作为生产系统中唯一的安全措施。
## ⭐ 支持
如果您喜欢这个项目:
* ⭐ 为仓库点赞
* 🍴 分支项目
* 🧠 贡献改进
标签:Apex, HTTPS检测, IP使用, Kubernetes, NumPy, PDF链接提取, Python后端, Scikit-learn, SEO, Streamlit, URL检测, 云计算, 前端UI, 可解释性, 子域名分析, 安全分类, 安装部署, 实时分析, 支持向量机, 无服务器架构, 机器学习, 模型重训练, 特征提取, 白名单检查, 神经网络, 符号检测, 网络安全, 自定义数据集, 规则引擎, 访问控制, 逆向工具, 钓鱼检测, 随机森林, 隐私保护, 集成学习, 项目结构, 高准确率