Skip to main content

기본 설정 구성 편집

코드 보안 요구 사항을 더 잘 충족하기 위해 code scanning에 대한 기본 설정의 기존 구성을 편집할 수 있습니다.

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

Code scanning는 GitHub.com의 모든 퍼블릭 리포지토리에 사용할 수 있습니다. 조직이 소유한 프라이빗 리포지토리에서 code scanning을 사용하려면 GitHub Advanced Security에 대한 라이선스가 있어야 합니다. 자세한 내용은 "GitHub Advanced Security 정보.

기본 설정 구성 편집 정보

기본 설정을 사용하여 코드의 초기 분석을 실행한 후에는 코드 보안 요구 사항을 더 잘 충족하기 위해 구성을 변경해야 할 수 있습니다. 기본 설정의 기존 구성의 경우을(를) 편집할 수 있습니다.

  • 기본 설정이 분석할 언어입니다.
  • 쿼리 도구 모음은 분석 중에 실행됩니다. 사용 가능한 쿼리 도구 모음에 대한 자세한 내용은 "CodeQL 쿼리 도구 모음" 항목을 참조하세요.
  • 분석에 사용할 위협 모델(베타)입니다. 위협 모델을 선택하면 애플리케이션에 위험으로 처리되는 오염된 데이터의 원본이 결정됩니다. 베타 버전에서는 위협 모델을 Java/Kotlin 및 C#의 분석용으로만 지원합니다. 위협 모델에 대한 자세한 내용은 "기본 설정에 오염된 데이터의 로컬 원본 포함"을 참조하세요.

코드베이스가 CodeQL에 포함된 표준 라이브러리에서 인식되지 않는 라이브러리 또는 프레임워크에 의존하는 경우 CodeQL 모델 팩을 사용하여 기본 설정에서 CodeQL 범위를 확장할 수도 있습니다. 자세한 정보는 "기본 설정에서 CodeQL 모델 팩을 사용하여 CodeQL 적용 범위 확장"을 참조하세요.

code scanning 구성의 다른 측면을 변경해야 하는 경우 고급 설정을 구성하는 것이 좋습니다. 자세한 내용은 "코드 스캔을 위한 고급 설정 구성"을(를) 참조하세요.

기본 설정의 기존 구성 사용자 지정

  1. GitHub.com에서 리포지토리의 기본 페이지로 이동합니다.

  2. 리포지토리 이름 아래에서 Settings(설정)를 클릭합니다. "설정" 탭이 표시되지 않으면 드롭다운 메뉴를 선택한 다음 설정을 클릭합니다.

    탭을 보여 주는 리포지토리 헤더의 스크린샷. "설정" 탭이 진한 주황색 윤곽선으로 강조 표시됩니다.

  3. 사이드바의 "보안" 섹션에서 코드 보안 및 분석을 클릭합니다.

  4. "CodeQL" 섹션의 " 분석" 행에서 을 선택하고 CodeQL 구성 보기를 클릭합니다.

  5. "CodeQL 기본 구성" 창에서 편집을 클릭합니다.

  6. 선택적으로 "언어" 섹션에서 분석을 위해 언어를 선택하거나 선택 취소합니다.

  7. 필요에 따라 "검사 설정" 섹션의 "쿼리 도구 모음" 행에서 코드에 대해 실행할 다른 쿼리 도구 모음을 선택합니다.

  8. (베타) 필요에 따라 "검사 설정" 섹션의 "위협 모델" 행에서 원격 및 로컬 원본을 선택합니다.

  9. 구성을 업데이트하고 새 구성으로 코드의 초기 분석을 실행하려면 변경 내용 저장을 클릭합니다. 향후 모든 분석에서는 새 구성을 사용합니다.

끌어오기 요청에 대한 검사 실패를 제공하는 경고 심각도 정의

끌어오기 요청에서 code scanning을(를) 사용하도록 설정하면 심각도 error 또는 보안 심각도 critical, high에 대한 경고가 하나 이상 있거나 감지된 경우에만 검사에 실패합니다. 심각도가 낮은 경고 또는 보안 심각도가 감지되면 검사에 성공합니다. 중요한 코드베이스의 경우 경고가 감지되면 code scanning 검사가 실패하여 코드 변경이 병합되기 전에 경고를 수정하거나 해제해야 할 수 있습니다. 심각도 수준에 대한 자세한 내용은 “경고 심각도 및 보안 심각도 수준 및 보안 심각도 수준 정보”를 참조하세요.

  1. GitHub.com에서 리포지토리의 기본 페이지로 이동합니다.
  2. 리포지토리 이름 아래에서 Settings(설정)를 클릭합니다. "설정" 탭이 표시되지 않으면 드롭다운 메뉴를 선택한 다음 설정을 클릭합니다.
    탭을 보여 주는 리포지토리 헤더의 스크린샷. "설정" 탭이 진한 주황색 윤곽선으로 강조 표시됩니다.
  3. 사이드바의 "보안" 섹션에서 코드 보안 및 분석을 클릭합니다.
  4. "Code scanning"아래의 "보호 규칙" 섹션에서 드롭다운 메뉴를 사용하여 확인 실패를 발생시킬 경고를 정의합니다. "보안" 유형의 경고에 대해 한 수준, 다른 모든 경고에 대해 한 수준을 선택합니다.

