Skip to main content

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

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

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

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

Code scanning은(는) 다음 리포지토리 유형에 사용할 수 있습니다.

  • GitHub.com에 대한 퍼블릭 리포지토리
  • GitHub Advanced Security을(를) 사용하도록 설정된 GitHub Enterprise Cloud의 조직 소유 리포지토리

Code scanning에 대한 고급 설정 정보

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

또한 제3자 도구를 사용하여 code scanning을(를) 구성할 수도 있습니다. 자세한 내용은 "제3자의 작업을 사용하여 code scanning 구성"을 참조하세요.

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

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

필수 조건

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

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

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

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

작업을 사용하여 code scanning를 실행하는 데는 몇 분 정도 걸립니다. 자세한 내용은 "GitHub Actions 요금 청구 정보"을 참조하세요.

참고: 쓰기 액세스 권한이 있는 공개 리포지토리에 대하여 code scanning을(를) 구성할 수 있습니다.

  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 코드 스캔을 위한 고급 설정 구성" 항목을 참조하세요.

제3자의 작업을 사용하여 code scanning 구성

GitHub에는 타사 작업에 대한 워크플로 템플릿과 CodeQL 작업이 포함됩니다. 워크플로 템플릿을 사용하는 것은 도움을 받지 않고 워크플로를 작성하는 것보다 훨씬 쉽습니다.

작업을 사용하여 code scanning를 실행하는 데는 몇 분 정도 걸립니다. 자세한 내용은 "GitHub Actions 요금 청구 정보"을 참조하세요.

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

  2. 리포지토리 이름 아래에서 작업을 클릭합니다.

    "github/docs" 리포지토리의 탭 스크린샷. "작업" 탭은 주황색 윤곽선으로 강조 표시됩니다.

  3. 리포지토리에 이미 하나 이상의 워크플로가 구성되어 실행 중인 경우 새 워크플로를 클릭하여 워크플로 템플릿을 표시합니다. 현재 리포지토리에 대해 구성된 워크플로가 없는 경우 다음 단계로 이동합니다.

    리포지토리에 대한 작업 탭의 스크린샷. "새 워크플로" 단추는 진한 주황색으로 강조 표시됩니다.

  4. "워크플로 선택" 또는 "GitHub Actions로 시작" 보기에서 "보안" 범주까지 아래로 스크롤하고 구성하려는 워크플로 아래에서 구성을 클릭합니다. 구성하려는 보안 워크플로를 찾으려면 모두 보기를 클릭해야 할 수 있습니다.

    워크플로 템플릿의 보안 범주 스크린샷. 구성 단추와 "모두 보기" 링크는 주황색 윤곽선으로 강조 표시됩니다.

  5. 워크플로의 지침에 따라 필요에 맞게 사용자 지정합니다. 워크플로에 대한 일반적인 지원을 받으려면 워크플로 페이지의 오른쪽 창에서 설명서를 클릭합니다.

    편집을 위해 열린 워크플로 템플릿 파일이 표시된 스크린샷. "설명서" 단추가 주황색 윤곽선으로 강조 표시됩니다.

    자세한 내용은 "워크플로 템플릿 사용" 및 "코드 검색을 위한 고급 설정 사용자 지정"을(를) 참조하세요.

다음 단계

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

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

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

추가 참고 자료