chikku1324/Phishguard
GitHub: chikku1324/Phishguard
单文件浏览器端钓鱼邮件日志分析工具,支持多源 JSON 解析、六维度威胁评分和客户 PDF 报告生成。
Stars: 0 | Forks: 0
# PhishGuard — 钓鱼邮件情报平台
   
## 概述
PhishGuard 是一个单文件 HTML 工具,专为 SOC 分析师设计,旨在快速且彻底地调查钓鱼邮件。只需粘贴任何 JSON 安全日志 —— 无论是来自 Mimecast、Microsoft Defender 还是任何 SIEM —— PhishGuard 都会自动提取每个字段,运行六个独立的威胁分析模块,并生成可下载的面向客户的 PDF 报告。
所有操作均在浏览器中完全运行。不向任何服务器发送数据。无需账户。
## 功能特性
### 日志摄取
- 接受任何 JSON 安全警报格式(Mimecast、Microsoft 365 Defender、自定义 SIEM)
- 健壮的解析器可处理格式错误的 JSON、智能/弯引号以及字段值中未转义的内部引号
- 自动提取 20 多个字段:源 IP、URL、主题、发件人、收件人、SPF/DKIM/DMARC、采取的行动、投递位置、检测到的威胁、时间戳、文件哈希
### 六大分析模块
| 模块 | 功能描述 |
|---|---|
| **主题行分析** | 检测紧迫性语言、伪造的 Re: 前缀、嵌入的 ID、钓鱼关键词密度 |
| **IP 信誉** | 对照已知恶意 IP 范围进行检查,估算地理风险,计算滥用置信度分数 |
| **URL 分析** | 检测托管滥用、可疑路径、短链接、恶意顶级域名 (TLD) |
| **邮件身份验证** | 解析并评估 SPF、DKIM 和 DMARC 结果,提供详细发现 |
| **发件人分析** | 标记免费邮箱与企业邮箱不匹配、投递位置、钓鱼置信度等级 |
| **URL 沙箱** | 模拟引爆输出 + ANY.RUN、Hybrid Analysis、URLScan、Joe Sandbox 的直接链接 |
### 外部工具集成
每个分析模块都包含一键链接至:
- **IP 检查:** VirusTotal, AbuseIPDB, IPVoid, Shodan
- **URL 检查:** URLScan.io, URLVoid, VirusTotal, APIVoid
- **沙箱:** ANY.RUN, Hybrid Analysis, Joe Sandbox
- **邮件验证:** MXToolbox SPF, DKIM, DMARC
### 客户端报告
- 在新窗口中打开格式化的可打印 HTML 报告
- 自动触发浏览器打印对话框 —— 选择“另存为 PDF”
- 涵盖:邮件详情、IOC、身份验证结果、威胁评分、影响评估、建议、验证链接
- 完全符合 CSP —— 无外部库,无 blob URL
## 快速开始
无需安装。无需依赖。无需构建步骤。
1. 下载 `phishguard.html`
2. 在任何现代浏览器中打开
3. 粘贴钓鱼日志并点击 **Analyze**
或者免费即时托管:
```
Netlify Drop → drag phishguard.html to netlify.com/drop → get a live URL
GitHub Pages → upload as index.html → Settings → Pages → Enable
```
## 支持的日志格式
### Mimecast URL Protect
```
{
"source_ip": {"ip"},
"url": {url},
"is_blocked": "true",
"source_json": {
"action": "Block",
"recipients": "user@company.ae",
"subject": "Attention Requested",
"senderEnvelope": "attacker@gmail.com",
"urlCategory": "Phishing & Fraud"
}
}
```
### Microsoft 365 Defender (TIMailData)
```
{
"AuthDetails": [
{"Name": "SPF", "Value": "Soft fail"},
{"Name": "DKIM", "Value": "Fail"},
{"Name": "DMARC", "Value": "Fail"}
],
"P1Sender": "attacker@gmail.com",
"Recipients": ["user@company.ae"],
"SenderIp": "91.220.42.227",
"Subject": {"subject"},
"Verdict": "Phish"
}
```
## 解析器工作原理
PhishGuard 使用多策略解析器来处理现实世界中的日志质量问题:
1. **标准 JSON.parse** —— 按原样尝试原始输入
2. **repairJSON** —— 字符级扫描器,检测并转义字符串值中未转义的内部双引号(例如 `"subject": "Notice: "Company Name" (ID: 123)"`)
3. **智能引号规范化** —— 在重新解析之前将 Unicode 弯引号(U+201C/U+201D)转换为转义的直引号
4. **剥离并重试** —— 作为最后手段完全移除弯引号
5. **正则回退** —— 即使无法解析完整 JSON,也使用模式匹配提取单个字段
`extractSubject()` 函数拥有自己的优先链,始终优先运行 `repairJSON` 以确保返回完整的主题,防止常见的内部引号截断错误。
## 风险评分
每个模块返回一个 0–100 的分数。整体风险是所有模块的加权平均值。
| 分数 | 结论 |
|---|---|
| 65–100 | 确认钓鱼 (CONFIRMED PHISHING) |
| 40–64 | 高风险 (HIGH RISK) |
| 20–39 | 可疑 (SUSPICIOUS) |
| 0–19 | 低风险 (LOW RISK) |
## 隐私
- 所有处理完全在浏览器中进行
- 不向任何外部服务器发送数据
- 无分析、无跟踪、无 Cookie
- 外部工具链接(VirusTotal、AbuseIPDB 等)在新标签页中打开 —— 由您选择提交内容
## 技术栈
| 层级 | 技术 |
|---|---|
| 语言 | 原生 HTML, CSS, JavaScript (ES2020+) |
| 字体 | IBM Plex Mono, Syne, DM Sans (Google Fonts) |
| PDF | 浏览器打印对话框 (`window.open` + `window.print`) |
| 解析 | 自定义 `repairJSON` + 多策略回退链 |
| 外部 API | 无 —— 所有分析均为本地启发式分析 |
## 文件结构
```
phishguard.html ← entire application (single file, ~82KB)
README.md ← this file
```
## 使用场景
- SOC Tier 1 分析师对钓鱼警报进行分类
- 安全工程师调查基于邮件的威胁
- 顾问准备客户事件报告
- 学生学习邮件威胁分析
## 许可证
MIT License —— 可免费使用、修改和分发。
## 作者
作为 SOC 分析师工具包项目构建。旨在展示实用的威胁分析技能,包括日志解析、IOC 提取、威胁情报集成和事件报告。
标签:DAST, Go语言工具, HTML5, IOC提取, IP信誉, IP 地址批量处理, Microsoft Defender, Mimecast, PDF报告生成, SOC工具, SPF/DKIM/DMARC, T1566, URL分析, 单页应用, 后端开发, 多模态安全, 威胁情报, 威胁评分, 开发者工具, 恶意软件分析, 数据可视化, 本地处理, 欺诈检测, 沙箱集成, 浏览器工具, 漏洞发现, 网络安全, 邮件安全, 配置审计, 钓鱼分析, 隐私保护, 隐私计算, 零依赖