glglahmed/phishing-email-detector
GitHub: glglahmed/phishing-email-detector
一个基于规则和神经网络的混合AI系统,用于自动检测和分类钓鱼邮件,并提供双语解释。
Stars: 0 | Forks: 0

## 🎯 概述
PhishGuard 是一个**防御型人工智能系统**,能够自动分类可疑邮件并以英语和阿拉伯语解释其决策。它结合了多种人工智能技术,在保持高透明度和可解释性的同时实现了高精度。
```
📧 Email Input → 🔍 Analysis → 🚨 PHISHING / ⚠️ SUSPICIOUS / ✅ SAFE
```
### 🧠 AI与检测
| 功能 | 描述 |
|---------|-------------|
| MLP神经网络 | 隐藏层 (128 → 64 → 输出), ReLU, 300 个周期 |
| TF-IDF向量化 | 用于机器学习分类的3,000个文本特征 |
| 基于规则的引擎 | 18+条加权规则(英语+阿拉伯语模式) |
| 评分融合 | 最终得分 = (规则得分 × 0.6) + (机器学习置信度 × 0.4) |
### 🌍 域名情报
| 功能 | 描述 |
|---------|-------------|
| Top500数据集 | 可信域名权威性评分 |
| 黑名单数据集 | 已知的钓鱼/恶意域名 |
| 域名仿冒检测 | paypa1.com ≈ paypal.com → 被标记 |
| WHOIS验证 | 域名年龄和注册商检查 |
### 🔗 URL与邮件头分析
| 功能 | 描述 |
|---------|-------------|
| URL深度扫描器 | 展开短链接(如 bit.ly → 目标地址) |
| HTTP/HTTPS检测 | 标记不安全链接 |
| SPF / DKIM / DMARC | 邮件头身份验证 |
| IP地理位置 | 国家 · 城市 · 区域 · ISP |
## 🏗️ 架构
```
Email Input (Subject + Body + Sender + Header)
↓
┌─────────────────┐
│ Preprocessing │ → lowercase, remove noise
└────────┬────────┘
↓
┌──────────────────────────────────┐
│ Parallel Analysis │
├──────────────┬───────────────────┤
│ Rule Engine │ ML Model │
│ 18+ rules │ TF-IDF + MLP │
│ Score: 0-100│ Prob: 0.0-1.0 │
└──────┬───────┴────────┬──────────┘
│ │
└───────┬────────┘
↓
Score Fusion Formula
Final = (Rules × 0.6) + (ML × 0.4)
↓
┌──────────────────────────────────┐
│ Domain Check │
│ Blacklist → Top500 → Typosquat │
└──────────────────────────────────┘
↓
🚨 PHISHING / ⚠️ SUSPICIOUS / ✅ SAFE
+ Risk Score + Severity + Explanation
```
## 🗂️ 项目结构
```
phishing-detector/
│
├── 📁 data/
│ ├── phishing_legit_dataset_KD_10000.csv ← Training data
│ ├── top500Domains.csv ← Trusted domains
│ └── phishing_urls.csv ← Blacklist
│
├── 📁 model/
│ ├── model.pkl ← MLP Neural Network
│ └── vectorizer.pkl ← TF-IDF Vectorizer
│
├── 📁 src/
│ ├── preprocess.py ← Text cleaning & normalization
│ ├── rule_engine.py ← Weighted rule-based detection
│ ├── ml_model.py ← Train MLP Neural Network
│ ├── model_loader.py ← Load saved model
│ ├── explain.py ← Explanation generator (EN + AR)
│ ├── whois_check.py ← Smart domain trust checker
│ ├── app.py ← Streamlit web interface
│ └── main.py ← Terminal interface
│
├── 📁 logs/
│ └── history.json ← Analysis history
│
├── requirements.txt
└── README.md
```
## ⚙️ 设置与运行
### 前置条件
- Python 3.10+
- pip
### 1️⃣ 安装依赖
```
pip install -r requirements.txt
```
### 2️⃣ 训练神经网络
```
cd src
python ml_model.py
```
预期输出:
```
Accuracy: 1.0
✅ Model saved successfully!
```
### 3️⃣ 启动网页界面
```
streamlit run app.py
```
将在以下地址打开:`http://localhost:8501`
### 4️⃣ 或在终端中运行
```
python main.py
```
## 🧪 测试
**🚨 钓鱼邮件示例:**
```
Subject : URGENT: Your account has been suspended
Body : Click here immediately to verify your password
http://bit.ly/verify-now
Sender : support@paypa1.com
```
**✅ 安全邮件示例:**
```
Subject : Team meeting tomorrow
Body : Hi everyone, reminder that we meet at 10am.
Please bring your weekly updates.
Sender : john@gmail.com
```
## 📊 结果
### 模型性能
| 模型 | 准确率 | 精确率 | 召回率 | F1分数 |
|-------|---------|-----------|--------|---------|
| MLP神经网络 | **100%** | 1.00 | 1.00 | 1.00 |
### 方法对比
| 方面 | 基于规则 | MLP神经网络 |
|--------|-----------|-------------------|
| 准确率 | 中等 | **100%** |
| 速度 | 非常快 | 中等 |
| 可解释性 | **高** | 较低 |
| 适应性 | 固定 | **从数据中学习** |
| 阿拉伯语支持 | ✅ 手动规则 | ✅ 训练数据 |
## 🧠 使用的AI概念
| 概念 | 实现方式 |
|---------|---------------|
| 神经网络 | MLP分类器 (128 → 64 → 输出) |
| 基于规则的AI | 18+条加权检测规则 |
| 特征提取 | TF-IDF (3,000 个特征) |
| 智能体与环境 | 分析邮件环境的安全智能体 |
| 模式匹配 | 正则表达式 URL/IP/域名检测 |
## 👥 团队
| 姓名 | 学号 | 职责 |
|------|-----------|------|
| Galal Ahmed | 230103349 | AI / 机器学习 / 数据集 |
| Omar Ahmed | 230105097 | 规则引擎 / 测试 |
| Moayad Ayman | 230105619 | 后端 / 集成 |
| Bavly Waghy | 230103983 | UI / 文档 |
| Marwan Hossam | 230104805 | 报告 / 演示 |
## 📦 依赖要求
```
pandas
scikit-learn
numpy
streamlit
matplotlib
python-whois
reportlab
```
## ⚠️ 重要说明
由 PhishGuard 团队用 ❤️ 制作 — 埃尔·塞韦迪理工大学 2025
标签:Apex, IP地理位置, Kubernetes, MLP神经网络, Python开发, scikit-learn, Streamlit应用, TF-IDF, URL分析, URL发现, WHOIS验证, 云计算, 人工智能, 可解释AI, 域名智能, 多语言支持, 安全检测, 安全测试框架, 恶意链接识别, 拼写错误检测, 数据集分析, 机器学习, 混合系统, 用户模式Hook绕过, 电子邮件头分析, 电子邮件安全, 网络安全, 规则引擎, 逆向工具, 邮件分类, 钓鱼邮件检测, 防御性AI, 隐私保护