Utsarga-glitchinmatrix/SOC
GitHub: Utsarga-glitchinmatrix/SOC
结合规则引擎静态检查与 AI 深度分析的钓鱼邮件检测工具,帮助 SOC 分析师快速研判可疑邮件中的网络钓鱼和社会工程学攻击并输出带风险评分的结构化报告。
Stars: 0 | Forks: 0
# 钓鱼邮件分析器 🛡️
一款防御性安全工具,通过结合基于规则的静态检查与 AI 驱动的分析,检测电子邮件中的网络钓鱼和社会工程学攻击。
## 功能介绍
对任何电子邮件运行两阶段分析流水线:
1. **静态检查** — 即时基于规则的检测(域名不匹配、可疑关键词、恶意 URL)
2. **AI 分析** — 通过 OpenRouter AI 进行深度上下文分析(社会工程学、身份冒充、攻击手法、风险评分)
输出带有彩色编码的终端报告,包含判定结果、风险评分、威胁指标和可操作的建议。
## 环境要求
- Python 3.10 或更高版本
- OpenRouter API 密钥(免费)— 可在 [openrouter.ai/keys](https://openrouter.ai/keys) 获取
## 安装说明
**步骤 1 — 克隆或下载项目:**
```
your project folder/
utd.py
README.md
```
**步骤 2 — 创建并激活虚拟环境:**
```
python -m venv .venv
.venv\Scripts\Activate.ps1 # Windows
source .venv/bin/activate # Mac/Linux
```
**步骤 3 — 安装依赖:**
```
pip install openai
```
**步骤 4 — 添加您的 API 密钥:**
打开 `utd.py` 并找到第 227 行:
```
OPENROUTER_API_KEY = "your-key-here"
```
将 `your-key-here` 替换为您实际的 OpenRouter API 密钥。
## 使用方法
**交互模式**(逐字段提示输入):
```
python utd.py
```
**分析原始 .eml 文件:**
```
python utd.py --eml suspicious.eml
```
**分析纯文本电子邮件文件:**
```
python utd.py --file email.txt
```
**将完整 JSON 报告保存到磁盘:**
```
python utd.py --json-out report.json
```
## 输入字段
| 字段 | 必填 | 描述 |
|-------|----------|-------------|
| From | 是 | 发件人电子邮件地址 |
| Subject | 是 | 电子邮件主题 |
| Reply-To | 否 | Reply-To 地址(如果不同) |
| Return-Path | No | 退信地址 |
| X-Mailer | 否 | 发送服务(例如 SendGrid) |
| Email Body | 是 | 完整的电子邮件正文(输入 END 结束) |
| Links | 否 | 在电子邮件中发现的额外 URL |
## 输出结果
该工具将在终端打印一份彩色编码的报告:
```
════════════════════════════════════════════════════════════════
🚨 PHISHING DETECTED
Risk Score: 87/100 · Multiple high-severity indicators found
════════════════════════════════════════════════════════════════
SUMMARY
This email exhibits classic phishing characteristics...
RULE-BASED FLAGS
✖ [HIGH ] REPLY_TO_MISMATCH: From domain ≠ Reply-To domain
⚠ [MEDIUM] SUSPICIOUS_KEYWORDS: verify your account, urgent
THREAT INDICATORS
✖ [HIGH ] Sender impersonates PayPal but domain is paypa1.ru
⚠ [MEDIUM] Urgency language designed to bypass critical thinking
METADATA ASSESSMENT
Domain Analysis: Typosquatted domain detected
Urgency Level: High
Link Assessment: HTTP link pointing to IP address
Sender Auth: SPF likely failing — domain mismatch
TACTICS & TECHNIQUES
Tactics: Brand Impersonation, Urgency Pressure
Techniques: Spearphishing Link, Credential Harvesting
RECOMMENDATION
Do not click any links. Report to your IT/security team immediately.
```
### 判定等级:
| 判定结果 | 风险评分 | 含义 |
|---------|-----------|---------|
| 🚨 PHISHING DETECTED | 70–100 | 高置信度网络钓鱼 |
| ⚠ SUSPICIOUS EMAIL | 40–69 | 采取行动前请仔细审查 |
| ✔ LIKELY LEGITIMATE | 0–39 | 似乎安全 |
## 检测范围
**基于规则(即时):**
- Reply-To / From 域名不匹配
- 免费电子邮件提供商发件人(Gmail、Yahoo 等)
- 可疑关键词(urgent、verify、suspended、prize 等)
- URL 中包含原始 IP 地址
- 未加密的 HTTP 链接
- 过深的子域名层级
**AI 驱动(深度):**
- 品牌冒充与域名抢注/仿冒
- 社会工程学语言模式
- 相似字符/同形异义字域名
- 凭证窃取指标
- MITRE ATT&CK 技术标签
- 发件人身份验证推断(SPF/DKIM)
- 包含详细推理的整体风险评分
## 项目结构
```
security_engineer/
├── utd.py # Main analyzer script
├── README.md # This file
└── .venv/ # Virtual environment (auto-created)
```
## 安全提示
⚠️ **切勿公开分享您的 API 密钥。** 仅将其保留在 `utd.py` 中,绝不要将其提交到 GitHub 或在聊天中分享。如果发生泄露,请立即在 [openrouter.ai/keys](https://openrouter.ai/keys) 撤销该密钥并创建新密钥。
## 故障排除
| 错误 | 解决方案 |
|-------|-----|
| `401 Missing Authentication` | API 密钥错误或已撤销 — 获取新密钥 |
| `404 No endpoints found` | 模型名称已更改 — 在 `utd.py` 中更新模型 |
| `python not found` | 从 python.org 安装 Python,并勾选 "Add to PATH" |
| `pip not found` | 改用 `python -m pip install openai` 命令 |
| `JSONDecodeError` | AI 返回了格式错误的响应 — 请重新运行 |
## 许可证
本工具仅供**防御性安全用途**。请勿将其用于促成任何恶意活动。
标签:AI安全分析, AI安全助手, ESC8, Object Callbacks, OpenRouter AI, Python安全工具, URL检测, 域名不匹配检测, 威胁情报, 威胁指标, 安全检测工具, 安全运营中心, 开发者工具, 恶意邮件防御, 电子邮件安全, 社会工程学, 社会工程学检测, 网络安全, 网络映射, 网络钓鱼, 逆向工具, 钓鱼邮件分析, 防御性安全工具, 隐私保护, 静态规则检测, 风险评分