Skip to main content

Enterprise Server 3.15 은(는) 현재 릴리스 후보로 제공됩니다.

코드 스캔을 위한 고급 설정 구성

리포지토리에 대한 고급 설정을 구성하여 고도로 사용자 지정 가능한 code scanning 구성을 사용하여 코드에서 보안 약점을 찾을 수 있습니다.

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

리포지토리 소유자, 조직 소유자, 보안 관리자 및 관리자 역할이 있는 사용자

GitHub Advanced Security을(를) 사용하도록 설정된 조직 소유 리포지토리

참고: 사이트 관리자가 먼저 code scanning를 사용하도록 설정해야 이 기능을 사용할 수 있습니다. GitHub Actions를 사용하여 코드를 스캔하려면 사이트 관리자도 GitHub Actions를 사용하도록 설정하고 필요한 인프라를 설정해야 합니다. 자세한 내용은 "어플라이언스에 대한 코드 검사 구성"을(를) 참조하세요.

Code scanning에 대한 고급 설정 정보

code scanning에 대한 고급 설정은 code scanning을(를) 사용자 지정해야 하는 경우에 유용합니다. 워크플로 파일을 만들고 편집하여 컴파일된 언어를 빌드하는 방법을 정의하고, 실행할 쿼리를 선택하고, 스캔할 언어를 선택하고, 행렬 빌드를 사용하는 등의 작업을 수행할 수 있습니다. 또한 검사 일정 변경, 워크플로 트리거 정의, 사용할 전문가 실행기 지정 등 워크플로를 제어하는 모든 옵션에 액세스할 수 있습니다. GitHub Actions 워크플로에 대한 자세한 내용은 "워크플로 정보" 항목을 참조하세요.

사이트 관리자는 GitHub Connect을(를) 설장하여 사용자가 code scanning에 대해 타사 작업을 사용할 수 있도록 지정할 수도 있습니다. 자세한 내용은 "어플라이언스에 대한 코드 검사 구성"을(를) 참조하세요.

여러 구성을 사용하여 코드 검사를 실행할 때 경고의 분석 원본이 여러 개 있는 경우가 가끔 있습니다. 경고에 여러 분석 원본이 있는 경우 경고 페이지에서 각 분석 원본에 대한 경고 상태를 볼 수 있습니다. 자세한 내용은 "코드 검사 경고 정보" 항목을 참조하세요.

참고: 이 문서에서는 이 GitHub Enterprise Server 버전의 초기 릴리스에 포함된 CodeQL 작업 및 관련 CodeQL CLI 번들의 버전에서 사용할 수 있는 기능을 설명합니다. 엔터프라이즈에서 더 최신 버전의 CodeQL 작업을 사용하는 경우, 최신 기능에 대한 자세한 내용은 이 문서의GitHub Enterprise Cloud 버전을 참조하세요. 최신 버전 사용에 대한 자세한 내용은 "어플라이언스에 대한 코드 검사 구성" 항목을 참조하세요.

고도로 사용자 지정할 수 있는 code scanning 구성이 필요하지 않은 경우 code scanning에 대한 기본 설정을 사용하는 것이 좋습니다. 기본 설정 자격에 대한 자세한 내용은 "코드 스캔을 위한 기본 설정 구성" 항목을 참조하세요.

필수 조건

리포지토리가 이러한 요구 사항을 충족하는 경우 고급 설정에 적합합니다.

  • CodeQL지원되는 언어를 사용하거나 제3자 도구를 사용하여 코드 스캔 결과를 생성할 계획입니다.
  • GitHub Actions이(가) 사용됩니다.
  • GitHub Advanced Security이(가) 사용됩니다.

GitHub Enterprise Server을(를) 실행 중인 서버가 인터넷에 연결되어 있지 않으면 사이트 관리자가 서버에서 CodeQL 분석 번들을 사용하도록 설정하여 CodeQL code scanning을(를) 활성화할 수 있습니다. 자세한 내용은 "어플라이언스에 대한 코드 검사 구성"을(를) 참조하세요.

CodeQL을(를) 사용하여 code scanning에 대한 고급 설정 구성

