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, 威胁情报, 安全规则引擎, 开发者工具, 数据收集与分析, 无后门, 监控追踪, 网络安全, 逆向工具, 隐私保护