Skip to main content

확장 기능 확인

[실험적] [심층 연결] 액세스할 수 있는 확장 기능을 결정합니다. 여기에는 기계 학습 모델과 데이터 확장이 포함됩니다.

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

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

이 문서의 내용

참고 항목

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

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

개요

Shell
codeql resolve extensions <options>... -- <query|dir|suite|pack>...

Description

          \[심층 연결] 액세스할 수 있는 데이터 확장 기능을 결정합니다.

이 plumbing 내부 처리 명령은 명령줄 인수로 전달된 쿼리 지정자에 대해 사용할 수 있는 데이터 확장 기능의 집합을 확인합니다.

Options

기본 옵션

<query|dir|suite|pack>...

          \[필수] 실행할 쿼리입니다. 각 인수는 `scope/name@range:path` 형식으로, 다음과 같습니다.
  •           `scope/name`은 CodeQL 팩의 정규화된 이름입니다.
    
  •           `range`는 semver 범위입니다.
    
  •           `path`는 파일 시스템 경로입니다.
    

scope/name을 지정한 경우 rangepath은 선택 사항입니다. range를 생략하면 지정된 팩의 최신 버전을 의미합니다. path를 생략하면 지정된 팩의 기본 쿼리 도구 모음을 의미합니다.

path*.ql 쿼리 파일, 하나 이상의 쿼리를 포함하는 디렉터리, 또는 .qls 쿼리 스위트 파일 중 하나일 수 있습니다. 팩 이름이 지정되지 않은 경우에는 path를 반드시 제공해야 하며, 현재 프로세스의 작업 디렉터리를 기준으로 해석합니다.

리터럴 @ 또는 :를 포함하는 path을 지정하려면 인수 앞에 path:를 접두어로 사용하세요. 예시는 다음과 같습니다: path:directory/with:and@/chars.

scope/namepath가 지정된 경우 path는 절대 경로일 수 없습니다. 이 경우 해당 경로는 CodeQL 팩의 루트를 기준으로 한 상대 경로로 해석합니다.

--search-path=<dir>[:<dir>...]

QL 팩이 존재할 수 있는 디렉터리 목록입니다. 각 디렉터리는 QL 팩(또는 루트에 .codeqlmanifest.json 파일을 포함하는 팩 번들)이거나, 그러한 디렉터리 하나 이상을 직접 포함하는 상위 디렉터리일 수 있습니다.

경로에 두 개 이상의 디렉터리가 포함된 경우, 나열된 순서에 따라 우선순위가 결정됩니다. 즉, 해결해야 하는 팩 이름이 둘 이상의 디렉터리 트리에서 일치하는 경우, 먼저 지정된 디렉터리가 우선됩니다.

오픈 소스 CodeQL 리포지토리의 체크아웃 경로로 이를 지정하면, 그 안에 포함된 언어 중 하나를 쿼리할 때 정상적으로 작동해야 합니다.

압축 해제된 CodeQL 툴체인과 나란히 CodeQL 리포지토리를 체크아웃한 경우에는 이 옵션을 지정할 필요가 없습니다. 이러한 형제 디렉터리는 다른 방법으로 찾을 수 없는 QL 팩을 검색할 때 항상 자동으로 탐색됩니다. (이 기본 설정이 작동하지 않는 경우, 사용자별 구성 파일에서 --search-path를 한 번 설정해 두는 것을 강력히 권장합니다.)

(참고: Windows에서는 경로 구분자가 ;입니다.)

--additional-packs=<dir>[:<dir>...]

이 디렉터리 목록이 지정된 경우, --search-path에 포함된 디렉터리보다 먼저 팩을 검색합니다. 이들 간의 순서는 중요하지 않습니다. 다만 이 목록을 통해 동일한 팩 이름이 두 곳에서 발견되면 오류가 발생합니다.

이는 기본 경로에도 존재하는 팩의 새 버전을 일시적으로 개발하는 경우에 유용합니다. 반대로, 이 옵션을 구성 파일에서 재정의하는 것은 권장하지 않습니다. 일부 내부 동작에서는 이 옵션을 동적으로 추가하여, 구성된 값을 덮어쓰기 때문입니다.

