Skip to main content

CodeQL 작업 영역 설정

CodeQL(으)로 작업하는 경우 표준 라이브러리 및 쿼리에 액세스해야 합니다.

CodeQL 작업 영역 설정

익스텐션에 github/codeql 리포지토리의 표준 라이브러리 및 쿼리에 대한 액세스 권한을 부여하는 방법에는 여러 가지가 있습니다.

  • codeql-custom-queries-LANGUAGE 형식으로 명명된 일련의 디렉터리를 포함하는 CodeQL 시작 작업 영역을 사용합니다. 표준 라이브러리를 사용하여 각 언어에 대한 사용자 지정 쿼리 개발을 시작할 준비가 되었습니다. 시작하기 위한 몇 가지 예제 쿼리도 있습니다. 이것이 권장된 방법입니다.

  • CodeQL에 대한 기존 작업 영역을 업데이트합니다. 이는 고급 사용자에게 권장됩니다.

  • CodeQL CLI 사용자는 추출된 CodeQL CLI 보관 파일이 포함된 디렉터리를 열 수 있습니다.

참고: CodeQL 리포지토리는 시작 작업 영역에 하위 모듈로 포함됩니다. git submodule update --remote를 사용하여 정기적으로 하위 모듈을 최신 상태로 유지하고 최신 버전의 VS Code 익스텐션 및 CodeQL CLI과(와) 호환되는지 확인해야 합니다.

  1. vscode-codeql-starter 리포지토리를 컴퓨터에 복제합니다. git clone --recursive를 사용하거나 복제 후 git submodule update --init --remote를 사용하여 하위 모듈을 포함해야 합니다.

  2. VS Code에서 파일을 클릭한 후 파일에서 작업 영역 열기... 를 클릭하여 작업 영역 리포지토리의 체크 아웃에서 vscode-codeql-starter.code-workspace 파일을 엽니다.

옵션 2: CodeQL에 대한 기존 작업 영역 업데이트(고급)

  1. VS Code에서 파일을 선택한 다음 작업 영역에 폴더 추가... 를 선택하고 CodeQL 리포지토리의 로컬 체크 아웃을 찾습니다.

  2. 새 폴더 또는 작업 영역에 폴더 추가... 옵션을 사용하여 사용자 지정 쿼리 및 라이브러리를 저장할 대상 언어당 하나의 새 디렉터리를 만듭니다.

  3. 각 대상 언어 디렉터리에 qlpack.yml 파일을 만듭니다(github/codeqlmain 분기에 이미 이러한 파일이 있음). 이를 통해 CodeQL CLI에 해당 디렉터리의 대상 언어와 해당 종속성이 무엇인지 알려줍니다. CodeQL은(는) 열려 있는 모든 작업 영역 디렉터리 또는 사용자의 검색 경로에서 종속성을 찾습니다.

    예를 들어 my-custom-cpp-pack이라는 사용자 지정 CodeQL 디렉터리를 C++용 CodeQL 표준 라이브러리에 종속되도록 하려면 다음 콘텐츠가 포함된 qlpack.yml 파일을 만듭니다.

    name: my-custom-cpp-pack
    version: 0.0.0
    libraryPathDependencies: codeql/cpp-all
    

    qlpack.yml 파일을 추가해야 하는 이유에 대한 자세한 내용은 "CodeQL 팩을 사용하여 분석 사용자 지정" 섹션을 참조하세요.

옵션 3: 추출된 CodeQL CLI 보관 파일이 포함된 디렉터리 열기

참고: 이 옵션의 경우 CodeQL CLI을(를) 설정해야 합니다. 자세한 내용은 "CodeQL CLI 설정하기"을(를) 참조하세요.

VS Code에서 CodeQL CLI .zip 보관 파일을 추출한 디렉터리를 열어 CodeQL 디렉터리(예: codeql-home)를 만듭니다.