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绕过, 逆向工具, 钓鱼邮件分析