glglahmed/phishing-email-detector

GitHub: glglahmed/phishing-email-detector

一个基于规则和神经网络的混合AI系统,用于自动检测和分类钓鱼邮件,并提供双语解释。

Stars: 0 | Forks: 0

![替代文本](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/d4af4434f1223218.png) ## 🎯 概述 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, 隐私保护