Shruti8122/Phishing-Email-Detection

GitHub: Shruti8122/Phishing-Email-Detection

一个结合 NLP 与神经网络的全栈钓鱼邮件检测系统,通过 React 前端与 Flask API 提供实时邮件分类与置信度评分。

Stars: 1 | Forks: 0

# 📧 基于 AI 的钓鱼邮件检测 这是一个全栈机器学习应用程序,使用**自然语言处理 (NLP)** 和**神经网络 (MLPClassifier)** 来检测邮件是**安全**的还是**钓鱼**的。 该项目包含一个 **React 前端**、一个 **Flask REST API 后端**,以及一个用于实时钓鱼邮件检测的训练好的机器学习模型。 # 📖 概述 钓鱼邮件是最常见的网络安全威胁之一,用于窃取密码、银行凭证和个人数据等敏感信息。本项目应用机器学习和自然语言处理技术来分析邮件内容,并将其分类为**安全**或**钓鱼**。 该应用程序提供了一个直观的基于 React 的界面,用户可以粘贴邮件并立即收到预测结果以及模型的置信度分数。 # 🚀 功能 - 检测安全和钓鱼邮件 - 带有响应式 UI 的 React 前端 - Flask REST API 后端 - 神经网络 (MLPClassifier) - TF-IDF 文本向量化 - 为每个预测提供置信度分数 - 简单且用户友好的界面 # 🛠 技术栈 ## 前端 - React - Tailwind CSS - React Router DOM ## 后端 - Flask - Flask-CORS - Python ## 机器学习 - Scikit-learn - 神经网络 (MLPClassifier) - TF-IDF Vectorizer - NLTK - Pandas - NumPy # 🧠 机器学习 Pipeline ``` Email │ ▼ Text Cleaning │ ▼ Stopword Removal │ ▼ Lemmatization │ ▼ TF-IDF Vectorization │ ▼ Neural Network │ ▼ Prediction ``` # 📂 项目结构 ``` Phishing_Email_Detection │ ├── dataset/ │ ├── frontend/ │ ├── src/ │ ├── package.json │ └── ... │ ├── models/ │ ├── phishing_neural_network.pkl │ └── tfidf_vectorizer.pkl │ ├── app.py ├── requirements.txt ├── README.md └── train_model.py ``` # ⚙️ 安装说明 ## 克隆仓库 ``` git clone ``` ``` cd Phishing_Email_Detection ``` ## 安装后端依赖 ``` pip install -r requirements.txt ``` ## 运行 Flask API ``` python app.py ``` 后端将启动于: ``` http://127.0.0.1:5000 ``` ## 运行前端 导航到前端目录。 ``` cd frontend ``` 安装依赖。 ``` npm install ``` 运行开发服务器。 ``` npm run dev ``` 前端将可访问于: ``` http://localhost:5173 ``` # 📡 API Endpoint ## POST `/predict` ### 请求 ``` { "email": "Paste your email content here..." } ``` ### 响应 ``` { "prediction": "Phishing", "confidence": 98.74 } ``` # 📸 应用程序 该应用程序允许用户: - 粘贴一封邮件 - 点击 **Predict** 按钮 - 查看该邮件是**安全**的还是**钓鱼**的 - 查看模型的置信度分数 # 📊 模型 ### 算法 - 神经网络 (MLPClassifier) ### 特征提取 - TF-IDF Vectorizer ### 文本预处理 - 将文本转换为小写 - 移除 URL - 移除电子邮件地址 - 移除数字 - 移除标点符号 - 移除 stopwords - 词形还原 # 📁 数据集 本项目使用了来自 Kaggle 的一个**钓鱼邮件数据集**。 **数据集 License** GNU Lesser General Public License v3.0 (LGPL-3.0) 在重新分发或修改数据集之前,请参阅原始数据集页面以获取归属和许可详情。 # 📜 License 本项目旨在用于教育和研究目的。 在重新分发或使用数据集时,请确保遵守数据集的 **GNU LGPL v3.0** License。 # 👩‍💻 作者 **Shruti Singh** B.Tech CSE (人工智能与机器学习)
标签:Apex, 机器学习, 网络安全, 逆向工具, 钓鱼检测, 隐私保护