nando0x0a/ThreatForge

GitHub: nando0x0a/ThreatForge

ThreatForge 是一个 CVE 情报自动化平台,基于多源利用信号对漏洞进行评分排序,并按分析师需求生成附带来源引用的检测规则、公告和补丁建议草案。

Stars: 0 | Forks: 0

# ThreatForge **CVE 情报自动化平台。** ThreatForge 摄取漏洞数据,根据真实世界的利用信号对其进行评分和优先级排序,并仅在分析师提出请求时,生成可供分析师直接使用的草案——包括安全公告、检测规则、IoC 列表、威胁狩猎查询和补丁 playbook。每个输出都是一份草案,并会附带其来源引用。系统不会自动部署任何内容。 ## 面临的问题 当高危 CVE 发布时,检测工程师必须阅读安全公告、检查 CISA KEV 以确认是否存在主动利用、寻找 PoC 流量模式,并针对每个 CVE、每个产品手工编写 Suricata 规则、安全公告、补丁建议和威胁狩猎查询——每天皆是如此。ThreatForge 将这些研究和初稿编写工作自动化,让分析师每天醒来就能看到一份按优先级排序的简报,只需选择要生成的内容即可。 ## 工作原理 1. **Pipeline** — 针对 `products.txt` 中的每个产品查询 [vulnx](https://github.com/projectdiscovery/vulnx),并筛选出具有可操作性的内容(近期发布且高危,或无论发布时间多久只要被列入 KEV 名单)。 2. **评分与标记** — 采用复合模型,结合 CISA KEV 状态、可网络利用的 RCE 检测、CVSS、EPSS、资产层级、PoC 可用性以及软件普及率。KEV 和 RCE 同时满足时,始终意味着最高优先级(需立即放下手头工作处理)。 3. **验证** — 将 NVD/vulnx 的 CVSS 评分与 CVE Program 自身发布的 CNA 记录进行交叉核对;分歧会被明确标出,绝不静默解决。每个包含事实依据的输出都附带一个带编号且确定的来源列表。 4. **简报** — 将按优先级排序的报告发送至 Discord 并等待。在分析师选择具体项目之前,不会生成任何输出。 5. **生产** — 仅针对分析师请求的输出类型调用配置好的 AI 后端,将它们保存在本地,并(可选)将其提交到 GitHub 仓库中,作为持续的审计记录。 ## 功能 - **感知 CISA KEV 的优先级排序** — 确认在野利用的状态会覆盖 CVSS 严重程度 - **复合评分** — 采用完全由配置驱动的标记/权重系统(`threatforge.yaml`,无需修改代码即可重新调整) - **跨来源严重性验证** — NVD 对比 CVE.org/CNA,差异以内联方式标出 - **附带来源引用的输出** — 每一份草案都以经过验证的 `## Sources` 部分结束,不依赖于模型的遵循度 - **可插拔 AI 后端** — 默认为 Claude,或任何兼容 OpenAI 的 endpoint(无需 API key 的本地 Ollama/LM Studio、OpenRouter、Groq、OpenAI 云端等) - **发布到 GitHub 的审计记录** — 每一份草案都被提交到仓库中,可进行 diff 对比并带有版本控制 - **交互式 CLI 向导**(`src/cli.py`)加上广泛的抽查模式(`--test`、`--recent`),用于针对 CISA KEV / cve.org 进行验证 - **调度程序为可选启用** — 默认完全由分析师驱动;仅在需要时才启用每日 cron 运行 ## 实际演示 **交互式 CLI 向导** — 选择运行模式,生成输出,无需记忆任何命令参数: ![CLI 向导运行每日流水线并生成全部六种输出](https://raw.githubusercontent.com/nando0x0a/ThreatForge/main/screenshots/cli-wizard-run.png) **摘要表** — 在每次 `--produce` 运行后打印,每行对应一个生成的草案: ![Rich 渲染的摘要表,列出了 CVE、输出类型、产品、层级、评分和状态](https://static.pigsec.cn/wp-content/uploads/repos/cas/a7/a76175b849223cc2882ce0235e4ad5359497cec1bb879525e156ed359782db30.png) **Discord 简报** — 每个生成的草案都会直接发布到频道中,附带来源引用,如果严重性存在争议会进行标记: ![发布到 Discord 的补丁建议,按编号引用了来源](https://static.pigsec.cn/wp-content/uploads/repos/cas/e8/e8b8ac2710a8a5ba02b5ef35542b989a8e87c0430532e76e3b5089b2c4281da4.png) **附带来源引用的输出** — 一条生成的 Suricata 规则,已发布到 GitHub,带有明确的置信度警告和经过验证的来源列表: ![GitHub 上的 Suricata 签名文件,显示了分析师指导注释和带编号的 Sources 页脚](https://raw.githubusercontent.com/nando0x0a/ThreatForge/main/screenshots/github-signature-with-sources.png) **GitHub 审计记录** — 每种草案类型都有自己的子文件夹,每次生成对应一次 commit: ![GitHub 上的 outputs/ 目录,显示了 advisories、hunting、iocs、patches 和 rules 子文件夹](https://static.pigsec.cn/wp-content/uploads/repos/cas/d2/d2778f784ab912d27d7ecb7cccc6c72f9cdfb11d66e67ca33450015a0ba29d27.png) ## 输出模块 | # | 模块 | 目标受众 | |---|---|---| | 1 | 安全公告 | CISO / 管理层 | | 2 | 技术发现 | SOC 分析师 | | 3 | Suricata 签名草案 | 检测工程师 | | 4 | IoC 列表 | SOC / 威胁狩猎者 | | 5 | 威胁狩猎查询 (CrowdStrike + nfdump) | SOC 分析师 | | 6 | 补丁建议 + Ansible playbook | 运维 / 系统管理员 | ## 快速开始 ``` git clone git@github.com:nando0x0a/ThreatForge.git cd ThreatForge ./setup.sh ``` `setup.sh` 将引导您完成所需密钥(Anthropic API key、ProjectDiscovery API key、Discord webhook URL)的配置,构建镜像并启动 container。其他所有内容——pipeline 过滤器、评分权重、AI 提供商、prompts——都位于 `config/threatforge.yaml` 中,且无需重新构建即可编辑。 ``` # 交互式向导 docker exec -it threatforge python3 src/cli.py # 或者直接驱动它 docker exec threatforge python3 src/orchestrate.py --dry-run docker exec threatforge python3 src/orchestrate.py --produce 1,3,6 ``` ## 项目结构 ``` ThreatForge/ ├── setup.sh ├── docker/ # Dockerfile, docker-compose.yml, entrypoint.sh ├── src/ # pipeline, scoring, AI caller, notifier, GitHub publisher, CLI wizard ├── config/ │ ├── threatforge.yaml # single source of truth: filters, scoring, prompts, output menu │ └── products.txt # tracked product/asset inventory └── outputs/ # generated drafts (gitignored locally; published to GitHub separately) ```
标签:AI安全, AI风险缓解, Chat Copilot, GPT, Metaprompt, PB级数据处理, 威胁情报, 安全运维, 开发者工具, 漏洞管理, 系统提示词, 请求拦截, 逆向工具