MysticXTharun/phishing-email-investigation-dashboard

GitHub: MysticXTharun/phishing-email-investigation-dashboard

面向 SOC 分析师构建的钓鱼邮件自动化静态分析仪表板,通过提取认证状态、妥协指标并计算风险评分,加速可疑邮件的初步研判与历史追踪。

Stars: 0 | Forks: 0

# 钓鱼邮件调查仪表板 这是一个专注于 SOC 的应用程序,用于分析可疑邮件、提取妥协指标、检查邮件身份验证结果、计算风险评分,并存储调查历史记录。 ## 项目目标 钓鱼邮件通常会冒充受信任的组织,以窃取凭证、分发恶意软件或将用户重定向到恶意网站。SOC 分析师在得出最终判定之前,必须检查邮件标头、身份验证结果、链接、附件和发件人信息。 本项目旨在自动化完成初步的静态分析和分流处理过程。 ## 功能特性 - 原始邮件标头和正文分析 - SPF、DKIM 和 DMARC 结果检测 - 发件人、Reply-To 和 Return-Path 对比 - URL、域名和 IP 地址提取 - 可疑附件检测 - 钓鱼关键词检测 - SHA-256 邮件指纹生成 - 0–100 的风险评分 - 可能安全、可疑和恶意的判定结论 - 使用 SQLite 存储调查历史 - 提供 REST API 并附带 Swagger 文档 - 响应式 SOC 风格界面 - Docker 部署 - 自动化的 pytest 覆盖率测试 ## 钓鱼调查工作流 1. 分析师提交完整的原始邮件。 2. 应用程序解析其标头和正文。 3. 提取 SPF、DKIM 和 DMARC 结果。 4. 对比发件人、Reply-To 和 Return-Path 域名。 5. 提取 URL、域名、IP 地址和附件。 6. 检测可疑用语和文件扩展名。 7. 生成风险评分和判定结论。 8. 将结果存储到 SQLite 中以供日后审查。 ## 邮件身份验证 ### SPF Sender Policy Framework 检查发送邮件服务器是否被授权发送来自其所声明域名的邮件。 ### DKIM DomainKeys Identified Mail 使用数字签名来验证邮件是否已由发送域授权,并且在传输过程中未被篡改。 ### DMARC Domain-based Message Authentication, Reporting and Conformance 利用 SPF 和 DKIM 的结果来应用域名策略,以帮助防止邮件欺骗。 ## 分析的指标 | 指标 | 用途 | |---|---| | 发件人地址 | 识别显示的发件人 | | Reply-To 地址 | 检测被重定向到其他域名的回复 | | Return-Path | 识别 envelope 发件人 | | SPF、DKIM 和 DMARC | 检测身份验证失败情况 | | URL 和域名 | 查找可能用于窃取凭证的链接 | | IP 地址 | 提取基础设施信息以便进一步调查 | | 附件 | 检测可疑的可执行文件或脚本扩展名 | | 邮件用语 | 检测紧急性、账户威胁和凭证请求 | | SHA-256 哈希 | 为提交的邮件创建唯一指纹 | ## 风险分类 | 风险评分 | 判定结论 | 含义 | |---|---|---| | 0–39 | 可能安全 | 可疑指标极少或没有 | | 40–69 | 可疑 | 需要分析师进行额外调查 | | 70–100 | 恶意 | 包含多个高置信度的钓鱼指标 | 评分受身份验证失败、发件人信息不匹配、可疑措辞、URL、Return-Path 差异以及危险附件等因素的影响。 ## 技术栈 - Python - FastAPI - SQLite - Jinja2 - HTML、CSS 和 JavaScript - Docker 和 Docker Compose - Pytest ## 项目结构 ``` phishing-email-investigation-dashboard/ ├── app/ │ ├── static/ │ │ ├── css/style.css │ │ └── js/app.js │ ├── templates/ │ │ ├── index.html │ │ └── investigation.html │ ├── analyzer.py │ ├── database.py │ └── main.py ├── data/ ├── docs/screenshots/ ├── tests/test_analyzer.py ├── compose.yaml ├── Dockerfile ├── requirements.txt └── README.md ``` ## 使用 Docker 运行 ``` git clone https://github.com/MysticXTharun/phishing-email-investigation-dashboard.git cd phishing-email-investigation-dashboard docker compose up --build -d ``` 打开仪表板: ``` http://localhost:8000 ``` 打开 API 文档: ``` http://localhost:8000/docs ``` 检查应用程序健康状况: ``` curl http://localhost:8000/api/health ``` ## 运行测试 ``` docker compose exec phishing-dashboard python -m pytest -v ``` ## API 端点 | 方法 | 端点 | 描述 | |---|---|---| | GET | `/` | 仪表板 | | POST | `/analyze` | 分析并保存原始邮件 | | GET | `/investigations/{id}` | 查看调查结果 | | GET | `/api/investigations` | 获取调查历史记录 | | GET | `/api/investigations/{id}` | 以 JSON 格式获取单项调查记录 | | GET | `/api/statistics` | 获取仪表板统计数据 | | GET | `/api/health` | 应用程序健康检查 | | GET | `/docs` | Swagger API 文档 | ## 截图 ### 仪表板概览 ![仪表板概览](https://static.pigsec.cn/wp-content/uploads/repos/cas/b1/b197c17ba247509e8ae91f3e0f232413460535d4acda1e20d72a9fd0057d5691.png) ### 调查结果 ![调查结果](https://static.pigsec.cn/wp-content/uploads/repos/cas/29/294b08afabf03cca1ffda1256bdc05c478d8821f358e3772e43d80cee2fb877c.png) ### API 文档 ![API 文档](https://raw.githubusercontent.com/MysticXTharun/phishing-email-investigation-dashboard/main/docs/screenshots/api-documentation.png) ## 安全性限制 此应用程序仅执行静态分析。它不会打开 URL、执行附件、查询实时的威胁情报平台,也不能保证邮件绝对安全。 在真实的 SOC 调查中,应结合威胁情报、沙箱环境、端点遥测数据、邮件网关日志以及分析师的审查来验证结果。 ## 免责声明 本项目仅供教育和防御性安全目的使用。
标签:多模态安全, 数据可视化, 版权保护, 网络测绘, 请求拦截, 逆向工具