prapachaiuea/threat-intel-radar

GitHub: prapachaiuea/threat-intel-radar

每日自动聚合多个免费威胁情报源的实时 IOC 并可视化展示检测覆盖层级差距的仪表盘工具。

Stars: 0 | Forks: 0

# 📡 威胁情报雷达 这是一个每日刷新的仪表盘,它从 三个免费的威胁情报源中拉取实时入侵指标,对它们进行去重,并回答一个 具体问题:**今天活跃的威胁态势与我 检测规则实际监视的层级匹配吗?** ![Tests](https://static.pigsec.cn/wp-content/uploads/repos/cas/09/097271ca091990be630ef6043309cc48240faa054413384202036fa2efedb2d2.svg) ![Refresh Dashboard](https://static.pigsec.cn/wp-content/uploads/repos/cas/cf/cf27f98a032c15f2c0937e4d94d8e37abf252e69f4d793062b5d16ff307d0398.svg) **实时仪表盘:** https://prapachaiuea.github.io/threat-intel-radar/ ## 为什么会有这个项目 这是 [`detection-as-code`](https://github.com/prapachaiuea/detection-as-code) 的配套项目, 后者包含 6 个 Sigma 规则——全部用于监视主机遥测数据(Sysmon 进程 创建/访问,Windows 安全事件日志)。这个项目旨在弄清:当前 到底有什么在活跃传播,以及它们处于哪个层级? **坦诚的发现,而非捏造:** 这里的三个情报源 (URLhaus, Feodo Tracker, ThreatFox) 报告的是**网络和文件**层级的 指标——IP、域名、URL、哈希值。而 `detection-as-code` 的规则 100% 属于**主机**层级。目前没有准确的方法可以断言“这个 IOC 会 触发那条规则”——因为它们是完全不同的遥测数据。因此,与其 伪造每个指标的关联性,这个仪表盘如实报告了这种 差距:今天追踪的活动中,网络、文件还是 主机层级各占多大比例,这是一种合理的方式,用于发现检测程序的 覆盖范围在何处存在薄弱环节。 ## 情报源 这三个情报源均由 [abuse.ch](https://abuse.ch/) 免费提供,无需 API key: | 情报源 | 追踪内容 | |---|---| | [URLhaus](https://urlhaus.abuse.ch/) | 近期报告的恶意 URL | | [Feodo Tracker](https://feodotracker.abuse.ch/) | 活跃的 botnet C2 IP 地址 | | [ThreatFox](https://threatfox.abuse.ch/) | 带有结构化威胁类型/恶意软件标签的近期 IOC | 每个情报源都是独立抓取的——如果其中一个宕机或受到频率限制, 报告依然会基于另外两个情报源生成,并在 “情报源状态”栏中明确说明情况,而不是 静默失败或导致整个 pipeline 崩溃。 ## 构建方式 ``` generate_report.py ├── feeds/urlhaus.py, feedotracker.py, threatfox.py (fetch + normalize) ├── aggregator.py (dedupe + stats) ├── coverage.py (layer gap analysis) └── dashboard/template.html + style.css → docs/index.html ``` - `feeds/*.py` 各自暴露了 `fetch_recent()`(在线)和 `parse()`(纯粹的、 可测试的)接口——测试套件会针对 `tests/fixtures/` 中的真实记录 样本响应来执行 `parse()`,因此测试不仅快速、确定, 而且在 CI 运行时不依赖于第三方情报源是否可达。 - `coverage.py` 根据每个指标的 `ioc_type` 来分类其*层级*(网络/文件),而不是靠猜测某个恶意软件家族“通常做什么” ——这是一种小巧、完整且有理有据的映射方式,而非投机性的猜测。 ## CI 特意设计了两个独立的工作流: - **`tests.yml`** —— 在每次推送/PR 时运行,基于 fixture,无网络 依赖。PR 不会因为外部情报源恰好 宕机而失败。 - **`refresh.yml`** —— 每日按计划运行(+手动触发),访问 实时情报源,重新构建 仪表盘,并将其部署到 GitHub Pages。 ## 特意不做的事 (v1) - **无历史记录。** `docs/` 在每次运行时都会重新构建,并且不提交 到 git 中——实时页面始终反映最新的刷新状态,但目前还没有 随时间变化的趋势视图。这是一个真正的 v2 版本构想,而不是在这里做了一半的功能。 - **无针对 IOC 的规则关联。** 如上文所述,那将需要 在网络指标和基于主机的检测 规则之间建立联系,而这实际上是不存在的。 ## 本地运行 ``` pip install -r requirements.txt python generate_report.py ``` 在浏览器中打开 `docs/index.html` 进行查看。测试: ``` pytest -v ``` ## License MIT
标签:IOC聚合, 多模态安全, 威胁情报, 安全规则引擎, 安全运营, 开发者工具, 扫描框架, 自动化情报采集, 逆向工具, 防御覆盖度分析