支持的SARIF属性 - Amazon CodeCatalyst

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

支持的SARIF属性

静态分析结果交换格式 (SARIF) 是一种输出文件格式,可用于 Amazon 的软件组成分析 (SCA) 和静态分析报告 CodeCatalyst。以下示例说明如何在静态分析报告中手动配置SARIF:

Reports: MySAReport: Format: SARIFSA IncludePaths: - output/sa_report.json SuccessCriteria: StaticAnalysisFinding: Number: 25 Severity: HIGH

CodeCatalyst 支持以下SARIF属性,这些属性可用于优化分析结果在报告中的显示方式。

sarifLog 对象

名称 必需 描述

$schema

版本 2.1.0 URI 的SARIFJSON架构。

version

CodeCatalyst 仅支持 2.1.0 SARIF 版。

runs[]

一个SARIF文件包含一个或多个运行的数组,每个运行表示分析工具的单次运行。

run 对象

名称 必需 描述

tool.driver

描述分析工具的toolComponent对象。

tool.name

表示用于执行分析的工具名称的属性。

results[]

上显示的分析工具的结果 CodeCatalyst。

toolComponent 对象

名称 必需 描述

name

分析工具的名称。

properties.artifactScanned

该工具分析的工件总数。

rules[]

代表规则的reportingDescriptor对象数组。根据这些规则,分析工具会在所分析的代码中发现问题。

reportingDescriptor 对象

名称 必需 描述

id

用于引用调查结果的规则的唯一标识符。

最大长度:1,024 个字符

name

规则的显示名称。

最大长度:1,024 个字符

shortDescription.text

对规则的简短描述。

最大长度:3,000 个字符

fullDescription.text

规则的完整描述。

最大长度:3,000 个字符

helpUri

可以本地化为包含规则主要文档URI的绝对值的字符串。

最大长度:3,000 个字符

properties.unscore

一个标志,用于指示扫描结果是否已被评分。

properties.score.severity

一组固定的字符串,用于指定发现的严重性级别。

最大长度:1,024 个字符

properties.cvssv3_baseSeverity

通用漏洞评分系统 v3.1 的定性严重性评级。

properties.cvssv3_baseScore

CVSSv3 基础分数介于 0.0-10.0 之间。

properties.cvssv2_severity

如果 CVSS v3 值不可用,则 CodeCatalyst 搜索 CVSS v2 值。

properties.cvssv2_score

CVSSv2 基础分数介于 0.0-10.0 之间。

properties.severity

一组固定的字符串,用于指定发现的严重性级别。

最大长度:1,024 个字符

defaultConfiguration.level

规则的默认严重性。

result 对象

名称 必需 描述

ruleId

用于引用调查结果的规则的唯一标识符。

最大长度:1,024 个字符

ruleIndex

工具组件中关联规则的索引rules[]

message.text

描述结果并显示每个发现的消息的消息。

最大长度:3,000 个字符

rank

介于 0.0 到 100.0(含)之间的值,表示结果的优先级或重要性。此比例值为 0.0 表示最低优先级,100.0 表示最高优先级。

level

结果的严重程度。

最大长度:1,024 个字符

properties.unscore

一个标志,用于指示扫描结果是否已被评分。

properties.score.severity

一组固定的字符串,用于指定发现的严重性级别。

最大长度:1,024 个字符

properties.cvssv3_baseSeverity

通用漏洞评分系统 v3.1 的定性严重性评级。

properties.cvssv3_baseScore

CVSSv3 基础分数介于 0.0-10.0 之间。

properties.cvssv2_severity

如果 CVSS v3 值不可用,则 CodeCatalyst 搜索 CVSS v2 值。

properties.cvssv2_score

CVSSv2 基础分数介于 0.0-10.0 之间。

properties.severity

一组固定的字符串,用于指定发现的严重性级别。

最大长度:1,024 个字符

locations[]

检测到结果的位置集。除非只能通过在每个指定位置进行更改来纠正问题,否则只能包括一个位置。 CodeCatalyst 使用位置数组中的第一个值来注释结果。

最大location对象数:10

relatedLocations[]

调查结果中参考的其他地点列表。

最大location对象数:50

fixes[]

代表扫描工具提供的建议的fix对象数组。 CodeCatalyst 使用数fixes组中的第一个建议。

location 对象

名称 必需 描述

physicalLocation

标识构件和区域。

logicalLocations[]

按名称描述的一组位置,不提及工件。

physicalLocation 对象

名称 必需 描述

artifactLocation.uri

URI表示工件的位置,通常是存储库中或在构建过程中生成的文件。

fileLocation.uri

URI表示文件位置的后备选项。如果artifactLocation.uri返回为空,则使用此选项。

region.startLine

该区域中第一个字符的行号。

region.startColumn

该区域中第一个字符的列号。

region.endLine

该区域最后一个字符的行号。

region.endColumn

该区域最后一个字符的列号。

logicalLocation 对象

名称 必需 描述

fullyQualifiedName

描述结果位置的其他信息。

最大长度:1,024 个字符

fix 对象

名称 必需 描述

description.text

显示每项发现的建议的消息。

最大长度:3,000 个字符

artifactChanges.[0].artifactLocation.uri

URI表示需要更新的工件的位置。