

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` | 아니요 | [일반 취약성 점수 체계 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` | 아니요 | [일반 취약성 점수 체계 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>


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

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


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