用途:在已获得逐语言依赖审计 CVE 结果的基础上,进一步回答修复顺序问题——哪些漏洞只需升级一个直接依赖即可清除,哪些需要 overrides 或厂商补丁。它构建项目的依赖图(npm 用 npm ls --json --all,Python 用 pipdeptree --json-tree,缺失时回退递归 pip show),与 CVE 结果取交集,输出从直接依赖到漏洞包的完整路径。
主要能力:按 CVE 输出完整依赖路径;按直接依赖聚合可达 CVE 数量、严重级别与建议升级版本;给出“最高杠杆升级”建议;标记不可达漏洞(路径中每个父级都锁定漏洞版本范围);标记深层传递漏洞(距直接依赖 ≥3 层)与含漏洞的循环依赖;报告 critical 深层漏洞、仅能靠 overrides 处理的高危漏洞等发现。
用法:可自运行审计,也可消费已有审计 JSON。示例:python3 ./scripts/trace_vulns.py /path/to/project;python3 ./scripts/trace_vulns.py /path/to/project --audit-input /tmp/audit.json。示例:python3 ./scripts/trace_vulns.py . --format json --leverage-only | jq '.[] | select(.cve_count >= 3)';python3 ./scripts/trace_vulns.py . --min-depth 3 --format markdown --output deep-trace.md。输出支持 JSON、JSONL、Markdown,退出码 0 干净、1 高/严重、2 错误。
适用场景:供应链漏洞分诊、升级 PR 规划、深层传递依赖风险报告。限制:需 Python 3.9+,npm 或 pip 可用;pipdeptree 可选但推荐;需要已有审计结果或允许本技能自行运行审计;npm 锁文件不同步会产生部分数据并标记;无审计结果且无审计工具时退出码 2。其余具体实现与资源细节暂未提供。