GurukiranShiv/PhishTrace-Deception-Threat-Intelligence-Platform

GitHub: GurukiranShiv/PhishTrace-Deception-Threat-Intelligence-Platform

一个面向 SOC 分析师的钓鱼邮件调查平台,通过分析发件人身份欺骗与攻击者意图生成可直接使用的调查报告和 SIEM 查询。

Stars: 0 | Forks: 0

# PhishIntent Graph **PhishIntent Graph** 是一个专为 SOC 分析师构建的基于欺骗的钓鱼邮件调查平台。 它会分析可疑的 `.eml` 邮件,提取 URL 和邮件特征,检测声称的身份与发件人实际情况的不匹配情况,对攻击者意图进行分类,构建欺骗关系,并生成包含响应措施和 SIEM hunting 查询的、可直接用于 SOC 的调查报告。 本项目侧重于**钓鱼意图和欺骗证据**,而不仅仅是黑名单检查或简单的 URL 信誉。 ## 核心功能 - 解析 `.eml` 邮件文件并提取邮件头、正文、身份验证、URL 和附件特征。 - 基于**声称的身份与发件人实际情况**检测钓鱼行为。 - 识别可疑的 Reply-To、Return-Path、SPF、DKIM 和 DMARC 模式。 - 检测品牌冒充、政府/法律罚款骗局、加密货币/金融欺诈、凭证窃取、PII 收集以及可疑的营销/诈骗活动。 - 处理诸如 SendGrid、CloudFront、追踪像素和 CDN URL 等营销基础设施,以减少误报。 - 提取操作链接、追踪链接、图片链接和重定向链。 - 生成精美的 SOC 调查报告,包含: - 高管风险仪表板 - 风险评分和裁定结论 - 检测到的意图 - 声称/引用的品牌 - 优先级排序的发现 - URL 清单 - 威胁情报/富化部分 - 建议的 SOC 操作 - Splunk SPL、Microsoft Sentinel KQL 和 Gmail hunting 查询 ## 本项目的不同之处 大多数钓鱼检测项目严重依赖于: - URL 黑名单 - 域名信誉 - 域名年龄 - 简单的关键词匹配 - 基础的 ML 分类 PhishIntent Graph 添加了不同的检测层: 这使得本项目在钓鱼域名是新的、未知的、尚未被列入黑名单或隐藏在重定向之后的情况下非常有用。 ## 项目截图 ### API 运行中 FastAPI 服务器在本地通过 Uvicorn 运行。 ![API 运行中](https://static.pigsec.cn/wp-content/uploads/repos/cas/a5/a57b2851aa85f9424c47cf8f77025b49b9021f628e307ccb6572dc65e387c33c.png) ### Swagger API 界面 显示可用端点的交互式 API 文档。 ![Swagger UI](https://static.pigsec.cn/wp-content/uploads/repos/cas/9e/9eec78ed23268a435f43125553eb7dc4d03081e13c12da37cbab03a702e10e4e.png) ### 健康检查 健康检查确认 API 是否正常运行。 ![健康检查](https://static.pigsec.cn/wp-content/uploads/repos/cas/0b/0b4557b9de858f2fe11a402215bb05b62b5503b902b210ae6df3d68188a112fe.png) ### 邮件文件扫描请求 上传一个 `.eml` 文件并选择扫描选项。 推荐的安全设置: - `enable_sandbox = false` - `enable_network_enrichment = true` ![邮件扫描请求](https://static.pigsec.cn/wp-content/uploads/repos/cas/f9/f97dfece90f720b9a7fed2542ce0491e15d3ac8204b695591b6083cfa4aea48f.png) ### 扫描响应 API 返回扫描 ID、裁定结论、风险评分、检测到的意图、声称的品牌以及提取的特征。 ![扫描响应](https://static.pigsec.cn/wp-content/uploads/repos/cas/3b/3bf2e069e28d992aacdfb3de3d89ba0493084b5a6f72add37ee8cae41cfa0351.png) ### SOC 报告仪表板 HTML 报告提供高管摘要、风险评分、裁定结论、案例标签、检测到的意图和引用的品牌。 ![SOC 报告仪表板](https://static.pigsec.cn/wp-content/uploads/repos/cas/88/889961ab445c83cc13492617fdb9ee01e2f4cf3318a3453722ad29d6d88dc565.png) ### 邮件身份与调查时间线 邮件头级别的证据和调查流程以对 SOC 友好的格式呈现。 ![邮件身份与时间线](https://static.pigsec.cn/wp-content/uploads/repos/cas/54/54463a0b9f0f26a07064d4ce8e43744cb9518a1eecf542b55006508135338fd6.png) ### 优先级排序的发现 发现按严重程度、类别、解释、证据和评分进行分组。 ![优先级排序的发现](https://static.pigsec.cn/wp-content/uploads/repos/cas/27/27a87ec8f3be6be70ba413f86ad7e0b3b49980cbb5196d582480ce8ed7d4a486.png) ### URL 清单、重定向与威胁情报 提取的 URL、重定向行为和富化结果将显示供分析师审查。 ![URL 重定向与威胁情报](https://static.pigsec.cn/wp-content/uploads/repos/cas/37/379d9aff40bd50c1bd469218d322ce4f7689ec6f64d17708e0805edd10ead3c1.png) ### 推荐的 SOC 操作 报告提供了分析师现成的响应措施,例如隔离、阻止、hunting 以及用户影响审查。 ![SOC 操作](https://static.pigsec.cn/wp-content/uploads/repos/cas/a7/a77434dcdae8b250515a8eee50ab46a490c656cd02ab5b6681f9717e70ebdc9f.png) ### SIEM Hunting 查询 为 Splunk、Microsoft Sentinel 和 Gmail 搜索生成可直接复制粘贴的 hunting 查询。 ![SIEM 查询](https://static.pigsec.cn/wp-content/uploads/repos/cas/95/95803a658b488c0ce8280b0013a683fa9aa02a12afa7151ebaf135ad08eb3aab.png) ### 低风险营销邮件示例 该工具还支持减少误报,它通过识别合法的营销/追踪行为,而不是盲目地将每个重定向标记为钓鱼。 ![低风险营销邮件](https://static.pigsec.cn/wp-content/uploads/repos/cas/3a/3a9a99f701dcf378a943cc3915f3a0355b1f65cfb5942ef70dc80c8823569cda.png) ## 检测示例 | 邮件类型 | 预期结果 | 原因 | |---|---:|---| | Microsoft 风格的 Reply-To 钓鱼 | 高可信度钓鱼 | 品牌冒充、可疑的回复路径、身份验证问题 | | Binance 提现警报钓鱼 | 极有可能是钓鱼 | 加密货币/金融品牌声称,带有非品牌发件人和操作链接 | | QuantInsti 营销邮件 | 低风险 | 经过身份验证的发件人,带有营销/追踪基础设施 | | DETRAN / 交通罚款钓鱼 | 高可信度钓鱼 | 政府/法律罚款诱饵、CPF/债务相关用语、非官方操作 URL | | 生酮 / 减肥活动 | 可疑 | 诈骗/垃圾邮件指标、身份验证失败、重定向行为 | ## 安装说明 ### 1. 克隆或解压项目 如果使用 ZIP 版本,请将其解压并打开项目文件夹: ``` cd "G:\projects\New folder\phishintent-graph-project-v7\phishintent-graph" ``` ### 2. 创建 Python 虚拟环境 ``` python -m venv .venv ``` ### 3. 激活虚拟环境 ``` .\.venv\Scripts\Activate.ps1 ``` 如果 PowerShell 阻止了激活,请运行: ``` Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass .\.venv\Scripts\Activate.ps1 ``` ### 4. 安装依赖项 ``` pip install -r requirements.txt ``` ### 5. 创建环境文件 ``` Copy-Item .env.example .env ``` ### 6. 启动 API ``` python run_api.py ``` 打开 Swagger UI: ``` http://127.0.0.1:8000/docs ``` ## 使用说明 ### 使用 Swagger 扫描邮件 1. 打开: ``` http://127.0.0.1:8000/docs ``` 2. 进入: ``` POST /scan/email-file ``` 3. 上传一个 `.eml` 文件。 4. 使用安全测试设置: ``` enable_sandbox = false enable_network_enrichment = true ``` 5. 点击 **Execute**。 6. 从响应中复制 `scan_id`。 7. 打开 HTML 报告: ``` http://127.0.0.1:8000/reports//html ``` 将 `` 替换为您真实的扫描 ID。 ## API 端点 | 方法 | 端点 | 描述 | |---|---|---| | GET | `/` | 主页端点 | | GET | `/health` | API 健康检查 | | POST | `/scan` | 扫描粘贴的邮件/文本内容 | | POST | `/scan/email-file` | 上传并扫描 `.eml` 文件 | | GET | `/reports/{scan_id}/json` | 获取 JSON 报告 | | GET | `/reports/{scan_id}/html` | 获取 SOC 风格的 HTML 报告 | | GET | `/reports/{scan_id}/markdown` | 获取 Markdown 报告 | ## 推荐的安全设置 对于正常的本地测试: ``` enable_sandbox = false enable_network_enrichment = true ``` 请勿在普通笔记本电脑上启用沙盒模式,因为它可能会访问活动 URL。 仅在隔离的 VM 或一次性的实验环境中使用沙盒。 ## 命令行使用 扫描单个 `.eml` 文件: ``` python -m phishintent.cli.main email "G:\datasets\phishing_pot\email\sample-1001.eml" --no-sandbox --network ``` 扫描另一个文件: ``` python -m phishintent.cli.main email "G:\datasets\phishing_pot\email\sample-1068.eml" --no-sandbox --network ``` ## 测试 运行回归检查: ``` python tests\regression_patterns.py ``` 这些测试验证检测器能否处理以下常见情况: - 品牌冒充 - 正常的营销邮件 - 政府/法律罚款钓鱼 - 加密货币/金融钓鱼 - 垃圾邮件/诈骗式活动 ## 项目结构 ``` phishintent-graph/ ├── phishintent/ │ ├── api/ │ ├── core/ │ ├── detectors/ │ ├── enrichment/ │ ├── reporting/ │ └── utils/ ├── screenshots/ │ ├── 01_api_running.png │ ├── 02_swagger_ui.png │ ├── 03_health_check.png │ ├── 04_email_scan_request.png │ ├── 05_scan_response.png │ ├── 06_soc_report_dashboard.png │ ├── 07_email_identity_timeline.png │ ├── 08_prioritized_findings.png │ ├── 09_url_redirect_threatintel.png │ ├── 10_soc_actions.png │ ├── 11_siem_queries.png │ └── 12_low_risk_marketing_email.png ├── tests/ ├── tools/ ├── reports/ ├── requirements.txt ├── .env.example ├── run_api.py └── README.md ``` ## 安全提示 本项目旨在用于防御性网络安全学习、SOC 分析和钓鱼调查。 请勿点击或手动打开钓鱼邮件中的可疑链接。使用隔离环境进行沙盒测试。 在公开发布截图时,考虑通过替换以下内容来遮盖活动的钓鱼 URL: ``` https://example-phishing-domain.com ``` 替换为: ``` hxxps://example-phishing-domain[.]com ``` ## 作者 **Gurukiran Shivashankar** 网络安全 / SOC 分析师作品集项目
标签:AV绕过, FastAPI, 多模态安全, 威胁情报, 安全运营, 开发者工具, 扫描框架, 逆向工具, 邮件安全, 钓鱼分析, 防御加固