Atri2-code/Phishing-Analyzer-Threat-Intelligence-

GitHub: Atri2-code/Phishing-Analyzer-Threat-Intelligence-

基于纯Python标准库的轻量级钓鱼邮件分析工具,通过多维度启发式规则对.eml文件进行IOC提取与威胁评分,帮助安全团队快速批量研判钓鱼邮件。

Stars: 0 | Forks: 0

# phishing-analyzer (威胁情报) ## 快速开始 ``` git clone https://github.com/YOUR_USERNAME/phishing-analyzer.git cd phishing-analyzer # 分析包含 .eml 文件的文件夹 python src/analyze.py --input data/samples/ --output reports/ # 单个文件 python src/analyze.py --input data/samples/sample1.eml ``` 无外部依赖。纯 Python 标准库。 ## 示例输出 ``` phishing-analyzer ──────────────────────────────────────── IOC feed: 7 known-bad domains loaded 🔴 [ 90/100] sample1.eml Subject : Urgent: Your account has been suspended From : security-alert@paypa1.com Signals : 4 → Report: reports/sample1_threat_report.md 🔴 [ 90/100] sample2.eml Subject : Action Required: Microsoft 365 Password Expiry Notice From : it-helpdesk@micros0ft-support.net Signals : 5 → Report: reports/sample2_threat_report.md 🟢 [ 0/100] sample3.eml Subject : Your Amazon order has shipped From : noreply@amazon.com Signals : 0 → Report: reports/sample3_threat_report.md ──────────────────────────────────────── Summary: 3 emails analysed 🔴 Phishing : 2 🟡 Suspicious : 0 🟢 Clean : 1 ``` ## IOC 提取 每封电子邮件都会被解析以提取: | IOC 类型 | 示例 | |----------|---------| | URL | `http://paypa1-secure-login.xyz/verify?token=abc` | | 域名 | `paypa1-secure-login.xyz` | | IP 地址 | `192.168.1.1` | | 电子邮件地址 | `security-alert@paypa1.com` | | 可疑附件 | `invoice.exe`, `reset.ps1` | ## 威胁评分启发式规则 | 信号 | 最高分 | 逻辑 | |--------|-----------|-------| | IOC 情报源匹配 | +40 | 域名位于已知恶意列表中 | | 发件人伪造 | +30 | 发件人中包含品牌名称但域名不正确 | | 可疑附件 | +35 | .exe, .bat, .ps1, .vbs, .js 等 | | 同形字 / 域名抢注 | +25 | 包含数字替换的品牌域名 (paypa**1**, micros**0**ft) | | 可疑 TLD | +20 | .xyz, .tk, .ru, .pw, .ga, .cf, .ml | | 高度紧急用语 | +20 | 主题/正文中包含 3 个及以上紧急指示词 | | 紧急用语 | +10 | 1–2 个紧急指示词 | **判定结果:** 0–29 = 正常 · 30–59 = 可疑 · 60–100 = 钓鱼 ## 项目结构 ``` phishing-analyzer/ ├── src/ │ ├── analyze.py # Batch CLI entry point │ ├── extractor.py # IOC extraction from .eml files │ ├── scorer.py # Weighted threat scoring engine │ └── reporter.py # Markdown report generator ├── data/ │ ├── samples/ # .eml test files │ └── ioc_feeds/ # Known-bad domain lists (.txt) ├── reports/ # Generated reports (gitignored) ├── tests/ │ └── test_scorer.py # Unit tests for scoring engine └── README.md ``` ## IOC 情报源格式 纯文本,每行一个域名。将任何 `.txt` 文件放入 `data/ioc_feeds/` 中: ``` paypa1-secure-login.xyz m1crosoft-365.login-reset.ru login-verify-account.tk ``` 兼容来自 URLhaus、OpenPhish、PhishTank 导出的威胁情报源。 ## 运行测试 ``` python tests/test_scorer.py ``` ## 涉及的技能 | 安全能力 | 实现 | |---|---| | IOC 提取 | 通过正则表达式从原始 .eml 文件中解析 URL、域名、IP、电子邮件 | | 钓鱼分析 | 发件人伪造、同形字、紧急用语、TLD 启发式分析 | | 威胁情报源集成 | 可插拔的 IOC 情报源加载器 (URLhaus / PhishTank 格式) | | Python 自动化 | 批处理 Pipeline 可处理海量电子邮件样本 | | 威胁报告 | 生成包含建议操作的结构化单封邮件报告 | | 测试自动化 | 7 个单元测试,覆盖所有评分信号类型 | ## 路线图 - [ ] VirusTotal API 丰富化以获取 URL 信誉 - [ ] MISP 集成以实现 IOC 共享 - [ ] 对附件正文进行 YARA 规则扫描 - [ ] 针对高严重性命中的 Slack/Teams 告警 Webhook - [ ] 导出 CSV 以供 SIEM 接收 ## 许可证 MIT
标签:DAST, IOC提取, IT安全, meg, Python, SOC工具, SOC自动化, YARA, 云资产可视化, 信息安全, 垃圾邮件检测, 威胁情报, 安全分析与运营, 安全评分, 开发者工具, 恶意软件分析, 文档结构分析, 无后门, 沙箱, 漏洞发现, 电子邮件安全, 结构化查询, 网络安全, 自动化安全, 逆向工具, 钓鱼邮件分析, 防御加固, 隐私保护