기본 설정 구성 편집 정보
기본 설정을 사용하여 코드의 초기 분석을 실행한 후에는 코드 보안 요구 사항을 더 잘 충족하기 위해 구성을 변경해야 할 수 있습니다. 기본 설정의 기존 구성에 대해 다음 사항을 편집할 수 있습니다.
- 기본 설정이 분석할 언어입니다.
- 쿼리 도구 모음은 분석 중에 실행됩니다. 사용 가능한 쿼리 도구 모음에 대한 자세한 내용은 "CodeQL 쿼리 도구 모음" 항목을 참조하세요.
- 분석에 사용할 위협 모델(베타)입니다. 위협 모델을 선택하면 애플리케이션에 위험으로 처리되는 오염된 데이터의 원본이 결정됩니다. 베타 중에 위협 모델을 Java/Kotlin 및 C# 분석용으로만 지원합니다. 위협 모델에 대한 자세한 내용은 "기본 설정에 오염된 데이터의 로컬 원본 포함"을 참조하세요.
코드베이스가 CodeQL에 포함된 표준 라이브러리에서 인식되지 않는 라이브러리 또는 프레임워크에 의존하는 경우 CodeQL 모델 팩을 사용하여 기본 설정에서 CodeQL 범위를 확장할 수도 있습니다. 자세한 정보는 "기본 설정에서 CodeQL 모델 팩을 사용하여 CodeQL 적용 범위 확장"을 참조하세요.
code scanning 구성의 다른 측면을 변경해야 하는 경우 고급 설정을 구성하는 것이 좋습니다. 자세한 내용은 "코드 스캔을 위한 고급 설정 구성"을(를) 참조하세요.
기본 설정의 기존 구성 사용자 지정
-
GitHub에서 리포지토리의 기본 페이지로 이동합니다.
-
리포지토리 이름 아래에서 Settings(설정)를 클릭합니다. "설정" 탭이 표시되지 않으면 드롭다운 메뉴를 선택한 다음 설정을 클릭합니다.
-
사이드바의 "보안" 섹션에서 코드 보안 및 분석을 클릭합니다.
-
"CodeQL" 섹션의 " 분석" 행에서 을 선택하고 CodeQL 구성 보기를 클릭합니다.
-
"CodeQL 기본 구성" 창에서 편집을 클릭합니다.
-
선택적으로 "언어" 섹션에서 분석을 위해 언어를 선택하거나 선택 취소합니다.
-
필요에 따라 "검사 설정" 섹션의 "쿼리 도구 모음" 행에서 코드에 대해 실행할 다른 쿼리 도구 모음을 선택합니다.
-
(베타) 필요에 따라 "검사 설정" 섹션의 "위협 모델" 행에서 원격 및 로컬 원본을 선택합니다.
-
구성을 업데이트하고 새 구성으로 코드의 초기 분석을 실행하려면 변경 내용 저장을 클릭합니다. 향후 모든 분석에서는 새 구성을 사용합니다.
끌어오기 요청에 대한 검사 실패를 일으키는 경고 심각도 정의
끌어오기 요청에서 code scanning을(를) 사용하도록 설정하면 심각도 error
또는 보안 심각도 critical
, high
에 대한 경고가 하나 이상 있거나 감지된 경우에만 검사에 실패합니다. 심각도가 낮은 경고 또는 보안 심각도가 감지되면 검사에 성공합니다. 중요한 코드베이스의 경우 경고가 감지되면 code scanning 검사가 실패하여 코드 변경이 병합되기 전에 경고를 수정하거나 해제해야 할 수 있습니다. 심각도 수준에 대한 자세한 내용은 “경고 심각도 및 보안 심각도 수준 및 보안 심각도 수준 정보”를 참조하세요.
-
GitHub에서 리포지토리의 기본 페이지로 이동합니다.
-
리포지토리 이름 아래에서 Settings(설정)를 클릭합니다. "설정" 탭이 표시되지 않으면 드롭다운 메뉴를 선택한 다음 설정을 클릭합니다.
-
사이드바의 "보안" 섹션에서 코드 보안 및 분석을 클릭합니다.
-
"Code scanning" 아래의 "확인 실패" 오른쪽에 있는 드롭다운 메뉴를 사용하여 끌어오기 요청 검사 실패를 유발할 심각도 수준을 선택합니다.
기본 설정에 오염된 데이터의 로컬 원본 포함
참고: 위협 모델은 현재 베타 버전이며 변경될 수 있습니다. 베타 동안, 위협 모델을 Java/Kotlin 및 C#용으로만 지원합니다.
코드베이스에서 원격 네트워크 요청만 오염된 데이터의 잠재적 원본으로 간주하는 경우 기본 위협 모델을 사용하는 것이 좋습니다. 코드베이스에서 네트워크 요청 이외의 원본이 잠재적으로 오염된 데이터를 포함하는 것으로 간주하는 경우 위협 모델을 사용하여 CodeQL 분석에 이러한 추가 원본을 추가할 수 있습니다. 베타 중에 코드베이스가 오염된 데이터의 추가 소스로 간주할 수 있는 로컬 원본(예: 명령줄 인수, 환경 변수, 파일 시스템 및 데이터베이스)을 추가할 수 있습니다.
기본 설정 구성에 사용되는 위협 모델을 편집할 수 있습니다. 자세한 내용은 "기본 설정의 기존 구성 사용자 지정"을 참조하세요.
기본 설정에서 CodeQL 모델 팩을 사용하여 CodeQL 적용 범위 확장
참고: CodeQL 모델 팩 및 CodeQL 모델 편집기는 현재 베타 버전이며 변경될 수 있습니다. 모델 팩은 C#, Java/Kotlin, and Ruby 분석에 의해 지원됩니다.
CodeQL에 포함된 표준 라이브러리에서 인식되지 않는 프레임워크 및 라이브러리를 사용하는 경우 종속성을 모델링하고 code scanning 분석을 확장할 수 있습니다. 자세한 정보는 CodeQL 설명서의 지원되는 언어와 프레임워크를 참조하세요.
기본 설정의 경우 CodeQL 모델 팩에서 추가 종속성의 모델을 정의해야 합니다. 개별 리포지토리에 대한 CodeQL 모델 팩을 사용하여 기본 설정에서 적용 범위를 확장하거나 조직의 모든 리포지토리에 대해 대규모로 적용 범위를 확장할 수 있습니다.
CodeQL 모델 팩 및 직접 작성에 대한 자세한 정보는 “CodeQL 모델 편집기 사용” 섹션을 참조하세요.
리포지토리에 대한 적용 범위 확장
-
리포지토리의
.github/codeql/extensions
디렉터리에서codeql-pack.yml
파일에 포함해야 하는 모델 팩 디렉터리 및 분석에 포함하려는 라이브러리 또는 프레임워크에 대한 추가 모델이 포함된.yml
파일을 복사합니다. -
모델 팩이 code scanning 분석에서 자동으로 검색되고 사용됩니다.
-
나중에 고급 설정을 사용하도록 구성을 변경하는 경우
.github/codeql/extensions
디렉터리의 모델 팩이 계속 인식되고 사용됩니다.