vipulsharma00/AI-phishing-analyzer
GitHub: vipulsharma00/AI-phishing-analyzer
面向 SOC 分析师的自动化钓鱼邮件分析工具,接收 .eml 文件后从发件人验证、邮件头、IP 信誉、内容和 URL 等七个维度进行检测并输出结构化风险评估报告。
Stars: 0 | Forks: 0
# AI 驱动的钓鱼邮件分析器
**作者:** Vipul Sharma
**目的:** 专为 SOC 分析师设计的自动化钓鱼邮件分析工具
## 概述
这是一个基于 Python 的工具,可以自动化 L1 SOC 分析师使用的钓鱼邮件分析流程。它接收一个 `.eml` 邮件文件作为输入,执行 7 项安全检查的系统分析,并输出风险评估及建议操作。
该工具自动化了标准 SOC 钓鱼分析工作流的第 2 到第 7 步,在减少手动分析时间的同时,确保了调查的一致性和彻底性。
## 功能说明
1. **发件人验证** — 检查显示名称与实际邮件地址是否一致,检测仿冒域名(typosquatting),识别 Return-Path 不匹配
2. **邮件头分析** — 解析 Authentication-Results 中的 SPF、DKIM 和 DMARC 结果
3. **IP 信誉** — 通过 AbuseIPDB 检查发件人 IP 的滥用报告和置信度得分
4. **内容分析** — 检测社会工程学指标:紧急用语、凭证请求、威胁性语言、通用问候语、非工作时间投递
5. **URL 分析** — 提取并分析所有 URL,查找仿冒域名、HTTP 登录页面、URL 缩短器,并通过 VirusTotal 检查信誉
6. **风险评分** — 汇总所有发现,给出最终结论:安全 / 可疑 / 恶意
7. **报告生成** — 将完整的分析结果导出为 JSON 格式,用于事件工单记录
## 示例输出
### 钓鱼邮件检测
```
VERDICT: MALICIOUS
CONFIRMED PHISHING
Total Findings: 16
Critical: 6 High: 6 Medium: 3 Low: 1
Risk Score: 278/100+
Key Findings:
- SPOOFING: Domain 'amaz0n-support.xyz' is NOT legitimate amazon domain
- SPF FAILED, DKIM FAILED, DMARC FAILED
- URGENCY LANGUAGE: 5 indicators detected
- CREDENTIAL REQUEST detected
- HTTP LOGIN PAGE with lookalike Amazon domain
```
### 合法邮件检测
```
VERDICT: LIKELY SAFE
LOW RISK — LIKELY LEGITIMATE
Total Findings: 1
Risk Score: 5/100+
- SPF PASS, DKIM PASS, DMARC PASS
- No urgency language, no credential requests
- Personalized greeting, sent during business hours
```
## 安装说明
```
# 克隆 repository
git clone https://github.com/[your-username]/ai-phishing-analyzer.git
cd ai-phishing-analyzer
# 安装 dependencies
pip install -r requirements.txt
```
## 使用说明
```
# 分析可疑邮件
python analyzer.py sample_emails/phishing_sample.eml
# 分析合法邮件(用于对比)
python analyzer.py sample_emails/legitimate_sample.eml
# 分析任意 .eml 文件
python analyzer.py /path/to/suspicious_email.eml
```
## 增强模式(API 密钥)
该工具在没有 API 密钥的情况下也能工作(基础模式),但通过使用免费的 API 密钥可以提供更深入的分析:
| API | 免费层级 | 增加的功能 |
|-----|-----------|-------------|
| **VirusTotal** | 4 次请求/分钟 | 针对 70 多家安全供应商进行 URL 信誉检查 |
| **AbuseIPDB** | 1000 次请求/天 | 发件人 IP 滥用报告、置信度得分、地理位置 |
将您的密钥添加到 `config.py` 中:
```
VIRUSTOTAL_API_KEY = "your_key_here"
ABUSEIPDB_API_KEY = "your_key_here"
```
## 项目结构
```
ai-phishing-analyzer/
├── analyzer.py # Main analysis tool (all logic here)
├── config.py # API key configuration
├── requirements.txt # Python dependencies
├── README.md # This file
├── sample_emails/ # Test emails for demonstration
│ ├── phishing_sample.eml # Sample phishing email
│ └── legitimate_sample.eml # Sample legitimate email
└── output/ # Generated analysis reports (JSON)
```
## 检测逻辑
### 发件人分析检查
| 检查项 | 检测内容 | 风险等级 |
|-------|----------------|------------|
| 域名欺骗 | 发件人声称是某品牌,但使用了不同的域名 | 严重 |
| Typosquatting | 字符替换(用 0 替换 o,用 rn 替换 m) | 严重 |
| 免费邮件冒充 | 企业显示名称配合 Gmail/Yahoo 地址 | 高 |
| Return-Path 不匹配 | 发件人域与 Return-Path 域不一致 | 高 |
| 可疑的 X-Mailer | 群发邮件工具(Mass-Mailer、PHPMailer) | 中 |
### 内容分析检查
| 检查项 | 检测内容 | 风险等级 |
|-------|----------------|------------|
| 紧急用语 | “账号将在 24 小时内暂停”、“立即行动” | 高 |
| 凭证请求 | “验证您的账号”、“输入您的密码” | 高 |
| 威胁性语言 | “未经授权的活动”、“账号被盗” | 中 |
| 通用问候语 | 使用“尊敬的客户”而不是具体名字 | 中 |
| 非工作时间投递 | 在 UTC 时间晚上 10 点至早上 6 点之间发送 | 低 |
### URL 分析检查
| 检查项 | 检测内容 | 风险等级 |
|-------|----------------|------------|
| HTTP 登录页面 | 未加密的凭证输入页面 | 严重 |
| 仿冒域名 | URL 包含品牌名称,但不是真实的域名 | 严重 |
| 基于 IP 的 URL | 使用 IP 地址代替域名 | 高 |
| URL 缩短器 | bit.ly、tinyurl 隐藏了真实目的地 | 中 |
| 过度冗长 | URL 长度超过 100 个字符以隐藏真实域名 | 低 |
## MITRE ATT&CK 映射
| 战术 | 技术 | ID |
|--------|-----------|-----|
| 初始访问 | 钓鱼 | T1566 |
| 初始访问 | 鱼叉式钓鱼链接 | T1566.002 |
| 初始访问 | 鱼叉式钓鱼附件 | T1566.001 |
## 展现的技能
- **安全分析:** 自动化实现 SOC 钓鱼分类处理工作流
- **Python 开发:** 文件解析、API 集成、正则表达式匹配、报告生成
- **威胁情报:** 集成 VirusTotal 和 AbuseIPDB API
- **邮件安全:** SPF、DKIM、DMARC 身份验证分析
- **MITRE ATT&CK:** 针对检测到的威胁进行技术映射
- **检测工程:** 基于模式的社会工程学检测及风险评分
## 未来增强计划
- 附件分析,包括文件哈希提取和沙箱集成
- 集成 URLhaus 以检测已知的恶意软件分发 URL
- 引入机器学习模型以改进社会工程学检测
- 批量邮件分析模式,用于处理多个 `.eml` 文件
- 使用 Streamlit 为非技术用户提供 Web UI
## 开发动机
作为一名 SOC 分析师,钓鱼邮件分析是最常见的任务之一。手动检查邮件头、查询 IP、分析 URL 的过程既重复又耗时。这个工具在保持相同系统性方法的同时,将这些步骤自动化,确保每次分析都能做到一致且全面。
标签:Python, SOC分析, 人工智能, 威胁情报, 开发者工具, 无后门, 用户模式Hook绕过, 逆向工具, 钓鱼邮件分析