rmjohnson12/UNC_Finder
GitHub: rmjohnson12/UNC_Finder
一个基于 Agent 架构的轻量级网络威胁情报套件,从公开来源被动收集、标准化并追踪指定威胁组织的 IOC 指标,支持 STIX 2.1 导出与本地仪表板浏览。
Stars: 0 | Forks: 0
# UNC Finder
一个小巧的、**Agent 架构**的网络威胁情报(CTI)套件,用于追踪
与俄罗斯国家相关的组织 **UNC5792** 和 **UNC4221** —— 即 2026 年
Signal/WhatsApp 钓鱼狂潮的幕后黑手 —— 仅基于**公开报告**的来源。
作为网络安全课程项目成果而构建。每次运行都会收集、
标准化(STIX-lite)、去重并总结这些组织公开留下的痕迹。**仅限被动收集** —— 它永远不会触碰可疑的攻击者
基础设施。请参阅 [`AGENTS.md`](./AGENTS.md) 了解完整设计。
## 快速开始
```
git clone https://github.com/rmjohnson12/UNC_Finder.git
cd UNC_Finder
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
# 从配置的 public sources 收集数据并持久化到 cti_tracker.db。
python3 -m cti_tracker.cli run
# 限制或禁用每次运行时的 third-party passive enrichment。
python3 -m cti_tracker.cli run --enrichment-limit 3
python3 -m cti_tracker.cli run --enrichment-limit 0
# 从终端检查结果。
python3 -m cti_tracker.cli show --limit 15
python3 -m cti_tracker.cli digest --since 2026-06-01T00:00:00Z
python3 -m cti_tracker.cli actors
# 导出可互操作的、经过验证的 STIX 2.1 bundle。
python3 -m cti_tracker.cli export-stix --output unc-finder-bundle.json --pretty
# 在配置了 Anthropic 凭据时起草基于证据的分析。
python3 -m cti_tracker.cli analyze
# 启动本地只读 dashboard。
python3 -m cti_tracker.cli serve
```
在仪表板运行时打开 [http://127.0.0.1:8080](http://127.0.0.1:8080)。按 `Ctrl+C` 停止它。
在 Windows PowerShell 中,使用
`.venv\Scripts\Activate.ps1` 激活环境。要在任何平台上验证安装:
```
pytest -q
```
如果实时订阅不可用,CISA 收集器会回退到内置的样本。除非配置了 `THREATFOX_API_KEY`,否则 ThreatFox 会平滑跳过。
## 目前的功能
- 从 CISA 和 CERT-UA 收集与攻击者相关的公开报告。
- 可选使用 API key 收集匹配的 ThreatFox IOC。
- 提取并标准化哈希、URL、域名和 IPv4 指标。
- 转换常见的防御性处理值(例如 `hxxps://example[.]com`),而不会
连接到它们。
- 将确定性的 STIX-lite 对象存储在 SQLite 中,对重复的
观察结果进行去重,并跟踪首次发现、最后发现和发现次数。
- 生成终端列表、变更摘要和本地只读仪表板。
- 导出经过验证的 STIX 2.1 捆绑包,供下游 CTI 工具使用。
- 通过 RDAP.org 和
crt.sh 被动丰富有限数量的域名/IP,然后仅在共享的已发布证据上关联指标。
- 可选通过 Anthropic 的 Messages API 起草带引用的分析。
## 追踪其他攻击者
UNC5792 和 UNC4221 是内置配置,但引擎并不局限于
它们。复制 `actor-config.example.json`,编辑其名称、别名和关键字,
然后在子命令前放置 `--actor-config`:
```
python3 -m cti_tracker.cli --actor-config your-actors.json actors
python3 -m cti_tracker.cli --actor-config your-actors.json run
```
可选:将 `.env.example` 复制为 `.env` 并添加免费的 API key 以启用
基于 key 的收集器(例如 ThreatFox)。LLM 分析同时需要
`ANTHROPIC_API_KEY` 和明确的 `ANTHROPIC_MODEL`;如果没有它们,分析器
将平滑跳过并仍然打印确定性的存储总计。
## 工作原理
每个工作单元都是一个 **Agent**,它只负责一项工作并具有一个 `run(ctx) -> AgentResult`。
收集器从来源提取数据并发出 STIX-lite 对象。编排器
将它们持久化到 SQLite,通过确定性 ID 进行去重,并跟踪每个
对象被观察到的频率。当前的分析器报告存储总计。添加一项
功能意味着添加一个 Agent;请参阅 `AGENTS.md` 中的指南。
```
public sources → collector agents → IOC extraction/tagging
→ SQLite store → digest/dashboard/analyst
```
## 下一个里程碑
1. 添加更多被动来源和用于关联的置信度评分。
2. 为生成的叙述添加分析师审查/导出工作流。
## 与 AI 助手协作
此代码库为 Claude Code / Codex 设置:`AGENTS.md`(规范)和
`CLAUDE.md` 描述了架构、护栏、约定以及一系列
适合新手的任务。将你的助手指引到这些文件,它就可以安全地
扩展该套件。
## 免责声明
仅供教育/防御使用。请验证所有来源 URL 并尊重每个
提供商的条款和速率限制。归属引用自公开报告,
并非独立确立。
标签:AI智能体, Python, STIX, 威胁情报, 安全规则引擎, 开发者工具, 数据收集与分析, 无后门, 监控追踪, 网络安全, 逆向工具, 隐私保护