如何获取含CVE及severity信息的Safety扫描JSON格式结果
解决Safety扫描JSON格式与漏洞详情缺失的矛盾
问题现状
执行Safety扫描时遇到参数组合的矛盾:
- 使用
--output json参数:
输出为标准JSON格式,但缺少CVE编号和漏洞级别(severity)的详细信息。safety scan --debug --json --stage production --output json > ./scan-results/safety_output.json 2>&1 || true - 使用
--detailed-output json参数:
能获取完整的CVE和severity详情,但输出不符合JSON格式规范。safety scan --debug --json --stage production --detailed-output json > ./scan-results/safety_output.json 2>&1 || true
可行调整方案
方案1:调整参数组合
尝试简化参数,将--json与--detailed-output配合使用时,移除多余的格式指定:
safety scan --debug --json --stage production --detailed-output > ./scan-results/safety_output.json 2>&1 || true
部分版本的Safety中,--detailed-output无需额外指定格式,配合--json即可直接输出带详情的JSON数据。
方案2:后处理转换格式
如果参数调整无效,可先获取带详情的输出,再用jq工具将其转换为JSON格式:
safety scan --debug --stage production --detailed-output | jq -R '.' > ./scan-results/safety_output.json 2>&1 || true
内容的提问来源于stack exchange,提问作者teachmeplease345
相关产品推荐
相关产品推荐