워크플로 파일을 만들고 편집하여 CodeQL 분석을 사용자 지정할 수 있습니다. 고급 설정을 선택하면 표준 워크플로 구문을 사용하여 사용자 지정하고 CodeQL 작업에 대한 옵션을 지정할 수 있는 기본 워크플로 파일이 생성됩니다. "워크플로 정보" 및 "코드 검색을 위한 고급 설정 사용자 지정" 항목을 참조하세요.

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

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

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

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

  4. "Code scanning" 섹션까지 아래로 스크롤하여 설정을 선택한 다음, 고급을 클릭합니다.

    참고: "Code scanning" 섹션에서 기본 설정에서 고급 설정으로 전환하는 경우 을(를) 선택한 다음 고급으로 전환을 클릭합니다. 표시되는 팝업 창에서 CodeQL 사용 중지를 클릭합니다.

    "코드 보안 및 분석" 설정의 "Code scanning" 섹션 스크린샷입니다. "고급 설정" 단추가 주황색 윤곽선으로 강조 표시됩니다.

  5. code scanning가 코드를 검사하는 방법을 사용자 지정하려면 워크플로를 편집합니다.

    일반적으로 변경하지 않고 CodeQL 분석 워크플로을(를) 커밋할 수 있습니다. 그러나 대부분의 타사 워크플로에는 추가 구성이 필요하므로 커밋하기 전에 워크플로의 설명을 읽어 봅니다.

    자세한 내용은 "코드 검색을 위한 고급 설정 사용자 지정" 및 "컴파일된 언어에 대한 CodeQL 코드 검사하기"을(를) 참조하세요.

  6. 변경 내용 커밋... 을 클릭하여 커밋 변경 형식을 표시합니다.

    새 파일을 만드는 형식의 스크린샷. 파일 이름 오른쪽에는 "변경 내용 커밋…"이라는 녹색 단추가 진한 주황색으로 강조 표시됩니다.

  7. 커밋 메시지 필드에 커밋 메시지를 입력합니다.

  8. 기본 분기에 직접 커밋할지 아니면 새 분기를 만들고 끌어오기 요청을 시작할지 선택합니다.

  9. 새 파일 커밋을 클릭하여 워크플로 파일을 기본값 분기에 커밋하거나 새 파일 제안을 클릭하여 파일을 새 분기에 커밋합니다.

  10. 새 분기를 만든 경우 끌어오기 요청 만들기를 클릭하고 끌어오기 요청 만들기를 열어 변경 내용을 기본값 분기에 병합합니다.

제안된 CodeQL 분석 워크플로에서는 code scanning이(가) 기본 분기 또는 보호된 분기로 변경 내용을 푸시하거나 기본 분기에 대한 끌어오기 요청을 실행할 때마다 코드를 분석하도록 구성됩니다. 따라서 code scanning가 시작됩니다.

코드 검사에 대한 on:pull_requeston:push 트리거가 유용한 용도는 각기 다릅니다. "코드 검색을 위한 고급 설정 사용자 지정" 및 "워크플로 트리거" 항목을 참조하세요.

대량 사용 설정 방법에 대한 자세한 내용은 "대규모 CodeQL 코드 스캔을 위한 고급 설정 구성" 항목을 참조하세요.

다음 단계

워크플로가 한 번 이상 성공적으로 실행되면 code scanning 경고의 검사 및 해결을 시작할 준비가 된 것입니다. code scanning 경고에 관한 자세한 내용은 "코드 검사 경고 정보" 및 "리포지토리에 대한 코드 검사 경고 평가" 항목을 참조하세요.

code scanning 실행이 끌어오기 요청의 검사 동작하는 방법에 대해 알아보려면 "끌어오기 요청에서 코드 검사 경고 심사"을 참조하세요.

도구 상태 페이지에서 각 스캔에 대한 타임스탬프 및 검색된 파일의 백분율을 포함하여 code scanning 구성에 대한 자세한 정보를 찾을 수 있습니다. 자세한 정보는 "코드 스캔을 위한 도구 상태 페이지 정보" 항목을 참조하세요.

추가 참고 자료