diyarit/ThreatRaven
GitHub: diyarit/ThreatRaven
一款从 57+ 个网络安全 RSS 源获取、匹配并报告 APT 威胁情报的订阅监控与可视化工具。
Stars: 2 | Forks: 0
# ThreatRaven
APT 情报订阅监控器 —— 从 57+ 个网络安全 RSS 源中获取、匹配并报告威胁情报。

## 功能介绍
ThreatRaven 监控来自安全厂商、研究实验室和威胁情报源的 RSS/Atom 订阅。它将传入的文章与可配置的关键字和 MITRE ATT&CK 技术进行匹配,然后生成交互式 HTML 仪表板并导出为 CSV。
**核心功能:**
- 具备重试逻辑和速率限制的并行订阅获取
- 关键字与 MITRE ATT&CK 技术匹配
- 包含图表、排序、筛选和深色/浅色主题的交互式 HTML 报告
- 用于 SIEM 集成或进一步分析的 CSV 导出
- 带有成功/失败追踪的订阅源健康监控
- 通过与之前的 CSV 进行比对,实现跨运行的去重
- NVD CVE 漏洞查询(过去 30 天,可配置)
## 快速开始
```
.\ThreatRaven.ps1
```
自动打开 HTML 报告。这样就完成了。
## 参数
| 参数 | 描述 |
|---|---|
| `-ConfigPath` | 自定义 `config.json` 的路径(默认:脚本所在目录) |
| `-PreviousCsvPath` | 用于去重的前一次 CSV |
| `-SkipDeduplication` | 跳过加载前一次 CSV |
| `-OutputDir` | 输出目录(默认:脚本所在目录) |
| `-ExportHealthReport` | 将订阅源健康状态导出为 JSON |
| `-NonInteractive` | 跳过所有提示(CI/CD 模式) |
| `-NoOpenReport` | 不自动打开 HTML 报告 |
| `-QuietMode` | 抑制控制台输出 |
## 示例
```
# 基本运行
.\ThreatRaven.ps1
# CI/CD 模式 — 无提示,无浏览器,导出健康报告
.\ThreatRaven.ps1 -NonInteractive -NoOpenReport -ExportHealthReport
# 与之前的运行进行去重
.\ThreatRaven.ps1 -PreviousCsvPath ".\reports\last_run.csv"
# 自定义 config 和输出
.\ThreatRaven.ps1 -ConfigPath "C:\Config\intel.json" -OutputDir "C:\Reports"
```
## 配置
编辑 `config.json` 进行自定义:
- **关键字** —— 需在文章标题/描述中匹配的术语
- **MITRE ATT&CK** —— 需要检测的技术 ID 和名称
- **订阅源** —— 需要监控的 RSS/Atom URL
- **设置** —— 速率限制、超时时间、重试次数、CVE 查询窗口
## 输出
| 文件 | 描述 |
|---|---|
| `APT_Report_YYYY-MM-DD_HH-MM.html` | 交互式仪表板 |
| `APT_Report_YYYY-MM-DD_HH-MM.csv` | 原始数据导出 |
| `RunConfig_YYYY-MM-DD_HH-MM.json` | 本次运行的配置快照 |
| `logs/ThreatFeed_YYYY-MM-DD_HH-MM.log` | 详细的执行日志 |
## HTML 报告功能
- 关键字分布甜甜圈图
- 热门来源条形图
- 可搜索且可排序的数据表
- 深色/浅色主题切换
- 带有状态指示器的订阅源健康面板
- MITRE ATT&CK 技术深入分析
- CVE 漏洞报告(集成 NVD)
- AI 分析按钮(ChatGPT、Claude、Gemini)
- 打印优化的 CSS
## 环境要求
- PowerShell 5.1+(Windows PowerShell 或 PowerShell Core)
- 无需外部模块
- 需要互联网连接以获取订阅和执行 CVE 查询
## 项目结构
```
ThreatRaven/
├── ThreatRaven.ps1 # Main script
├── FeedHelpers.psm1 # Shared module (parsing, config, logging)
├── config.json # Keywords, MITRE techniques, feeds, settings
├── assets/
│ └── logo.png # Project logo
├── lib/
│ └── chart.min.js # Chart.js (local, no CDN)
└── logs/ # Created at runtime
```
## 许可证
MIT
## 作者
**Diyar Abbas**
标签:AI合规, ATT&CK框架, Homebrew安装, IPv6, Libemu, PowerShell, SIEM集成, 多模态安全, 威胁情报, 开发者工具