

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`  |  아니요  |  [일반 취약성 점수 체계 v3.1](https://www.first.org/cvss/v3.1/specification-document)의 정성적 심각도 등급입니다.  | 
|  `properties.cvssv3_baseScore`  |  아니요  |  CVSS v3 기본 점수 범위는 [0.0\$110.0](https://nvd.nist.gov/vuln-metrics/cvss)입니다.  | 
|  `properties.cvssv2_severity`  |  아니요  |  CVSS v3 값을 사용할 수 없는 경우 CodeCatalyst는 CVSS v2 값을 검색합니다.  | 
|  `properties.cvssv2_score`  |  아니요  |  CVSS v2 기본 점수 범위는 [0.0\$110.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\$1100.0 사이의 값입니다. 이 규모의 값은 0.0이 가장 낮은 우선 순위이고 100.0이 가장 높은 우선 순위입니다.  | 
|  `level`  |  아니요  |  결과의 심각도입니다. 최대 길이: 1,024자  | 
|  `properties.unscore`  |  아니요  |  스캔 조사 결과의 점수가 매겨졌는지 여부를 나타내는 플래그입니다.  | 
|  `properties.score.severity`  |  아니요  |  조사 결과의 심각도 수준을 지정하는 고정된 문자열 세트입니다. 최대 길이: 1,024자  | 
|  `properties.cvssv3_baseSeverity`  |  아니요  |  [일반 취약성 점수 체계 v3.1](https://www.first.org/cvss/v3.1/specification-document)의 정성적 심각도 등급입니다.  | 
|  `properties.cvssv3_baseScore`  |  아니요  |  CVSS v3 기본 점수 범위는 [0.0\$110.0](https://nvd.nist.gov/vuln-metrics/cvss)입니다.  | 
|  `properties.cvssv2_severity`  |  아니요  |  CVSS v3 값을 사용할 수 없는 경우 CodeCatalyst는 CVSS v2 값을 검색합니다.  | 
|  `properties.cvssv2_score`  |  아니요  |  CVSS v2 기본 점수 범위는 [0.0\$110.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>


| 이름 | 필수 | 설명 | 
| --- | --- | --- | 
|  `fullyQualifiedName`  |  아니요  |  결과의 위치를 설명하는 추가 정보입니다. 최대 길이: 1,024자  | 

## `fix` 객체
<a name="test.sarif.fix"></a>


| 이름 | 필수 | 설명 | 
| --- | --- | --- | 
|  `description.text`  |  아니요  |  각 조사 결과에 대한 권장 사항을 표시하는 메시지입니다. 최대 길이: 3,000자  | 
|  `artifactChanges.[0].artifactLocation.uri`  |  아니요  |  업데이트해야 하는 아티팩트의 위치를 나타내는 URI입니다.  | 