用途:消费攻击路径图与业务分级表,输出应优先修复的攻击路径排名清单,挂载于 cloud-agent 任务 #7。
触发方式:attack-path-stitcher(任务 #6)完成后每日定时运行;写入 validated/*.json 且 nvd.score >= 9.0 时也会触发。
主要能力:读取 artifacts/attack-paths.json 与 business-tier-map.csv,将路径分为 confirmed_paths 与 inferred_paths;对每条路径计算 feasibility、technical_severity(max_cvss/10)、business_impact(目的资产分级权重)、entry_exposure(入口外部为 1.0,否则 0.5),最终得分 = 四者乘积。也评分不在已确认路径上的单资产已验证发现。
分级权重:crown_jewel 1.00、revenue 0.70、support 0.40、dev 0.20、unknown 0.30。
分桶:immediate(0-7天,score≥0.6)、short_term(7-30天,0.3≤score<0.6)、medium_term(30-90天,0.1≤score<0.3)、monitor(score<0.1);inferred_paths 一律归入 theoretical,不进入修复 SLA 路线图。排序降序,平局依次按 max CVSS 降序、跳数升序、发现时间新者优先。
输出:artifacts/attack-paths-ranked.json 与 attack-paths-ranked.md,每行带 path_class。修复焦点:若某边 feasibility<1.0,则聚焦该边源资产;若所有边均为 1.0,则聚焦入口资产 hops[0]。
实现与限制:由 tools/risk-prioritise.py 确定性实现,不交由 LLM 代理。相同输入必须产生字节一致输出。不重新推导 feasibility/CVSS,不新增发现,只做重排。可用 --thresholds 覆盖桶阈值,--tier-weights 覆盖分级权重,并记录在输出中。资产缺失时使用 unknown 权重并在 unmapped_assets[] 标记。