(참고: Windows에서는 경로 구분자가 ;입니다.)

          `--model-packs=<`
          <name@range>>...

곧 평가될 쿼리를 사용자 지정하기 위한 모델 팩으로 사용할 CodeQL 팩 이름 목록이며, 각 항목에는 선택적으로 버전 범위를 지정할 수 있습니다.

--threat-model=<name>...

활성화하거나 비활성화할 위협 모델 목록입니다.

인수는 위협 모델의 이름이며, 앞에 ‘!’를 선택적으로 붙일 수 있습니다. ‘!’가 없으면 지정한 위협 모델과 그 하위 항목이 모두 활성화됩니다. ‘!’가 있으면 지정한 위협 모델과 그 하위 항목이 모두 비활성화됩니다.

‘기본’ 위협 모델은 기본적으로 활성화되지만, ‘--threat-model !default’를 지정하여 비활성화할 수 있습니다.

‘전체’ 위협 모델은 모든 위협 모델을 활성화하거나 비활성화하는 데 사용할 수 있습니다.

--threat-model 옵션은 지정된 순서대로 처리됩니다. 예를 들어 ‘--threat-model local --threat-model !environment’를 지정하면 ‘로컬’ 그룹의 모든 위협 모델 중 ‘환경’ 위협 모델을 제외한 항목이 활성화됩니다.

이 옵션은 위협 모델을 지원하는 언어에서만 효과가 있습니다.

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

CodeQL 패키지 관리자를 구성하기 위한 옵션입니다.

--registries-auth-stdin

쉼표로 구분된 <registry_url>=<token> 쌍 목록을 전달하여 GitHub Enterprise Server 컨테이너 레지스트리에 인증합니다.

예를 들어, http://containers.GHEHOSTNAME1/v2/=TOKEN1,http://containers.GHEHOSTNAME2/v2/=TOKEN2을 전달할 수 있습니다. 이는 두 개의 GitHub Enterprise Server 인스턴스에 인증하기 위한 것입니다.

이 옵션은 CODEQL_REGISTRIES_AUTH 및 GITHUB_TOKEN 환경 변수를 덮어씁니다. github.com 컨테이너 레지스트리에만 인증하면 되는 경우, 더 단순한 --github-auth-stdin 옵션을 사용하여 인증할 수 있습니다.

--github-auth-stdin

표준 입력을 통해 github.com용 GitHub Apps 토큰 또는 개인 액세스 토큰을 전달하여 github.com 컨테이너 레지스트리에 인증합니다.

GitHub Enterprise Server 컨테이너 레지스트리에 인증하려면 --registries-auth-stdin를 전달하거나 CODEQL_REGISTRIES_AUTH 환경 변수를 사용합니다.

이 옵션은 GITHUB_TOKEN 환경 변수를 덮어씁니다.

일반 옵션

-h, --help

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

-J=<opt>

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

(공백을 포함한 옵션은 올바르게 처리되지 않으므로 주의하세요.)

-v, --verbose

출력되는 진행 메시지의 개수를 단계적으로 증가시킵니다.

-q, --quiet

출력되는 진행 메시지의 개수를 단계적으로 감소시킵니다.

--verbosity=<level>

          \[고급] 오류, 경고, progress, progress+, progress++, progress+++ 중 하나로 상세 출력 수준을 명시적으로 설정합니다. 
          `-v` 및 `-q`를 재정의합니다.

--logdir=<dir>

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

(파일 이름을 완전히 제어하여 로그 파일을 작성하려면 대신 --log-to-stderr를 지정하고 stderr를 원하는 대로 리디렉션하세요.)

--common-caches=<dir>

          \[고급] 다운로드된 QL 팩과 컴파일된 쿼리 계획 등 CLI를 여러 번 실행하는 동안 유지되는 디스크상의 캐시 데이터 위치를 제어합니다. 명시적으로 설정하지 않으면 사용자 홈 디렉터리 내의 `.codeql`이라는 디렉터리를 기본값으로 사용하며, 해당 디렉터리가 존재하지 않는 경우 생성합니다.

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