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 메타데이터쿼리 메타데이터 스타일 가이드를 참조하세요.

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

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

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

  1. 다음 형식 중 하나로 쿼리 도움말을 작성합니다.

    • Markdown 파일: 같은 이름으로 쿼리와 함께 Markdown 파일을 저장합니다(예: my-query.md``my-query.ql).

           `.qhelp` 파일**: 쿼리 도움말을 형식으로 `.qhelp` 작성한 다음, 분석을 실행하기 전에 Markdown으로 변환합니다. 자세한 내용은 [쿼리 도움말 파일](https://codeql.github.com/docs/writing-codeql-queries/query-help-files/#query-help-files) 및 [AUTOTITLE](/code-security/codeql-cli/using-the-advanced-functionality-of-the-codeql-cli/testing-query-help-files)을(를) 참조하세요.
    
  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` 옵션은 v2.7.1 이상부터 사용 가능합니다.
    
  3. 에 SARIF 파일��� 업로드합니다 GitHub.

다음 단계

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