如何从 Semgrep 保存或导出 reports/findings/results?

How do I save or export reports/findings/results from Semgrep?

当我 运行 扫描时,结果会打印在 CLI 上。我如何查看或存储这些结果?我可以使用管道 (|) 或输出重定向 (>) - 但是否有保存这些发现的 semgrep-y 或格式化方式?

在尝试了这个 CLI reference 中的一些选项后,我已经 运行 以下命令:

semgrep --config auto --output scan_results.json --json

(将配置选项替换为您使用的任何 Semgrep config/rulesets。)

这会生成具有以下 top-level 属性的 JSON 文件:

  • 错误
  • 路径
  • 结果
  • 版本

Semgrep JSON formatting

在支持的其他格式中,还支持 SARIF 输出,用于简化不同 SAST 工具之间的结果交换。类似于JSON,结构如下:

semgrep --config auto --output scan_results.sarif --sarif

感谢 Parsia Semgrep 社区 slack 的 SARIF 小费。