Skip to main content

bqrs 해석

[연결] 단일 BQRS의 데이터를 해석합니다.

누가 이 기능을 사용할 수 있나요?

CodeQL은(는) 다음 리포지토리 유형에 사용할 수 있습니다.

이 문서의 내용

참고 항목

이 콘텐츠는 CodeQL CLI의 최신 릴리스에 대해 설명합니다. 이 요소에 대한 자세한 내용은 https://github.com/github/codeql-cli-binaries/releases을(를) 참조하세요.

이전 릴리스에서 이 명령에 사용할 수 있는 옵션의 세부 정보를 보려면 터미널에서 옵션을 사용하여 --help 명령을 실행합니다.

개요

Shell
codeql bqrs interpret --format=<format> --output=<output> -t=<String=String> [--threads=<num>] [--source-archive=<sourceArchive>] [--source-location-prefix=<sourceLocationPrefix>] <options>... -- <bqrs-file>

Description

          \[연결] 단일 BQRS의 데이터를 해석합니다.

제공된 메타데이터에 따라 단일 BQRS 파일을 해석하고 지정된 형식으로 출력을 생성하는 명령입니다.

Options

기본 옵션

<bqrs-file>

          \[필수] 해석할 BQRS 파일입니다.

--format=<format>

          \[필수] 결과를 기록할 형식입니다. 다음 중 하나입니다.

          `csv`: 규칙과 알림 메타데이터가 모두 포함된 열을 포함하여 형식화된 쉼표로 구분된 값(CSV)입니다.

          `sarif-latest`: SARIF(정적 분석 결과 교환 형식)는 정적 분석 결과를 설명하기 위한 JSON 기반 형식입니다. 이 형식 옵션은 지원되는 최신 버전인 v2.1.0을 사용합니다. 이 옵션은 CodeQL 버전마다 서로 다른 SARIF 버전을 생성하므로 자동화에 사용하기에 적합하지 않습니다.

          `sarifv2.1.0`: SARIF v2.1.0입니다.

          `graphtext`: 그래프를 나타내는 텍스트 형식입니다. @kind 그래프가 있는 쿼리에서만 호환됩니다.

          `dgml`: 그래프를 설명하기 위한 XML 기반 형식인 Directed Graph Markup Language(DGML)입니다. @kind 그래프가 있는 쿼리에서만 호환됩니다.

          `dot`: 그래프를 설명하기 위한 텍스트 기반 형식인 Graphviz DOT 언어입니다.

@kind 그래프가 있는 쿼리에서만 호환됩니다.

-o, --output=<output>

          \[필수] 결과를 기록할 출력 경로입니다. 그래프 형식의 경우, 이 경로는 디렉터리여야 하며, 결과(또는 이 명령이 여러 쿼리 해석을 지원하는 경우 결과들)가 해당 디렉터리 안에 기록됩니다.

-t=<String=String>

          \[필수] 쿼리 메타데이터 키-값 쌍입니다. 각 메타데이터 항목마다 반복합니다. 적어도 'kind'와 'id' 키는 지정해야 합니다. 키에는 @ 접두사를 붙일 필요가 없습니다.

--max-paths=<maxPaths>

경로가 있는 각 알림에 대해 생성할 최대 경로 수입니다. (기본값: 4)

--[no-]sarif-add-file-contents

          \[SARIF 형식만 해당] 적어도 하나의 결과에서 참조된 모든 파일의 전체 내용을 포함합니다.

--[no-]sarif-add-snippets

          \[SARIF 형식만 해당] 결과에 언급된 각 위치에 대해 코드 스니펫을 포함하며, 보고된 위치 전후로 각각 두 줄의 문맥을 제공합니다.

