📋 项目简介
本项目是一个基于机器学习的钓鱼邮件智能检测系统,采用多种机器学习算法对邮件进行分类,能够有效识别正常邮件、垃圾邮件和钓鱼邮件。系统提供Web界面和API接口,支持单邮件检测、批量检测、附件风险分析等功能。
核心功能
- 🔍 智能邮件检测 - 基于随机森林等多种机器学习算法进行邮件分类
- 📁 多格式支持 - 支持
.eml和.json格式的邮件文件 - 🖥️ Web管理界面 - 基于Flask的直观Web界面
- 📊 多模型对比 - 支持多种机器学习模型的训练和对比
- 📈 数据统计分析 - 提供详细的检测统计和可视化报告
- 🔒 附件风险分析 - 自动分析附件文件的安全风险等级
- 📝 文本检测 - 支持直接输入邮件文本进行实时检测
- 📦 批量处理 - 支持批量上传和检测多个邮件文件
🚀 快速开始
环境要求
- Python 3.8+
- pip 包管理器
- 2GB+ 可用内存
安装步骤
- 克隆项目
git clone https://github.com/yourusername/phishing-email-detector.git
cd phishing-email-detector/phishing_email_detector
- 安装依赖
pip install -r requirements.txt
- 运行应用
python app.py
- 访问系统 打开浏览器访问
http://localhost:5000
📁 项目结构
phishing_email_detector/ ├── app.py # Flask应用主入口 ├── config.py # 系统配置文件 ├── requirements.txt # Python依赖包 ├── models/ # 模型相关模块 │ ├── phishing_model.py # 钓鱼邮件检测模型 │ ├── feature_extractor.py # 特征提取器 │ ├── database.py # 数据库管理 │ ├── trec06c_processor.py # TREC06C数据集处理器 │ ├── model_comparison.py # 多模型对比 │ └── email_parser.py # 邮件解析器 ├── utils/ # 工具模块 │ ├── logger.py # 日志管理 │ ├── data_processor.py # 数据处理 │ └── feature_extractor.py # 特征提取工具 ├── templates/ # HTML模板 │ ├── index.html # 首页 │ ├── upload.html # 单文件上传 │ ├── batch_upload.html # 批量上传 │ ├── text_detection.html # 文本检测 │ ├── train_model.html # 模型训练 │ ├── dataset_view.html # 数据集查看 │ └── attachment_analysis.html # 附件分析 ├── static/ # 静态资源 │ ├── css/ │ ├── js/ │ └── images/ ├── logs/ # 日志文件 └── models_saved/ # 保存的模型文件
🔧 技术栈
后端框架
- Flask - Web应用框架
- SQLite - 轻量级数据库
机器学习
- scikit-learn - 机器学习库
- Random Forest (随机森林)
- SVM (支持向量机)
- Logistic Regression (逻辑回归)
- Naive Bayes (朴素贝叶斯)
- XGBoost
- NumPy/Pandas - 数据处理
- NLTK/jieba - 自然语言处理
前端技术
- HTML5/CSS3/JavaScript
- Bootstrap - UI框架
- Chart.js - 数据可视化
- ECharts - 图表库
其他工具
- BeautifulSoup - HTML解析
- email-validator - 邮件验证
- wordcloud - 词云生成