기본 설정에 오염된 데이터의 로컬 원본 포함

참고: 위협 모델은 현재 베타 버전이며 변경될 수 있습니다. 베타 버전에서는 분석에서 위협 모델을 Java/Kotlin 및 C#용으로만 지원합니다.

코드베이스에서 원격 네트워크 요청만 오염된 데이터의 잠재적 원본으로 간주하는 경우 기본 위협 모델을 사용하는 것이 좋습니다. 코드베이스에서 네트워크 요청 이외의 원본이 잠재적으로 오염된 데이터를 포함하는 것으로 간주하는 경우 위협 모델을 사용하여 CodeQL 분석에 이러한 추가 원본을 추가할 수 있습니다. 베타 중에 코드베이스가 오염된 데이터의 추가 소스로 간주할 수 있는 로컬 원본(예: 명령줄 인수, 환경 변수, 파일 시스템 및 데이터베이스)을 추가할 수 있습니다.

기본 설정 구성에 사용되는 위협 모델을 편집할 수 있습니다. 자세한 내용은 "기본 설정의 기존 구성 사용자 지정"을 참조하세요.

기본 설정에서 CodeQL 모델 팩을 사용하여 CodeQL 적용 범위 확장

참고: CodeQL 모델 팩 및 CodeQL 모델 편집기는 현재 베타 상태이며 변경될 수 있습니다. 베타 버전에서는 모델 팩을 Java/Kotlin 및 C# 분석으로만 지원합니다.

CodeQL에 포함된 표준 라이브러리에서 인식되지 않는 프레임워크 및 라이브러리를 사용하는 경우 종속성을 모델링하고 code scanning 분석을 확장할 수 있습니다. 자세한 정보는 CodeQL 설명서의 지원되는 언어와 프레임워크를 참조하세요.

기본 설정의 경우 CodeQL 모델 팩에서 추가 종속성의 모델을 정의해야 합니다. 개별 리포지토리에 대한 CodeQL 모델 팩을 사용하여 기본 설정에서 적용 범위를 확장하거나 조직의 모든 리포지토리에 대해 대규모로 적용 범위를 확장할 수 있습니다.

CodeQL 모델 팩 및 직접 작성에 대한 자세한 정보는 “CodeQL 모델 편집기 사용” 섹션을 참조하세요.

리포지토리에 대한 적용 범위 확장

  1. 리포지토리의 .github/codeql/extensions 디렉터리에서 codeql-pack.yml 파일에 포함해야 하는 모델 팩 디렉터리 및 분석에 포함하려는 라이브러리 또는 프레임워크에 대한 추가 모델이 포함된 .yml 파일을 복사합니다.
  2. 모델 팩이 code scanning 분석에서 자동으로 검색되고 사용됩니다.
  3. 나중에 고급 설정을 사용하도록 구성을 변경하는 경우 .github/codeql/extensions 디렉터리의 모델 팩이 계속 인식되고 사용됩니다.

조직의 모든 리포지토리에 대한 적용 범위 확장

참고: 조직의 모든 리포지토리에 대한 CodeQL 모델 팩으로 범위를 확장하는 경우 지정한 모델 팩을 에 게시하고 코드 검색을 실행하는 리포지토리에 액세스할 수 있어야 합니다. 자세한 내용은 "패키지의 액세스 제어 및 표시 여부 구성"을(를) 참조하세요.

  1. GitHub.com의 오른쪽 위에서 프로필 사진을 선택한 다음 내 조직을 클릭합니다.

    @octocat 프로필 사진의 드롭다운 메뉴 스크린샷입니다. "조직"이 진한 주황색으로 표시됩니다.

  2. 조직 이름에서 설정을 클릭합니다. "설정" 탭이 표시되지 않으면 드롭다운 메뉴를 선택한 다음 설정을 클릭합니다.

    조직 프로필에 있는 여러 탭의 스크린샷. "설정" 탭이 진한 주황색으로 표시됩니다.

  3. 코드 보안 및 분석을 클릭합니다.

  4. "Code scanning" 섹션을 찾습니다.

  5. "CodeQL 분석 확장" 옆에 있는 구성을 클릭합니다.

  6. 사용하려는 게시된 모델 팩에 대한 참조를 한 줄당 하나씩 입력한 다음 저장을 클릭합니다.

    조직의 설정에 있는 "CodeQL 분석 확장" 보기의 스크린샷

  7. 기본 설정이 활성화된 조직의 모든 리포지토리에서 code scanning이(가) 실행될 때 모델 팩이 자동으로 검색되고 사용됩니다.