--[no-]sarif-add-query-help

          \[SARIF 형식만] \[사용되지 않음] 모든 쿼리에 대한 Markdown 형식의 쿼리 도움말을 포함합니다. /path/to/query.md 파일에서 /path/to/query.ql에 대한 쿼리 도움말을 불러옵니다. 이 플래그가 제공되지 않으면 기본 동작은 사용자 정의 쿼리, 즉 \`codeql/\<lang\&rt;-queries\` 형식이 아닌 쿼리 팩의 쿼리에 대해서만 도움말을 포함하는 것입니다 이 옵션은 codeql bqrs interpret에 전달해도 아무 효과가 없습니다.

--sarif-include-query-help=<mode>

          \[SARIF 형식만] SARIF 출력에 쿼리 도움말을 포함할지 여부를 지정합니다. 다음 중 하나입니다.

          `always`: 모든 쿼리에 대한 도움말을 포함합니다.

          `custom_queries_only`              _(기본값)_:사용자 정의 쿼리, 즉 \`codeql/\<lang\&rt;-queries\` 형식이 아닌 쿼리 팩의 쿼리에 대해서만 도움말을 포함합니다.

          `never`: 어떤 쿼리도 도움말에 포함하지 않습니다.

이 옵션은 codeql bqrs interpret에 전달해도 아무 효과가 없습니다.

v2.15.2부터 사용할 수 있습니다.

--no-sarif-include-alert-provenance

          \[고급] \[SARIF 형식만] SARIF 출력에 알림 출처 정보를 포함하지 않습니다.

v2.18.1부터 사용할 수 있습니다.

--[no-]sarif-group-rules-by-pack

          \[SARIF 형식만 해당] 각 쿼리에 대한 규칙 객체를 해당 QL 팩 아래의 `<run>.tool.extensions` 속성에 배치합니다. 이 옵션은 codeql bqrs interpret에 전달해도 아무 효과가 없습니다.

--[no-]sarif-multicause-markdown

          \[SARIF 형식만 해당] 원인이 여러 개인 알림의 경우, 출력에 일반 문자열 외에도 Markdown 형식의 항목화된 목록으로 포함합니다.

--no-sarif-minify

          \[SARIF 형식만] 자동 서식 지정 SARIF 출력을 생성합니다. 기본적으로 SARIF 출력은 파일 크기를 줄이기 위해 축소됩니다.

--sarif-run-property=<String=String>

          \[SARIF 형식 전용] 생성된 SARIF 'run' 속성에 추가할 키-값 쌍입니다. 반복할 수 있습니다.

--no-group-results

          \[SARIF 형식만 해당] 고유한 위치마다 하나의 결과를 생성하는 대신, 메시지마다 하나의 결과를 생성합니다.

--csv-location-format=<csvLocationFormat>

CSV 출력에서 위치를 생성할 형식입니다. uri, line-column, offset-length 중 하나입니다. (기본값: 행-열)

--dot-location-url-format=<dotLocationUrlFormat>

DOT 출력에서 파일 위치 URL을 생성할 형식을 정의하는 형식 문자열입니다. 다음 자리 표시자를 사용할 수 있습니다. {path}, {start:line}, {start:column}, {end:line}, {end:column}, {offset}, {length}.

--[no-]sublanguage-file-coverage

          \[GitHub.com 및 GitHub Enterprise Server v3.12.0 이상에서만] 하위 언어 파일의 커버리지 정보를 사용합니다. 이는 C와 C++, Java와 Kotlin, JavaScript와 TypeScript처럼 CodeQL 추출기를 공유하는 언어에 대해 개별 파일 커버리지 정보를 계산하고, 표시하며, 내보냅니다.

v2.15.2부터 사용할 수 있습니다.

--sarif-category=<category>

          \[SARIF 형식만 해당] \[맞춤] SARIF 출력에 포함할 이 분석의 범주를 지정합니다. 범주는 동일한 도구와 커밋을 대상으로 하지만 서로 다른 언어나 코드 부분에서 수행되는 여러 분석을 구분하는 데 사용됩니다.

여러 가지 방법으로 동일한 버전의 코드베이스를 분석하는 경우(예: 다른 언어로 분석), 코드 검사 결과를 프레젠테이션을 위해 GitHub에 업로드할 때 이 값은 각 분석 간에 달라야 합니다. 이 값은 코드 검사에서 각 분석이 서로를 대체 하지 않고 보완 한다는 것을 의미합니다. (값은 서로 다른 버전의 코드 베이스에 대해 동일한 분석을 수행하는 동안 일관성을 유지해야 합니다.)

이 값은 <run>.automationDetails.id 속성으로 표시됩니다(아직 슬래시가 없는 경우, 뒤에 슬래시가 추가됩니다.).

-j, --threads=<num>

경로를 계산하는 데 사용되는 스레드 수입니다.

기본값은 1입니다. 0을 전달하여 머신의 코어당 한 개의 스레드를 사용할 수 있고, -_N_을 전달하여 _N_개의 코어를 사용하지 않은 상태로 둘 수 있습니다. 단, 최소 한 개의 스레드는 계속 사용됩니다.

--column-kind=<columnKind>

          \[SARIF 전용] 위치 열을 해석하는 데 사용되는 열 유형입니다. utf8, utf16, utf32, 바이트 중 하나입니다.

--[no-]unicode-new-lines

          \[SARIF 전용] 위치의 행 번호를 해석할 때, 유니코드 줄 바꿈 문자 LS(Line Separator, U+2028)와 PS(Paragraph Separator, U+2029)를 새 줄로 간주할지 여부입니다.

소스 아카이브 옵션 — 함께 제공되거나 전혀 제공되지 않아야 합니다.

-s, --source-archive=<sourceArchive>

소스 아카이브가 포함된 디렉터리 또는 ZIP 파일입니다.

-p, --source-location-prefix=<sourceLocationPrefix>

소스 코드가 저장되어 있던 원본 파일 시스템상의 파일 경로입니다.

일반 옵션

-h, --help

이 도움말 텍스트를 표시합니다.

-J=<opt>

          \[고급] 명령을 실행하는 JVM에 옵션을 제공합니다.

(옵션에 공백이 포함되면 제대로 처리되지 않을 수 있는 점에 유의해야 합니다.)

-v, --verbose

출력되는 진행률 메시지 수를 점차적으로 늘립니다.

-q, --quiet

출력되는 진행률 메시지 수를 점차적으로 줄입니다.

--verbosity=<level>

          \[고급] 세부 정보 표시 수준을 명시적으로 오류, 경고, 진행률, 진행률+, 진행률++, 진행률+++ 중 하나로 설정합니다. 
          `-v` 및 `-q`를 재정의합니다.

--logdir=<dir>

          \[고급] 지정한 디렉터리에 상세 로그를 하나 이상의 파일로 작성하며, 생성된 이름에는 타임스탬프와 실행 중인 하위 명령 이름을 포함합니다.

(로그 파일 이름을 직접 작성하려면 대신 --log-to-stderr을(를) 지정하고 stderr를 원하는 위치로 리디렉션합니다.)

--common-caches=<dir>

          \[고급] 다운로드한 QL 팩 및 컴파일된 쿼리 계획 등 CLI를 여러 번 실행해도 지속되는 디스크의 캐시된 데이터의 위치를 제어합니다. 명시적으로 설정하지 않으면, 기본적으로 사용자의 홈 디렉터리에 이름이 지정된 `.codeql` 디렉터리로 설정됩니다. 디렉터리가 아직 없는 경우에는 만들어집니다.

v2.15.2부터 사용할 수 있습니다.