静态分析结果互换格式Sarif定义了静态分析工具输出的标准格式。这是一种适合各种工具需求的强大而精致的格式。因此,由于格式是在用正式语言编写的220多页规范中定义的! - 很难学习sarif并弄清楚需要使用哪些部分。
这些教程旨在以更平易近人的方式介绍SARIF。我们将从一些背景开始:为什么我们需要Sarif?它来自哪里?它可以做什么?然后,我们将研究格式,首先探索最基本的概念,然后转向更高级的概念。
高级概念通常仅适用于Sarif生产商和消费者的一部分,因此您不会阅读所有内容。只需阅读介绍材料,然后选择您感兴趣的其他主题即可。
您可以在samples目录下的教程中找到示例文件。除非我另行说明,否则它们都是有效的SARIF文件。
有时,这些教程链接到SARIF规范的一部分,以提供更详细的信息或高级方案的描述。这些链接看起来像这样:§3.13:sariflog对象,它们指向Spec的HTML版本。 SARIF 2.1.0 CS01(委员会规范1)在OASIS网站上也有PDF和.DOCX版本。
该规范是确定的(如果我们想获得真正的技术,则规范的.docx版本是确定的,但是假设PDF或HTML转换器中没有错误)。如果这些教程中的某些内容与规格不同意,请告诉我,我将修复教程,或者确保针对规格提出错误。
SARIF规格是绿洲的委员会规范。但是,尽管我是同事(与迈克尔·范宁(Michael Fanning))和规范的主要单词匠,但这些教程不是绿洲的工作产品,也不是绿洲以任何方式认可的。它们代表了我个人的解释和对标准的解释。
这些教程现在包含足够的信息,可以为您提供SARIF的可靠背景。正如您将从目录中的“ todo”条目中看到的那样,我还想写更多的内容。但是这些是我有时间的高级主题。
如果您想解释我尚未涵盖的SARIF功能,请通过在此存储库中提交问题让我知道
locations阵列id和guid属性correlationGuid属性sarif: URI计划(TODO)该项目欢迎贡献和建议。大多数捐款要求您同意撰写贡献者许可协议(CLA),宣布您有权并实际上授予我们使用您的贡献的权利。有关详细信息,请访问https://cla.opensource.microsoft.com。
当您提交拉动请求时,CLA机器人将自动确定您是否需要提供CLA并适当装饰PR(例如状态检查,评论)。只需按照机器人提供的说明即可。您只需要使用我们的CLA在所有存储库中进行一次。
该项目采用了Microsoft开源的行为代码。有关更多信息,请参见《行为守则常见问题守则》或与其他问题或评论联系[email protected]。
Microsoft和任何贡献者在Creative Commons Attribution 4.0国际公共许可证下授予Microsoft文档和该存储库中其他内容的许可证,请参阅许可证文件,并授予您在MIT许可证中的存储库中的任何代码的许可证,请参阅许可证代码文件。
文档中引用的Microsoft,Windows,Microsoft Azure和/或其他Microsoft产品和服务可以是美国和/或其他国家/地区的Microsoft商标或注册商标。该项目的许可证不授予您使用任何Microsoft名称,徽标或商标的权利。可以在http://go.microsoft.com/fwlink/?linkid=254653上找到Microsoft的一般商标准则。
隐私信息可以在https://privacy.microsoft.com/en-us/上找到
微软和任何贡献者都保留所有其他权利,无论是在其各自的版权,专利还是商标下,无论是暗示,禁止反言还是其他权利。