

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` | 是 | 用於參考問題清單之規則的唯一識別符。<br />長度上限：1，024 個字元 | 
| `name` | 否 | 規則的顯示名稱。<br />長度上限：1，024 個字元 | 
| `shortDescription.text` | 否 | 規則的簡短描述。<br />長度上限：3，000 個字元 | 
| `fullDescription.text` | 否 | 規則的完整描述。<br />長度上限：3，000 個字元 | 
| `helpUri` | 否 | 可當地語系化為包含規則之主要文件絕對 URI 的字串。<br />長度上限：3，000 個字元 | 
| `properties.unscore` | 否 | 指出掃描問題清單是否已評分的旗標。 | 
| `properties.score.severity` | 否 | 指定調查結果嚴重性層級的固定字串集。<br />長度上限：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` | 否 | 指定調查結果嚴重性層級的固定字串集。<br />長度上限：1，024 個字元 | 
| `defaultConfiguration.level` | 否 | 規則的預設嚴重性。 | 

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


| 名稱 | 必要 | 描述 | 
| --- | --- | --- | 
| `ruleId` | 是 | 用於參考問題清單之規則的唯一識別符。<br />長度上限：1，024 個字元 | 
| `ruleIndex` | 是 | 工具元件 中相關聯規則的索引`rules[]`。 | 
| `message.text` | 是 | 說明結果並顯示每個問題清單訊息的訊息。<br />長度上限：3，000 個字元 | 
| `rank` | 否 | 包含 0.0 到 100.0 之間的值，代表結果的優先順序或重要性。此縮放值 0.0 為最低優先順序，100.0 為最高優先順序。 | 
| `level` | 否 | 結果的嚴重性。<br />長度上限：1，024 個字元 | 
| `properties.unscore` | 否 | 指出掃描問題清單是否已評分的旗標。 | 
| `properties.score.severity` | 否 | 指定調查結果嚴重性層級的固定字串集。<br />長度上限：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` | 否 | 指定調查結果嚴重性層級的固定字串集。<br />長度上限：1，024 個字元 | 
| `locations[]` | 是 | 偵測到結果的一組位置。除非問題只能透過在每個指定位置進行變更來修正，否則只能包含一個位置。CodeCatalyst 會使用位置陣列中的第一個值來註釋結果。<br />`location` 物件數量上限：10 | 
| `relatedLocations[]` | 否 | 調查結果中其他位置參考的清單。<br />`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` | 否 | 描述結果位置的其他資訊。<br />長度上限：1，024 個字元 | 

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


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