用途:将威胁情报信号(CVE + 受影响资产 + 利用声明)转换为排队中的 engagement-scope 行,供 Exploitability Validation Run(cloud-agent 任务 #3)消费。可被分析员用 prompt 对已有 signal.json 触发,也可由 cloud-agent 运行时按 cron(默认每 15 分钟)轮询 {OUTPUT_DIR}/inbox/ 处理新信号文件。
主要能力与流程:1) 读取载荷:tools/ti-ingest.py --in <path-or-stdin>;2) 校验 schema,必填键为 signal_id、cve(一个或多个)、assets(一个或多个)、claim,可选 confidence、source、references;3) 对每个 CVE 调用 tools/nvd-lookup.py <CVE> 补充 {score, severity, cwe};4) 去重,跳过 queue/scope-*.json 中已存在的 (asset, cve) 对,仅当旧行状态为 REJECTED 且新信号 confidence 更高时才重新入队;5) 按 (asset, cve) 写入 queue/scope-{ts}-{asset_id}-{cve}.json。原始载荷始终复制到 inbox/signal-{ts}.json 以供审计。
规则与限制:幂等,同一载荷重复运行不产生重复队列行;不做执行,从不运行 PoC,只排队等待下游任务;NVD 查询失败不阻塞,行内写 nvd: null 与 nvd_error: "...",不丢弃信号;资产须在清单中,需对照 artifacts/org-surface.json 校验 asset.id,未知资产仍写行但标记 unknown_asset: true,使验证器跳过。详细输入/输出 JSON schema 见 reference/ingest-schema.md。