Skip to main content

이 버전의 GitHub Enterprise는 다음 날짜에 중단되었습니다. 2026-04-09. 중요한 보안 문제에 대해서도 패치 릴리스가 이루어지지 않습니다. 더 뛰어난 성능, 향상된 보안, 새로운 기능을 위해 최신 버전의 GitHub Enterprise Server로 업그레이드합니다. 업그레이드에 대한 도움말은 GitHub Enterprise 지원에 문의하세요.

CodeQL 쿼리 팩

CodeQL code scanning 설정 시, 기본으로 제공되는 다양한 CodeQL 쿼리 도구 모음 중에서 원하는 것을 선택하여 사용할 수 있습니다.

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

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

참고

이 문서에서는 CodeQL CLI 2.17.6 번들에서 사용할 수 있는 기능을 GitHub Enterprise Server 3.14의 초기 릴리스에 포함되어 있습니다.

사이트 관리자가 CodeQL CLI 버전을 최신 릴리스로 업데이트한 경우 최신 기능에 대한 자세한 내용은 이 문서의 GitHub Enterprise Cloud 버전을 참조하세요.

CodeQL 팩에 대해

CodeQL 팩을 사용하면 CodeQL 쿼리와 라이브러리를 작성하고 공유할 수 있으며, 이를 실행하여 다양하게 활용할 수 있습니다. CodeQL 분석을 사용자 지정하기 위해 다른 사용자가 만든 팩을 다운로드한 후 코드베이스에서 실행할 수 있습니다.

각 CodeQL 팩에는 루트 디렉터리에 다음을 지정하는 qlpack.yml 파일이 필요합니다.

  • 쿼리를 컴파일하는 방법
  • 다른 CodeQL 팩 및 라이브러리에 대한 종속성
  • 쿼리 도구 모음 정의

속성에 대한 qlpack.yml 자세한 내용은 CodeQL 팩을 사용하여 분석 사용자 지정을 참조하세요.

또한 CodeQL 팩에는 다음이 포함될 수 있습니다.

  • 사용자 지정 쿼리(.ql 파일)
  • 라이브러리 파일
  • 쿼리 도구 모음
  • 메타데이터

CodeQL CLI 번들에는 GitHub 전문가, 보안 연구원 및 커뮤니티 기여자들이 유지 관리하는 쿼리가 포함되어 있습니다. 다른 조직에서 개발한 쿼리를 실행하려면 CodeQL 쿼리 팩을 통해 효율적이고 안정적으로 다운로드하고 실행할 수 있으며, 모델 팩(베타)을 활용하면 기본적으로 지원되지 않는 라이브러리 및 프레임워크를 인식하도록 code scanning 분석을 확장할 수 있습니다.

CodeQL 팩 유형

CodeQL 팩은 쿼리 팩, 라이브러리 팩, 모델 팩의 세 가지 유형으로 구성됩니다.

  • 쿼리 팩은 CodeQL 데이터베이스에 대해 실행할 수 있는 사전 컴파일된 쿼리들을 모아놓은 것입니다. 쿼리 팩은 실행되도록 설계되었습니다. 쿼리 팩이 게시되면 번들에 쿼리 원본 외에도 각 쿼리의 모든 전이적 종속성과 미리 컴파일된 표현이 포함됩니다. 이렇게 하면 팩에서 쿼리를 일관되고 효율적으로 실행할 수 있습니다.

  • 라이브러리 팩은 쿼리 자체를 포함하지 않으며, 쿼리 팩이나 다른 라이브러리 팩에서 활용할 수 있도록 설계되었습니다. 라이브러리는 별도로 컴파일되지 않습니다.

  • code scanning 분석의 범위를 넓히기 위해 모델 팩을 활용하여 기본적으로 지원되지 않는 라이브러리와 프레임워크를 인식할 수 있습니다. 현재 베타 상태인 모델 팩은 향후 변경될 수 있습니다. 베타 단계에서 모델 팩을 C/C++, C#, Java/Kotlin, Python, 와 Ruby 분석에 활용할 수 있습니다. 자신만의 모델 팩을 만드는 자세한 내용은 CodeQL 팩 만들기 및 작업에서 확인합니다.

쿼리 팩을 찾을 수 있는 위치

지원되는 모든 언어에 대한 표준 CodeQL 팩이 Container registry에 게시됩니다. CodeQL CLI를 표준 방식으로 설치했다면, 번들에 포함된 핵심 쿼리 팩을 이미 다운로드하여 바로 사용할 수 있습니다. 그들은 다음과 같습니다.

  • codeql/cpp-queries
  • codeql/csharp-queries
  • codeql/go-queries
  • codeql/java-queries
  • codeql/javascript-queries
  • codeql/python-queries
  • codeql/ruby-queries
  • codeql/swift-queries

게시된 쿼리 팩이 다양한 CodeQL 릴리스와 어떻게 호환되는지 확인하려면 CodeQL 쿼리 팩 참조을 참고하시기 바랍니다.

CodeQL CLI를 활용하면 독자적인 CodeQL 팩을 생성하고, 필요한 종속성을 추가하며, 이를 설치하거나 업데이트할 수 있습니다.

CodeQL 팩을 게시하고 공유하기

사용자 지정 쿼리를 더 광범위한 CodeQL 커뮤니티와 공유하려면 다음과 같이 합니다.

  • GitHub Packages에 게시: 다른 사용자가 검색하고 사용할 수 있도록 팩을 공개합니다.
  • CodeQL 리포지토리에 기여: 공식 리포지토리에 끌어오기 요청을 열어, 더 넓은 커뮤니티에 도움이 될 쿼리를 제출하세요.

CodeQL 팩의 게시 및 다운로드에 관한 자세한 정보는 CodeQL 팩 게시 및 사용을 참고하시기 바랍니다.

CodeQL에 기여하는 방법에 대한 자세한 내용은 CodeQL에 기여를 참조하세요.