# CodeQL CLI SARIF 출력

CodeQL CLI에서 SARIF를 출력하고 정적 분석 결과를 다른 시스템과 공유할 수 있습니다.

## SARIF 출력 알아보기

SARIF는 광범위한 정적 분석 도구의 출력을 나타내도록 설계되었으며 SARIF 사양에는 "선택 사항"으로 간주되는 많은 기능이 있습니다. 이 문서에서는 SARIF v2.1.0.csd1 사양에 해당하는 형식 유형 `sarifv2.1.0`을 사용할 때 생성되는 출력에 대해 자세히 설명합니다. 분석 결과에 대한 파일 형식을 선택하는 방법에 대한 자세한 내용은 [데이터베이스 분석하기](/ko/enterprise-server@3.20/code-security/codeql-cli/codeql-cli-manual/database-analyze)을(를) 참조하세요.

## SARIF 사양 및 스키마

이 문서는 자세한 SARIF 사양과 함께 읽기 위한 것입니다. 사양 및 SARIF 스키마에 대한 자세한 내용은 [SARIF 사양 설명서](https://docs.oasis-open.org/sarif/sarif/v2.1.0/sarif-v2.1.0.html)를 참조하세요.

## 변경 내용 참고

### 버전 간 변경 내용

| CodeQL 버전 | 형식 유형         | Changes           |
| --------- | ------------- | ----------------- |
| 2.0.0     | `sarifv2.1.0` | 이 형식의 첫 번째 버전입니다. |

### 출력의 향후 변경 내용

지정된 특정 형식 유형(예: `sarifv2.1.0`)에 대해 생성된 출력은 향후 CodeQL 릴리스에서 변경될 수 있습니다. 생성된 SARIF를 사용하는 사용자의 이전 호환성을 유지하기 위해 다음을 보장하도록 노력할 것입니다.

* 항상 생성되는 것으로 표시된 필드는 제거되지 않습니다.

* 항상 생성되지 않는 것으로 표시된 필드의 경우 필드가 생성되는 상황이 변경될 수 있습니다. CodeQL SARIF 출력의 사용자는 이러한 필드의 존재 여부에 관계없이 안정적으로 동작할 수 있어야 합니다.

새 출력 필드는 동일한 형식 유형으로 향후 릴리스에 추가될 수 있습니다. 이러한 필드는 이전 버전과의 호환성을 손상하는 것으로 간주되지 않으며 소비자는 새로 추가된 필드의 존재에 대해 강력해야 합니다.

새 형식 인수 형식은 새 버전의 SARIF를 지원하기 위해 CodeQL의 향후 버전에 추가될 수 있습니다. 명시적으로 문서화되지 않는 한 이전 버전과의 호환성을 보장하지 않습니다.

## 생성된 SARIF 개체

특정 상황과 함께 생성될 수 있는 각 SARIF 구성 요소에 대해 자세히 설명합니다. 생성되지 않는 속성은 생략합니다.

###

```
          `sarifLog` 개체
```

| JSON 속성 이름 | 항상 생성하시겠습니까?                                                                                                                                                                                                                                                                                                          | 비고 |
| ---------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -- |
| `$schema`  | <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-check" aria-label="Always" role="img"><path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path></svg> |    |

```
          [SARIF 스키마](https://docs.oasis-open.org/sarif/sarif/v2.1.0/errata01/os/schemas/sarif-schema-2.1.0.json)에 대한 링크를 제공합니다.|
```

\| `version`| <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-check" aria-label="Always" role="img"><path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path></svg>| 출력을 생성하는 데 사용되는 SARIF의 버전입니다.|
\| `runs`| <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-check" aria-label="Always" role="img"><path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path></svg>| 한 언어에 대한 단일 실행 개체를 포함하는 배열입니다.|

###

```
          `run` 개체
```

| JSON 속성 이름         | 항상 생성하시겠습니까?                                                                                                                                                                                                                                                                                                          | 비고                                                                    |
| ------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------- |
| `tool`             | <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-check" aria-label="Always" role="img"><path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path></svg> | None                                                                  |
| `artifacts`        | <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-check" aria-label="Always" role="img"><path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path></svg> | 결과에서 참조되는 모든 파일에 대해 하나 이상의 아티팩트 개체를 포함하는 배열입니다.                       |
| `results`          | <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-check" aria-label="Always" role="img"><path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path></svg> | None                                                                  |
| `newLineSequences` | <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-check" aria-label="Always" role="img"><path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path></svg> | None                                                                  |
| `columnKind`       | <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-check" aria-label="Always" role="img"><path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path></svg> | None                                                                  |
| `properties`       | <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-check" aria-label="Always" role="img"><path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path></svg> | 속성 사전에는 CodeQL CLI에 전달된 형식 지정자를 식별하는 `semmle.formatSpecifier`가 포함됩니다. |

###

```
          `tool` 개체
```

| JSON 속성 이름 | 항상 생성하시겠습니까?                                                                                                                                                                                                                                                                                                          | 비고   |
| ---------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---- |
| `driver`   | <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-check" aria-label="Always" role="img"><path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path></svg> | None |

###

```
          `toolComponent` 개체
```

| JSON 속성 이름     | 항상 생성하시겠습니까?                                                                                                                                                                                                                                                                                                          | 비고                                                                                                                                                                           |
| -------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `name`         | <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-check" aria-label="Always" role="img"><path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path></svg> | CodeQL CLI 도구의 출력에 대해서는 "CodeQL 명령줄 도구 모음"으로 설정합니다. 다른 도구를 사용하여 출력이 생성된 경우 다른 `name`이 보고되며 형식은 여기에 설명된 것과 다를 수 있습니다.                                                         |
| `organization` | <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-check" aria-label="Always" role="img"><path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path></svg> | "GitHub"로 설정.                                                                                                                                                                |
| `version`      | <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-check" aria-label="Always" role="img"><path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path></svg> | CodeQL 릴리스 버전(예: "2.0.0")으로 설정합니다.                                                                                                                                           |
| `rules`        | <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-check" aria-label="Always" role="img"><path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path></svg> | 규칙을 나타내는 `reportingDescriptor` 개체의 배열입니다. 이 배열은 최소한 이 분석 중에 실행된 모든 규칙을 포함하지만, 사용할 수 있지만 실행되지 않은 규칙을 포함할 수 있습니다. 쿼리를 사용하도록 설정하는 방법에 대한 자세한 내용은 `defaultConfiguration`을 참조하세요. |

###

```
          `reportingDescriptor` 개체(규칙용)

          `reportingDescriptor` 개체는 SARIF 사양의 여러 위치에서 사용할 수 있습니다. 
          `reportingDescriptor`가 `toolComponent` 개체의 규칙 배열에 포함되면 다음과 같은 속성을 갖습니다.
```

| JSON 속성 이름             | 항상 생성하시겠습니까?                                                                                                                                                                                                                                                                                                          | 비고                                                                                                                                         |
| ---------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------ |
| `id`                   | <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-check" aria-label="Always" role="img"><path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path></svg> | 일반적으로 `@id` 형식(예: `language/rule-name`)인 규칙을 정의하는 쿼리에 지정된 `cpp/unsafe-format-string` 속성을 포함합니다. 조직에서 쿼리에 `@opaqueid` 속성을 정의하는 경우 대신 사용됩니다. |
| `name`                 | <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-check" aria-label="Always" role="img"><path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path></svg> | 쿼리에 지정된 `@id` 속성을 포함합니다. 예는 `id` 속성을 참조하세요.                                                                                                |
| `shortDescription`     | <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-check" aria-label="Always" role="img"><path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path></svg> | 규칙을 정의하는 쿼리에 지정된 `@name` 속성을 포함합니다.                                                                                                        |
| `fullDescription`      | <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-check" aria-label="Always" role="img"><path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path></svg> | 규칙을 정의하는 쿼리에 지정된 `@description` 속성을 포함합니다.                                                                                                 |
| `defaultConfiguration` | <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-check" aria-label="Always" role="img"><path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path></svg> |                                                                                                                                            |

```
          `reportingConfiguration` 개체로서, 사용 가능한 속성이 true 또는 false로 설정되고, 규칙을 정의하는 쿼리에 지정된 `@severity` 속성에 따라 수준 속성이 설정됩니다. 
          `@severity` 속성이 지정되지 않은 경우 생략됩니다.|
```

###

```
          `artifact` 개체
```

| JSON 속성 이름 | 항상 생성하시겠습니까?                                                                                                                                                                                                                                                                                                          | 비고 |
| ---------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -- |
| `location` | <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-check" aria-label="Always" role="img"><path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path></svg> |    |

```
          `artifactLocation` 개체입니다.|
```

\| `index`| <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-check" aria-label="Always" role="img"><path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path></svg>|
`artifact` 개체의 인덱스입니다.|
\| `contents`| <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-x" aria-label="x icon" role="img"><path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path></svg>|
`--sarif-add-file-contents` 플래그를 사용하여 결과가 생성되고 SARIF 파일이 생성될 때 소스 코드를 사용할 수 있는 경우 `contents` 속성은 `artifactContent` 속성이 설정된 `text` 개체로 채워집니다.|

###

```
          `artifactLocation` 개체
```

| JSON 속성 이름  | 항상 생성하시겠습니까?                                                                                                                                                                                                                                                                                                                                                                                                                 | 비고                                                          |
| ----------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------- |
| `uri`       | <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-check" aria-label="Always" role="img"><path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path></svg>                                                                                                        | None                                                        |
| `index`     | <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-check" aria-label="Always" role="img"><path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path></svg>                                                                                                        | None                                                        |
| `uriBaseId` | <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-x" aria-label="x icon" role="img"><path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path></svg> | 파일이 분석 컴퓨터의 루트 원본 위치와 같은 알려진 추상 위치를 기준으로 하는 경우 이 속성이 설정됩니다. |

###

```
          `result` 개체
```

결과의 컴퍼지션은 CodeQL에 제공된 옵션에 따라 달라집니다. 기본적으로 결과는 고유한 메시지 형식 문자열 및 기본 위치별로 그룹화됩니다. 따라서 동일한 기본 메시지를 사용하여 동일한 위치에서 발생하는 두 개의 결과는 출력에 하나의 결과로 표시됩니다. 이 동작은 `--ungroup-results` 플래그를 사용하여 사용하지 않을 수 있으며, 이 경우 결과가 그룹화되지 않습니다.

| JSON 속성 이름 | 항상 생성하시겠습니까?                                                                                                                                                                                                                                                                                                          | 비고 |
| ---------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -- |
| `ruleId`   | <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-check" aria-label="Always" role="img"><path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path></svg> |    |

```
          `id` 개체(규칙용)의 `reportingDescriptor` 속성에 대한 설명을 참조하세요.|
```

\| `ruleIndex`| <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-check" aria-label="Always" role="img"><path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path></svg>| None |
\| `message`| <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-check" aria-label="Always" role="img"><path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path></svg>| 이 위치에서 발생하는 문제를 설명하는 메시지입니다. 이 메시지는 `relatedLocations` 속성의 위치를 참조하는 링크를 포함하는 SARIF "자리 표시자가 있는 메시지"일 수 있습니다.|
\| `locations`| <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-check" aria-label="Always" role="img"><path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path></svg>| 하나의 `location` 개체를 포함하는 배열입니다.|
\| `partialFingerprints`| <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-check" aria-label="Always" role="img"><path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path></svg>| 이름이 지정된 지문 유형과 지문을 연결하는 사전입니다. 여기에는 최소한 기본 위치의 컨텍스트에 따라 지문을 제공하는 `primaryLocationLineHash` 값이 포함됩니다.|
\| `codeFlows`| <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-x" aria-label="x icon" role="img"><path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path></svg>| 이 결과에 대한 규칙을 정의하는 쿼리가 `codeFlow`인 경우 이 배열은 하나 이상의 `@kind path-problem` 개체로 채워질 수 있습니다.|
\| `relatedLocations`| <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-x" aria-label="x icon" role="img"><path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path></svg>| 이 결과에 대한 규칙을 정의하는 쿼리에 자리 표시자 옵션이 있는 메시지가 있는 경우 이 배열이 채워집니다. 각 고유한 위치는 한 번 포함됩니다.|
\| `suppressions`| <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-x" aria-label="x icon" role="img"><path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path></svg>| 결과가 억제된 경우, `suppression` 속성이 `@kind`로 설정된 단일 `IN_SOURCE` 개체를 포함합니다. 이 결과가 억제되지 않지만, 억제가 있는 결과가 하나 이상 있는 경우에는 빈 배열로 설정되고, 그렇지 않으면 설정되지 않습니다.|

###

```
          `location` 개체
```

| JSON 속성 이름         | 항상 생성하시겠습니까?                                                                                                                                                                                                                                                                                                                                                                                                                 | 비고   |
| ------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---- |
| `physicalLocation` | <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-check" aria-label="Always" role="img"><path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path></svg>                                                                                                        | None |
| `id`               | <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-x" aria-label="x icon" role="img"><path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path></svg> |      |

```
          `location` 개체의 `relatedLocations` 배열에 나타나는 `result` 개체는 `id` 속성을 포함될 수 있습니다.|
```

\| `message`| <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-x" aria-label="x icon" role="img"><path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path></svg>|
`location` 개체는 다음과 같은 경우 `message` 속성을 포함할 수 있습니다.</br></br>- `relatedLocations` 속성을 포함할 수 있는 `result` 개체의 `message` 배열에 나타나는 경우</br></br>- `threadFlowLocation.location` 속성에 나타납니다.|

###

```
          `physicalLocation` 개체
```

| JSON 속성 이름         | 항상 생성하시겠습니까?                                                                                                                                                                                                                                                                                                                                                                                                                 | 비고                                                                         |
| ------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------- |
| `artifactLocation` | <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-check" aria-label="Always" role="img"><path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path></svg>                                                                                                        | None                                                                       |
| `region`           | <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-x" aria-label="x icon" role="img"><path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path></svg> | 주어진 `physicalLocation`이 텍스트 파일(예: 소스 코드 파일)에 있는 경우 `region` 속성이 있을 수 있습니다. |
| `contextRegion`    | <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-x" aria-label="x icon" role="img"><path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path></svg> | 이 위치에 연결된 `snippet`이 있는 경우 존재할 수 있습니다.                                     |

###

```
          `region` 개체
```

CodeQL에서 생성된 `region` 개체에는 두 가지 유형이 있습니다.

* 줄/열 오프셋 영역

* 문자 오프셋 및 길이 영역

CodeQL에서 생성된 모든 지역은 어느 형식으로든 지정할 수 있으며 소비자는 두 형식을 강력하게 처리해야 합니다.

줄/열 오프셋 영역의 경우 다음 속성이 설정됩니다.

| JSON 속성 이름    | 항상 생성하시겠습니까?                                                                                                                                                                                                                                                                                                                                                                                                                 | 비고                    |
| ------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------- |
| `startLine`   | <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-check" aria-label="Always" role="img"><path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path></svg>                                                                                                        | None                  |
| `startColumn` | <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-x" aria-label="x icon" role="img"><path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path></svg> | 기본값 1과 같으면 포함되지 않습니다. |
| `endLine`     | <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-x" aria-label="x icon" role="img"><path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path></svg> |                       |

```
          `startLine`과 동일하면 포함되지 않습니다.|
```

\| `endColumn`| <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-check" aria-label="Always" role="img"><path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path></svg>| None |
\| `snippet`| <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-x" aria-label="x icon" role="img"><path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path></svg>| None |

문자 오프셋 및 길이 영역의 경우 다음 속성이 설정됩니다.

| JSON 속성 이름   | 항상 생성하시겠습니까?                                                                                                                                                                                                                                                                                                                                                                                                                 | 비고 |
| ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -- |
| `charOffset` | <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-x" aria-label="x icon" role="img"><path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path></svg> |    |

```
          `startLine`, `startColumn`, `endLine`, 및 `endColumn`이 채워지지 않은 경우 제공됩니다.|
```

\| `charLength`| <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-x" aria-label="x icon" role="img"><path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path></svg>|
`startLine`, `startColumn`, `endLine`, 및 `endColumn`이 채워지지 않은 경우 제공됩니다.|
\| `snippet`| <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-x" aria-label="x icon" role="img"><path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path></svg>| None |

###

```
          `codeFlow` 개체
```

| JSON 속성 이름    | 항상 생성하시겠습니까?                                                                                                                                                                                                                                                                                                          | 비고   |
| ------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---- |
| `threadFlows` | <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-check" aria-label="Always" role="img"><path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path></svg> | None |

###

```
          `threadFlow` 개체
```

| JSON 속성 이름  | 항상 생성하시겠습니까?                                                                                                                                                                                                                                                                                                          | 비고   |
| ----------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---- |
| `locations` | <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-check" aria-label="Always" role="img"><path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path></svg> | None |

###

```
          `threadFlowLocation` 개체
```

| JSON 속성 이름 | 항상 생성하시겠습니까?                                                                                                                                                                                                                                                                                                          | 비고   |
| ---------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---- |
| `location` | <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-check" aria-label="Always" role="img"><path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path></svg> | None |