M-Sugiarto/email-threat-analyzer

GitHub: M-Sugiarto/email-threat-analyzer

一款纯浏览器端运行的邮件威胁分析器,整合9个免费威胁情报API,为SOC团队提供从邮件头解析到加权评分的一站式网络钓鱼分诊能力。

Stars: 2 | Forks: 1

# 🛡️ 邮件威胁分析器 — SOC 与管理版
![Version](https://img.shields.io/badge/version-4.1-blue) ![License](https://img.shields.io/badge/license-MIT-green) ![Static](https://img.shields.io/badge/type-Static%20HTML-orange) ![Made in](https://img.shields.io/badge/Made%20in-Indonesia-red) ![APIs](https://img.shields.io/badge/APIs-9%20free-brightgreen) ![PRs](https://img.shields.io/badge/PRs-welcome-brightgreen) [🚀 在线演示](https://m-sugiarto.github.io/email-threat-analyzer/) • [📖 文档](#-usage) • [🐛 报告 Bug](https://github.com/mozes-sugiarto/email-threat-analyzer/issues) • [✨ 请求功能](https://github.com/mozes-sugiarto/email-threat-analyzer/issues)
## 📋 目录 - [概述](#-overview) - [功能](#-features) - [快速开始](#-quick-start) - [使用方法](#-usage) - [Debug 模式](#-debug-mode) - [威胁情报 API](#-threat-intelligence-apis) - [评分引擎](#-scoring-engine) - [架构](#-architecture) - [技术栈](#-tech-stack) - [隐私与安全](#-privacy--security) - [贡献](#-contributing) - [许可证](#-license) - [致谢](#-acknowledgments) ## 🎯 概述 **邮件威胁分析器** 是一个专为 **SOC 分析师 (L1/L2)** 和 **安全管理层** 设计的综合静态 HTML 工具,用于快速评估可疑邮件的威胁等级。它将传统的邮件头分析与现代威胁情报 API 相结合,提供: - 🎯 **执行摘要 (TL;DR)** — 面向管理层的平易近人的发现 - 🔍 **深度技术分析** — 为 SOC 团队提供完整的元数据提取 - 📊 **加权威胁评分** — 基于 8 个维度的 0-100 分评分 - 🚨 **可执行的建议** — 允许 / 审查 / 隔离 / 阻止 - 🐛 **Debug 模式** — 实时查看所有 API 调用 非常适合用于事件响应、网络钓鱼分类、垃圾邮件分析和安全意识培训。 ## ✨ 功能 ### 📋 执行摘要 (TL;DR) - **对管理层友好**的通俗易懂的发现 - **邮件分类**:合法 / 批量营销 / 可疑 / 恶意 - **建议操作**及明确的理由(允许/审查/隔离/阻止) - 突出显示 **顶级 IOC**(妥协指标) - 支持 **复制和打印**,易于生成报告 ### 🔍 深度技术分析 - **完整 Header 解析** — 提取并显示所有邮件头 - **接收链可视化** — 通过时间线追踪邮件路由跳数 - **身份验证分析** — SPF, DKIM, DMARC, ARC, CompAuth - **SCL / 垃圾邮件检测** — Microsoft SCL, Forefront, SpamAssassin, Barracuda - **批量邮件检测** — 识别营销 ESP(Mailchimp, SendGrid 等) - **No-Reply 与 Reply-To 分析** — 检测不匹配和异常模式 ### 🌐 IP 情报 - **DNSBL 信誉** — 通过 Cloudflare DoH 对比 10 个黑名单进行检查 - **GeoIP 查询** — 通过 ip-api.com 查询国家、城市、ISP、ASN - **Shodan InternetDB** — 开放端口、已知漏洞、主机名 - **GreyNoise Community** — 区分扫描器与定向攻击 - **ThreatFox IOC** — 检查 IP 是否在已知的恶意软件活动中 ### 🌍 域名情报 - **Wayback Machine** — 域名年龄与首次发现历史 - **RDAP.org** — 域名注册数据 - **crt.sh** — 证书透明度日志与子域名枚举 ### 🔗 URL 与附件分析 - **URLhaus** — 将 URL 与已知恶意数据库进行比对 - **网络钓鱼启发式分析** — Punycode、品牌冒充、可疑的 TLD - **附件 SHA-256** — 计算 Hash 用于 IOC 追踪 - **危险扩展名检测** — 标记 60 多种可执行文件类型 ### 🐛 Debug 模式 (v4.1) - **实时 API 状态** — 查看哪些 API 成功/失败 - **控制台日志** — 在浏览器 DevTools 中提供详细日志 - **时间戳追踪** — 准确了解每个 API 何时被调用 - **错误可见性** — 了解 API 可能失败的原因 ### 📊 高级评分引擎 涵盖 **8 个维度**的加权综合评分 (0-100): - 🔐 身份验证 (15%) - 🌐 IP 信誉 (15%) - 🔍 信息丰富 (10%) — Shodan, GreyNoise, ThreatFox - 🌍 域名年龄 (15%) - 🔗 URL 威胁 (15%) - 📎 附件 (10%) - 📨 Header 异常 (10%) - 🎯 垃圾邮件 / 批量邮件 (10%) ## 🚀 快速开始 ### 选项 1:GitHub Pages(推荐) ``` # Fork 或 clone 此 repository git clone https://github.com/YOUR_USERNAME/email-threat-analyzer.git cd email-threat-analyzer # Push 到你的 GitHub repository git remote set-url origin https://github.com/YOUR_USERNAME/email-threat-analyzer.git git push -u origin main # 启用 GitHub Pages: # Settings → Pages → Source: Deploy from branch → main → / (root) # 访问你的 tool 地址: # https://YOUR_USERNAME.github.io/email-threat-analyzer/ ``` ### 选项 2:本地使用 只需下载 `index.html` 并在任何现代浏览器中打开即可。无需安装! ### 选项 3:任何静态托管服务 将 `index.html` 上传至: - **Netlify**(拖拽即可) - **Vercel** - **Cloudflare Pages** - **AWS S3 + CloudFront** - **任何 Web 服务器**(Apache, Nginx 等) ## 📖 使用方法 1. **上传**:拖放 `.eml` 文件或粘贴原始邮件源码 2. **分析**:等待工具查询威胁情报 API(约 10-30 秒) 3. **查看 TL;DR**:检查顶部的执行摘要 4. **Debug**(可选):点击 🐛 Debug 按钮查看 API 状态 5. **深入分析**:浏览各个标签页获取技术细节 6. **导出**:下载完整报告或打印给管理层查看 ### 支持的输入格式 - ✅ 原始 `.eml` 文件(从 Outlook, Gmail, Thunderbird 导出) - ✅ 粘贴的邮件源码(完整 Header + 正文) - ✅ `.msg` 文件(部分支持) ## 🐛 Debug 模式 在 **v4.1** 中引入的 Debug 模式提供了对分析过程的完整可见性: ### 如何使用 1. 分析完成后,点击 Header 中的 **🐛 Debug** 按钮 2. 将展开一个面板,显示所有 API 调用及其时间戳 3. 每条记录显示: - **时间戳** — API 调用的时间 - **API 名称** — 查询的服务 - **状态** — SUCCESS / WARNING / ERROR - **消息** — 详细结果或错误信息 ### Debug 输出示例 ``` [14:32:15] Cloudflare DoH: SUCCESS - 198.2.175.96.zen.spamhaus.org → No records [14:32:16] ip-api.com: SUCCESS - 198.2.175.96 → Atlanta, United States [14:32:17] Shodan: SUCCESS - 198.2.175.96 → 3 ports, 0 vulns [14:32:18] GreyNoise: SUCCESS - 198.2.175.96 → noise: false, classification: unknown [14:32:19] ThreatFox: SUCCESS - 198.2.175.96 → 0 IOCs found [14:32:20] Wayback: SUCCESS - example .org → First seen: 2003-05-12 (8432 days ago) [14:32:21] RDAP: SUCCESS - example .org → Registered: 2001-08-15 (9000 days ago) [14:32:22] crt.sh: SUCCESS - example .org → 45 certs, 3 recent ``` ### 浏览器控制台 对于开发者,详细的日志也可在浏览器的 DevTools 控制台 (F12) 中查看。 ## 🔌 威胁情报 API 所有 **9 个 API** 均为 **免费、无需 API 密钥、支持 CORS 且已经过验证**: | # | API | 用途 | 频率限制 | 状态 | |---|-----|---------|------------|--------| | 1 | [Cloudflare DoH](https://developers.cloudflare.com/1.1.1.1/) | DNSBL 信誉(10 个黑名单) | 无限 | ✅ 已验证 | | 2 | [ip-api.com](https://ip-api.com/) | GeoIP / ISP / ASN 查询 | 45 请求/分钟 | ✅ 已验证 | | 3 | [URLhaus](https://urlhaus.abuse.ch/) | 恶意 URL 数据库 | 免费 | ✅ 已验证 | | 4 | [Wayback Machine](https://archive.org/) | 域名历史与年龄 | 免费 | ✅ 已验证 | | 5 | [RDAP.org](https://rdap.org/) | 域名注册数据 | 免费 | ✅ 已验证 | | 6 | [Shodan InternetDB](https://internetdb.shodan.io/) | IP 端口、漏洞、主机名 | 免费 | ✅ 已验证 | | 7 | [GreyNoise](https://www.greynoise.io/) | IP 扫描器/噪声检测 | 免费 | ✅ 已验证 | | 8 | [crt.sh](https://crt.sh/) | 证书透明度 | 免费 | ✅ 已验证 | | 9 | [ThreatFox](https://threatfox.abuse.ch/) | IOC 查询 (IP/域名) | 免费 | ✅ 已验证 | ### 查询的 DNSBL 黑名单 - zen.spamhaus.org - bl.spamcop.net - b.barracudacentral.org - dnsbl.sorbs.net - spam.dnsbl.sorbs.net - psbl.surriel.com - dyna.spamrats.com - noptr.spamrats.com - spam.spamrats.com - all.s5h.net ## 📊 评分引擎 ### 判定阈值 | 分数 | 判定 | 操作 | |-------|---------|--------| | 0-14 | ✅ 安全 | 允许 — 无重大威胁 | | 15-29 | ℹ️ 低风险 | 审查 — 轻微隐患 | | 30-49 | 🔶 中风险 | 审查 — 多项异常指标 | | 50-69 | ⚠️ 高风险 | 隔离 — 展开调查 | | 70-100 | 🚨 严重 | 阻止 — 明确的恶意指标 | ### 邮件分类 该工具将邮件分类为: - **合法** — 正常的业务/个人邮件 - **批量营销** — 时事通讯、推广邮件(通过 ESP 检测) - **可疑** — 多项轻微指标需要注意 - **恶意** — 高置信度的网络钓鱼、恶意软件或欺骗 ### 情境惩罚 除了加权评分外,还会对以下情况进行额外惩罚: - **+25 分** — 检测到批量邮件(未经请求的营销) - **+10 分** — Reply-To 不匹配(网络钓鱼中常见) ## 🏗️ 架构 ``` ┌─────────────────────────────────────────────────┐ │ Browser (Client-Side) │ │ ┌───────────────────────────────────────────┐ │ │ │ PostalMime (Email Parsing) │ │ │ │ DOMPurify (XSS Protection) │ │ │ │ Web Crypto API (SHA-256 Hashing) │ │ │ └───────────────────────────────────────────┘ │ │ ↓ │ │ ┌───────────────────────────────────────────┐ │ │ │ Analysis Engine (v4.1) │ │ │ │ • Header Parser │ │ │ │ • Auth Validator (SPF/DKIM/DMARC) │ │ │ │ • URL Analyzer │ │ │ │ • Attachment Scanner │ │ │ │ • Bulk Mail Detector │ │ │ │ • Scoring Engine (8 dimensions) │ │ │ │ • Executive Summary Generator │ │ │ │ • Debug Logger │ │ │ └───────────────────────────────────────────┘ │ │ ↓ │ │ ┌───────────────────────────────────────────┐ │ │ │ API Connectors (9 Validated APIs) │ │ │ │ Cloudflare • ip-api • URLhaus │ │ │ │ Wayback • RDAP • Shodan • GreyNoise │ │ │ │ crt.sh • ThreatFox │ │ │ └───────────────────────────────────────────┘ │ └─────────────────────────────────────────────────┘ ``` ## 🛠️ 技术栈 | 组件 | 技术 | 版本 | 许可证 | |-----------|------------|---------|---------| | 邮件解析 | [PostalMime](https://github.com/nicedoc/postal-mime) | 2.4.0 | MIT | | XSS 防护 | [DOMPurify](https://github.com/cure53/DOMPurify) | 3.1.6 | MIT/Apache-2.0 | | 哈希计算 | Web Crypto API (原生) | — | — | | UI | 原生 HTML/CSS/JS | — | MIT | | 托管 | GitHub Pages / 任何静态托管 | — | — | ## 🔒 隐私与安全 ### 🛡️ 您的数据保留在本地 - **100% 客户端处理** — 邮件内容永远不会发送到任何服务器 - **仅查询元数据** — IP 地址和可疑 URL 会发送至威胁情报 API - **无追踪** — 无分析工具、无 Cookie、无第三方脚本 - **无存储** — 所有分析都是临时的,并在页面刷新时清除 ### ⚠️ 哪些数据会被发送至 API | 数据 | 发送至 | 用途 | |------|---------|---------| | 发件人 IP 地址 | Cloudflare, ip-api, Shodan, GreyNoise, ThreatFox | 信誉检查 | | 可疑 URL | URLhaus | 恶意软件数据库查询 | | 域名 | Wayback, RDAP, crt.sh | 年龄与历史检查 | **注意**:邮件正文、主题和个人内容**绝不会被**传输。 ## 📄 许可证 本项目基于 **MIT 许可证** 授权 — 详情请参阅 [LICENSE](LICENSE) 文件。 ``` © 2026 Mozes Sugiarto Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ``` ## 免责声明 本项目仅供教育和操作目的提供。 用户有责任遵守与本软件一起使用的任何第三方服务、API、框架或数据源相关的许可证、服务条款和法规。
**用 ❤️ 在 🇮🇩 印度尼西亚制作** **© 2026 Mozes Sugiarto** • 基于 [MIT 许可证](LICENSE) 授权 ⭐ 如果这个项目对您有帮助,请给它点个 Star! [⬆ 返回顶部](#-email-threat-analyzer--soc--management-edition)
标签:后端开发, 多模态安全, 威胁情报, 威胁评分, 安全运营, 开发者工具, 扫描框架, 数据可视化, 邮件安全, 静态网页