mcpField
T
ti-ingest

ti-ingest

github.com/transilienceai安全598135 次安装13 周前更新
代码仓库

关于 ti-ingest

ti-ingest 将威胁情报信号转换为供后续漏洞验证流程使用的范围队列,适用于安全分析人员或定时处理任务。它会补充 NVD 信息、去重并保留原始信号,但不会执行 PoC。

主要功能

  1. 01读取并校验信号数据
  2. 02为 CVE 补充 NVD 信息
  3. 03按资产与 CVE 去重
  4. 04写入验证范围队列
  5. 05保留原始信号审计记录

适用场景

  1. 01将分析人员收到的信号排入验证队列
  2. 02定时处理收件目录中的信号文件
  3. 03避免重复排队相同资产与 CVE
  4. 04标记资产清单外的目标

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/transilienceai/communitytools --skill ti-ingest

安装后在 Claude Code 中输入/ti-ingest确认已加载。

附带文件reference/ingest-schema.md

详细介绍

威胁情报信号摄取

将威胁情报信号转换为已排队的参与范围行,供 Exploitability Validation Run(云 Agent 任务 #3)使用。

触发方式

两种模式:

  • 通过提示词调用:分析人员针对手头的 signal.json 运行此技能。
  • 定时轮询:云 Agent 运行时按 cron(默认每 15 分钟)轮询 {OUTPUT_DIR}/inbox/,并处理找到的所有新信号文件。

工作流

  1. 读取载荷 — tools/ti-ingest.py --in <path-or-stdin>。
  2. 验证架构 — 必需的键:signal_id、cve(一个或多个)、assets(一个或多个)、claim。可选项:confidence、source、references。
  3. 使用 NVD 补充信息 — 对载荷中的每个 CVE,运行 tools/nvd-lookup.py <CVE>,并将 {score, severity, cwe} 附加到该行。
  4. 去重 — 跳过 (asset, cve) 对已存在于 queue/scope-*.json 中的行。仅当先前行的状态为 REJECTED,且威胁情报信号的 confidence 高于上次尝试时,才重新排队。
  5. 写入队列行 — 每个 (asset, cve) 对对应一个 JSON 文件,路径为 queue/scope-{ts}-{asset_id}-{cve}.json。Validation Run 任务会读取这些文件。

输出

{OUTPUT_DIR}/
  inbox/
    signal-{ts}.json        # raw payload, kept for audit
  queue/
    scope-{ts}-{asset}-{cve}.json

每个范围行:

{
  "scope_id": "scope-20260513-asset42-CVE-2024-12345",
  "signal_id": "ti-2026-0042",
  "asset": {"id": "asset42", "url": "https://app.example.com", "tier": "revenue"},
  "cve": "CVE-2024-12345",
  "nvd": {"score": 9.8, "severity": "CRITICAL", "cwe": "CWE-79"},
  "claim": "Reflected XSS via search parameter",
  "confidence": "high",
  "source": "vendor-advisory",
  "references": ["https://..."],
  "queued_at": "2026-05-13T10:00:00Z",
  "status": "queued"
}

规则

  1. 幂等。 对同一载荷重复运行不得生成重复的队列行。
  2. 不执行。 摄取过程绝不运行 PoC,只为下游任务排入范围。
  3. 审计追踪。 在进行任何转换之前,始终将原始载荷复制到 inbox/。
  4. NVD 查询失败不阻塞。 如果 nvd-lookup 出错,则写入 nvd: null 和 nvd_error: "..." 的行;不得丢弃信号。
  5. 资产必须在资产清单中。 将 asset.id 与 artifacts/org-surface.json(来自 Org Recon Refresh 任务)交叉核对。未知资产仍需生成一行,但须标记 unknown_asset: true,以便验证器跳过它们。

参考资料

  • reference/ingest-schema.md — 完整的输入/输出 JSON 架构。

评论

支持 Markdown