📋 项目简介
本项目是一个基于机器学习的钓鱼邮件智能检测系统,采用多种机器学习算法对邮件进行分类,能够有效识别正常邮件、垃圾邮件和钓鱼邮件。系统提供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 - 词云生成