Skip to main content

CodeQL CLI에 대한 사용자 지정 쿼리 작성

특정 취약성과 오류를 찾기 위해 사용자 고유의 CodeQL 쿼리를 작성할 수 있습니다.

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

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

이 문서에서는 특히 데이터베이스 분석하기 명령과 함께 해석 된 결과를 생성하는 데 사용할 쿼리를 작성하는 방법에 대해 설명합니다. 사용자 지정 쿼리에 대한 개념 정보는 사용자 지정 CodeQL 쿼리을 참조하세요.

유효한 쿼리 작성

사용자 지정 분석을 실행하기 전에 유효한 쿼리를 작성하고 .ql 확장명이 있는 파일로 저장해야 합니다. 쿼리 작성을 돕기 위한 광범위한 문서를 사용할 수 있습니다. 자세한 내용은 CodeQL 쿼리를 참조하세요.

쿼리 메타데이터 포함

          `database analyze` 명령으로 쿼리를 실행할 때, 결과가 올바르게 해석되도록 하려면 다음 두 가지 속성을 포함해야 합니다:
  • 쿼리 식별자(@id): 소문자 또는 숫자로 구성된 단어 시퀀스로, / 또는 -(으)로 구분되며, 쿼리를 식별하고 분류합니다.

  • 쿼리 형식(@kind): 쿼리를 단순 경고(@kind problem), 코드 위치 시퀀스로 문서화된 경고(@kind path-problem), 추출기 문제 해결용(@kind diagnostic), 또는 요약 메트릭(@kind metric@tags summary)으로 식별합니다.

이러한 메타데이터 속성에 대한 자세한 내용은 CodeQL 쿼리용 메타데이터쿼리 메타데이터 스타일 가이드를 참조하세요.

사용자 지정 CodeQL 쿼리의 쿼리 도움말을 SARIF 파일에 포함

쿼리 도움말 및 설명서 형식에 대한 자세한 내용은 사용자 지정 CodeQL 쿼리을 참조하세요.

코드 검사 분석을 실행할 때 SARIF 파일에 쿼리 도움말을 포함하려면 다음을 수행합니다.

  1. 다음 형식 중 하나로 쿼리 도움말을 작성합니다. * Markdown 파일: 같은 이름으로 쿼리와 함께 Markdown 파일을 저장합니다(예: my-query.md``my-query.ql). * ** .qhelp 파일**: 쿼리 도움말을 형식으로 .qhelp 작성한 다음, 분석을 실행하기 전에 Markdown으로 변환합니다. 자세한 내용은 쿼리 도움말 파일쿼리 도움말 파일 테스트하기을(를) 참조하세요.

  2.        `codeql database analyze`을(를) `--sarif-add-query-help` 옵션으로 실행하세요.
    
    codeql database analyze <database> --format=sarif-latest --output=results.sarif --sarif-add-query-help
    

    참고 항목

    --sarif-add-query-help 옵션은 CodeQL CLI v2.7.1 이상에서 사용할 수 있습니다.

  3. GitHub에 SARIF 파일을 업로드합니다.

다음 단계

사용자 지정 쿼리를 공유하고 사용하려면 CodeQL 팩 게시 및 사용을 참조하세요.