Fork me on GitHub

SARIF:静态分析结果交换格式

从2012年Gartner的研究报告“DevOpsSec: Creating the Agile Triangle”提出了DevSecOps的概念, 到目前DevSecOps已经成为构建企业级研发安全的重要模式。 DevSecOps模式中有些重要的原则:安全左移、默认安全、运行时安全、安全服务自动化/自助化、基础设施即代码(IaC)、持续集成和交付,以及需要组织和文化建设。

在DevSecOps的过程中,最重要的一环就是安全工具能够快速集成到自动化平台,保证平台的持续集成和交付,从而提高产品的整体的安全水平。 在整个研发过程中静态安全检查工具是保证代码安全的重要手段,每个安全检查工具因为技术实现上的差异,对不同的安全缺陷有着不同的检查能力,所以稍微大型一些的开发团队, 在开发的时候会引入多个安全扫描工具,以获取安全检查能力覆盖的最大化。 但多工具的集成, 就会对程序员或平台的集成会带来以下问题:

  • 对于开发人员
    • 在使用IDE的时候, 缺少一个通用的检查工具结果接口和交互接口;
    • 需要查看多个检查工具的结果;
  • 对于集成平台
    • 需要学习每个工具的输出扫描格式;
    • 在扫描报告转入到缺陷跟踪系统的时候, 缺少一个通用的缺陷转换程序;
    • 缺少一个通用扫描结果度量方式。

为了解决这些的问题,由微软、Micro focus等几家静态分析软件公司提出了:静态分析结果交换格式(Static Analysis Results Interchange Format (SARIF))。

微软 为SARIF 创建了一个网站 https://sarifweb.azurewebsites.net/,包含规范、工具和库、 查看器。

posted @ 2022-03-13 15:25  张善友  阅读(723)  评论(1编辑  收藏  举报