Skip to main content

기본 설정 구성 편집

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

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

Code scanning는 GitHub.com의 모든 퍼블릭 리포지토리에 사용할 수 있습니다. Code scanning는 또한 GitHub Enterprise Cloud를 사용하고 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 경고를 발견했습니다.

  • 필수 code scanning 도구의 분석이 아직 진행 중입니다.

  • 필수 code scanning 도구가 리포지토리에 대해 구성되지 않았습니다.

자세한 내용은 "코드 검사 병합 보호 설정"을(를) 참조하세요. 규칙 집합에 대한 일반적인 정보는 "규칙 세트 정보"을(를) 참조하세요.

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

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

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

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

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

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

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의 오른쪽 위 모서리에서 프로필 사진을 선택하고 조직을 클릭합니다.

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

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

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

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

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

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

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

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