

Amazon CodeCatalyst 不再向新客戶開放。現有客戶可以繼續正常使用該服務。如需詳細資訊，請參閱[如何從 CodeCatalyst 遷移](migration.md)。

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 支援的 SARIF 屬性
<a name="test.sarif"></a>

靜態分析結果交換格式 (SARIF) 是一種輸出檔案格式，可用於 Amazon CodeCatalyst 中的軟體合成分析 (SCA) 和靜態分析報告。下列範例示範如何在靜態分析報告中手動設定 SARIF：

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

CodeCatalyst 支援下列 SARIF 屬性，可用於最佳化分析結果在報告中的顯示方式。

**Topics**
+ [`sarifLog` 物件](#test.sarif.sarifLog)
+ [`run` 物件](#test.sarif.run)
+ [`toolComponent` 物件](#test.sarif.toolComponent)
+ [`reportingDescriptor` 物件](#test.sarif.reportingDescriptor)
+ [`result` 物件](#test.sarif.result)
+ [`location` 物件](#test.sarif.location)
+ [`physicalLocation` 物件](#test.sarif.physicalLocation)
+ [`logicalLocation` 物件](#test.sarif.logicalLocation)
+ [`fix` 物件](#test.sarif.fix)

## `sarifLog` 物件
<a name="test.sarif.sarifLog"></a>


| 名稱 | 必要 | 描述 | 
| --- | --- | --- | 
|  `$schema`  |  是  |  [2.1.0](https://json.schemastore.org/sarif-2.1.0.json) 版 SARIF JSON 結構描述的 URI。  | 
|  `version`  |  是  |  CodeCatalyst 僅支援 SARIF 2.1.0 版。  | 
|  `runs[]`  |  是  |  SARIF 檔案包含一或多個執行的陣列，每個都代表分析工具的單一執行。  | 

## `run` 物件
<a name="test.sarif.run"></a>


| 名稱 | 必要 | 描述 | 
| --- | --- | --- | 
|  `tool.driver`  |  是  |  描述分析工具的`toolComponent`物件。  | 
|  `tool.name`  |  否  |  屬性，指出用於執行分析的工具名稱。  | 
|  `results[]`  |  是  |  CodeCatalyst 上顯示的分析工具結果。  | 

## `toolComponent` 物件
<a name="test.sarif.toolComponent"></a>


| 名稱 | 必要 | 描述 | 
| --- | --- | --- | 
|  `name`  |  是  |  分析工具的名稱。  | 
|  `properties.artifactScanned`  |  否  |  工具分析的成品總數。  | 
|  `rules[]`  |  是  |  代表規則的`reportingDescriptor`物件陣列。根據這些規則，分析工具會在分析的程式碼中找到問題。  | 

## `reportingDescriptor` 物件
<a name="test.sarif.reportingDescriptor"></a>


| 名稱 | 必要 | 描述 | 
| --- | --- | --- | 
|  `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`  |  否  |  Common [Vulnerability Scoring System v3.1](https://www.first.org/cvss/v3.1/specification-document) 的定性嚴重性評分。  | 
|  `properties.cvssv3_baseScore`  |  否  |  CVSS v3 基本分數範圍為 [0.0 - 10.0](https://nvd.nist.gov/vuln-metrics/cvss)。  | 
|  `properties.cvssv2_severity`  |  否  |  如果 CVSS v3 值不可用，CodeCatalyst 會搜尋 CVSS v2 值。  | 
|  `properties.cvssv2_score`  |  否  |  CVSS v2 基本分數範圍為 [0.0 - 10.0](https://nvd.nist.gov/vuln-metrics/cvss)。  | 
|  `properties.severity`  |  否  |  指定調查結果嚴重性層級的一組固定字串。 長度上限：1，024 個字元  | 
|  `defaultConfiguration.level`  |  否  |  規則的預設嚴重性。  | 

## `result` 物件
<a name="test.sarif.result"></a>


| 名稱 | 必要 | 描述 | 
| --- | --- | --- | 
|  `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`  |  否  |  Common [Vulnerability Scoring System v3.1](https://www.first.org/cvss/v3.1/specification-document) 的定性嚴重性評分。  | 
|  `properties.cvssv3_baseScore`  |  否  |  CVSS v3 基本分數範圍為 [0.0 - 10.0](https://nvd.nist.gov/vuln-metrics/cvss)。  | 
|  `properties.cvssv2_severity`  |  否  |  如果 CVSS v3 值不可用，CodeCatalyst 會搜尋 CVSS v2 值。  | 
|  `properties.cvssv2_score`  |  否  |  CVSS v2 基本分數範圍為 [0.0 - 10.0](https://nvd.nist.gov/vuln-metrics/cvss)。  | 
|  `properties.severity`  |  否  |  指定調查結果嚴重性層級的一組固定字串。 長度上限：1，024 個字元  | 
|  `locations[]`  |  是  |  偵測到結果的一組位置。除非問題只能透過在每個指定位置進行變更來修正，否則只能包含一個位置。CodeCatalyst 會使用位置陣列中的第一個值來註釋結果。 `location` 物件數量上限：10  | 
|  `relatedLocations[]`  |  否  |  調查結果中其他位置參考的清單。 `location` 物件數量上限：50  | 
|  `fixes[]`  |  否  |  代表掃描工具所提供建議的`fix`物件陣列。CodeCatalyst 使用`fixes`陣列中的第一個建議。  | 

## `location` 物件
<a name="test.sarif.location"></a>


| 名稱 | 必要 | 描述 | 
| --- | --- | --- | 
|  `physicalLocation`  |  是  |  識別成品和區域。  | 
|  `logicalLocations[]`  |  否  |  名稱描述的一組位置，不參考成品。  | 

## `physicalLocation` 物件
<a name="test.sarif.physicalLocation"></a>


| 名稱 | 必要 | 描述 | 
| --- | --- | --- | 
|  `artifactLocation.uri`  |  是  |  指出成品位置的 URI，通常是在儲存庫中或在建置期間產生的檔案。  | 
|  `fileLocation.uri`  |  否  |  指示檔案位置的備用 URI。如果 `artifactLocation.uri`傳回空白，則會使用此項目。  | 
|  `region.startLine`  |  是  |  區域中第一個字元的行號。  | 
|  `region.startColumn`  |  是  |  區域中第一個字元的資料欄編號。  | 
|  `region.endLine`  |  是  |  區域中最後一個字元的行號。  | 
|  `region.endColumn`  |  是  |  區域中最後一個字元的資料欄編號。  | 

## `logicalLocation` 物件
<a name="test.sarif.logicalLocation"></a>


| 名稱 | 必要 | Description | 
| --- | --- | --- | 
|  `fullyQualifiedName`  |  否  |  描述結果位置的其他資訊。 長度上限：1，024 個字元  | 

## `fix` 物件
<a name="test.sarif.fix"></a>


| 名稱 | 必要 | Description | 
| --- | --- | --- | 
|  `description.text`  |  否  |  顯示每個問題清單建議的訊息。 長度上限：3，000 個字元  | 
|  `artifactChanges.[0].artifactLocation.uri`  |  否  |  URI 指出需要更新之成品的位置。  | 