Atri2-code/Threat-Campaign-Tracker-Threat-Intelligence-

GitHub: Atri2-code/Threat-Campaign-Tracker-Threat-Intelligence-

基于并查集算法将分散的威胁指标自动聚类为攻击活动,实现跨数据源的 IOC 传递性关联分析与优先级报告生成。

Stars: 0 | Forks: 0

# threat-campaign-tracker (威胁情报) 围绕核心分析师工作流构建:从多个来源获取 artifacts,寻找它们之间的关联(共享的 IP、域名、哈希值),并呈现出攻击活动的全貌,而非孤立的指标。 ## 快速开始 ``` git clone https://github.com/YOUR_USERNAME/threat-campaign-tracker.git cd threat-campaign-tracker python src/track.py --input data/artifacts/artifacts.json --output reports/ ``` 无外部依赖。纯 Python 标准库。 ## 示例输出 ``` threat-campaign-tracker ──────────────────────────────────────── Artifacts loaded : 7 Campaigns found : 3 🔴 CAMP-001 [CRITICAL ] 3 artifacts | 2 shared IOCs | tags: credential-harvest, dropper, paypal-lure 🟠 CAMP-002 [HIGH ] 3 artifacts | 2 shared IOCs | tags: credential-harvest, microsoft-lure, ransomware 🔵 CAMP-003 [LOW ] 1 artifact | 0 shared IOCs | tags: amazon-lure, credential-harvest Report saved → reports/campaign_report.md ``` ## 关联分析的工作原理 Artifacts 使用 **union-find**(并查集)算法进行聚类——与基于图的威胁情报平台所使用的方法相同: 1. 构建倒排索引:每个 IOC 值 → 包含该值的 artifact ID 列表 2. 合并任何共享域名、IP 或文件哈希的两个 artifacts 3. 查找连通分量 → 每个分量即为一个攻击活动 4. 计算共享的 IOC(在同一攻击活动的 2 个或以上 artifacts 中出现) 5. 根据 tag 和 artifact 数量评估严重性级别 这能正确处理**传递性关联**:如果 Artifact A 与 B 共享一个 IP,且 B 与 C 共享一个域名,那么这三者都会被归入同一攻击活动中,即使 A 和 C 之间没有直接共享任何内容。 ## Artifact 输入格式 ``` [ { "id": "ART-001", "type": "email", "source": "inbox_sweep", "timestamp": "2025-04-01T08:12:00Z", "iocs": { "domains": ["paypa1-verify.xyz"], "urls": ["http://paypa1-verify.xyz/login"], "ips": ["185.220.101.45"], "hashes": [], "emails": ["security@paypa1-verify.xyz"] }, "tags": ["credential-harvest", "paypal-lure"] } ] ``` 数据源可以混合使用:电子邮件扫描、proxy 日志、sandbox 报告、威胁情报源。 ## 严重性评分 | 条件 | 严重性 | |-----------|----------| | 存在 `ransomware` 或 `dropper` tag | 严重 | | 3 个或以上相关联的 artifacts | 高 | | 2 个相关联的 artifacts | 中 | | 单个 artifact,无共享 IOC | 低 | ## 项目结构 ``` threat-campaign-tracker/ ├── src/ │ ├── track.py # CLI entry point │ ├── correlator.py # Union-find IOC correlation + campaign clustering │ └── reporter.py # Markdown report generator ├── data/ │ └── artifacts/ │ └── artifacts.json # Sample artifact dataset (7 artifacts, 3 campaigns) ├── reports/ # Generated campaign reports (gitignored) ├── tests/ │ └── test_correlator.py # 8 unit tests └── README.md ``` ## 运行测试 ``` python tests/test_correlator.py ``` ## 展现的技能 | 安全领域能力 | 实现方式 | |---|---| | 威胁攻击活动追踪 | 跨电子邮件、URL、文件 artifacts 的 IOC 关联 | | IOC 分析 | 域名、IP、哈希、电子邮件的提取与索引 | | 基于图的聚类 | 用于传递性关联的 Union-find 算法 | | 逆向工程攻击 | 按攻击活动重建 Artifact 时间线 | | Python 自动化 | 批量 artifact 处理,零外部依赖 | | 威胁报告 | 攻击活动严重性评分 + 建议措施 | ## 路线图 - [ ] 用于威胁共享的 MISP 事件导出 - [ ] 每个 IOC 的 VirusTotal API 丰富化 - [ ] STIX/TAXII 输出格式 - [ ] 按攻击活动进行 ATT&CK TTP 标记 - [ ] 时间窗口衰减(淘汰过时的 IOC) ## 许可证 MIT
标签:FTP漏洞扫描, GitHub, IOC关联, IP关联, masscan, nuclei, Python, TIP, 严重性评分, 优先级报告, 关联分析, 图算法, 域名关联, 威胁情报, 威胁情报平台, 威胁追踪, 安全编排, 并查集算法, 开发者工具, 指标关联, 搜索语句(dork), 攻击活动分析, 文件哈希, 文档结构分析, 无后门, 无第三方依赖, 时间线重建, 杀伤链, 纯Python, 网络安全, 自动化报告, 逆向工具, 隐私保护