참고: 사이트 관리자가 먼저 GitHub Enterprise Server 인스턴스에서 code scanning를 사용하도록 설정해야 이 기능을 사용할 수 있습니다. GitHub Actions를 사용하여 코드를 스캔하려면 사이트 관리자도 GitHub Actions를 사용하도록 설정하고 필요한 인프라를 설정해야 합니다. 자세한 내용은 "어플라이언스에 대한 코드 검사 구성"을 참조하세요.
code scanning에 대한 정보
Code scanning은(는) 리포지토리의 코드에서 취약성을 포착하는 데 도움을 줍니다. CodeQL code scanning을(를) 사용하면 분석에 사용할 사용자 지정 또는 기본 제공 쿼리 도구 모음을 선택하고, 특정 스캔 일정을 설정하며, 스캔을 트리거하는 이벤트를 선택하는 등의 작업을 수행할 수 있습니다.
사이트 관리자는 GitHub Connect을(를) 설장하여 사용자가 code scanning에 대해 타사 작업을 사용할 수 있도록 지정할 수도 있습니다. 자세한 내용은 "어플라이언스에 대한 코드 검사 구성"을(를) 참조하세요.
여러 구성을 사용하여 코드 검사를 실행할 때 경고의 분석 원본이 여러 개 있는 경우가 가끔 있습니다. 경고에 여러 분석 원본이 있는 경우 경고 페이지에서 각 분석 원본에 대한 경고 상태를 볼 수 있습니다. 자세한 내용은 "코드 검사 경고 정보"을 참조하세요.
참고: 이 문서에서는 이 GitHub Enterprise Server 버전의 초기 릴리스에 포함된 CodeQL 작업 및 관련 CodeQL CLI 번들의 버전에서 사용할 수 있는 기능을 설명합니다. 엔터프라이즈에서 더 최신 버전의 CodeQL 작업을 사용하는 경우, 최신 기능에 대한 자세한 내용은 이 문서의GitHub Enterprise Cloud 버전을 참조하세요. 최신 버전 사용에 대한 자세한 내용은 "어플라이언스에 대한 코드 검사 구성" 항목을 참조하세요.
필수 조건
다음의 경우 code scanning에 적합한 리포지토리입니다.
- CodeQL지원되는 언어를 사용하거나 제3자 도구를 사용하여 코드 스캔 결과를 생성할 계획입니다.
- GitHub Actions이(가) 사용됩니다.
- GitHub Advanced Security이(가) 사용됩니다.
GitHub Enterprise Server을(를) 실행 중인 서버가 인터넷에 연결되어 있지 않으면 사이트 관리자가 서버에서 CodeQL 분석 번들을 사용하도록 설정하여 CodeQL code scanning을(를) 활성화할 수 있습니다. 자세한 내용은 "어플라이언스에 대한 코드 검사 구성"을(를) 참조하세요.
CodeQL 작업을 사용하여 code scanning 구성
-
GitHub Enterprise Server 인스턴스에서 리포지토리의 기본 페이지로 이동합니다.
-
리포지토리 이름 아래에서 보안을 클릭합니다. "보안" 탭이 표시되지 않으면 드롭다운 메뉴를 선택한 다음 보안을 클릭합니다.
-
"Code scanning 경고" 오른쪽에서 code scanning 설정을 클릭합니다. "code scanning 경고"가 없는 경우 조직 소유자 또는 리포지토리 관리자에게 GitHub Advanced Security의 사용을 설정하도록 요청해야 합니다. 자세한 정보는 "조직의 보안 및 분석 설정 관리" 또는 "리포지토리에 대한 보안 및 분석 설정 관리"을(를) 참조하세요.
-
"code scanning 시작"에서 또는 제3자 워크플로에서 이 워크플로 설정을 클릭합니다.
워크플로는 리포지토리에서 검색된 프로그래밍 언어와 관련된 경우에만 표시됩니다. CodeQL 분석 워크플로은(는) 항상 표시되지만 CodeQL 분석에서 리포지토리에 있는 언어를 지원하는 경우에만 "이 워크플로 설정" 단추를 사용하도록 설정됩니다.
-
code scanning가 코드를 검사하는 방법을 사용자 지정하려면 워크플로를 편집합니다.
일반적으로 변경하지 않고 CodeQL 분석 워크플로을(를) 커밋할 수 있습니다. 그러나 대부분의 타사 워크플로에는 추가 구성이 필요하므로 커밋하기 전에 워크플로의 설명을 읽어 봅니다.
자세한 내용은 "코드 검사를 위한 사용자 지정" 및 "컴파일된 언어에 대한 CodeQL 코드 검사하기"을(를) 참조하세요.
-
변경 내용 커밋... 을 클릭하여 커밋 변경 형식을 표시합니다.
-
커밋 메시지 필드에 커밋 메시지를 입력합니다.
-
기본 분기에 직접 커밋할지 아니면 새 분기를 만들고 끌어오기 요청을 시작할지 선택합니다.
-
새 파일 커밋 또는 새 파일 제안을 클릭합니다.
제안된 CodeQL 분석 워크플로에서는 code scanning이(가) 기본 분기 또는 보호된 분기로 변경 내용을 푸시하거나 기본 분기에 대한 끌어오기 요청을 실행할 때마다 코드를 분석하도록 구성됩니다. 따라서 code scanning가 시작됩니다.
코드 검사에 대한 on:pull_request
및 on:push
트리거가 유용한 용도는 각기 다릅니다. 자세한 내용은 "코드 검사를 위한 사용자 지정"을(를) 참조하세요.
대량 사용 설정 방법에 대한 자세한 정보는 "대규모 CodeQL을 사용하여 코드 스캔을 위한구성"을(를) 참조하세요.
다음 단계
code scanning을(를) 구성하고 작업을 완료하도록 허용한 후에는 다음을 수행할 수 있습니다.
- 이 리포지토리에 대해 생성된 모든 code scanning 경고를 봅니다. 자세한 내용은 "리포지토리에 대한 코드 검사 경고 관리"을(를) 참조하세요.
- code scanning을(를) 구성한 후 제출된 끌어오기 요청에 대해 생성된 경고를 봅니다. 자세한 내용은 "끌어오기 요청에서 코드 검사 경고 심사"을(를) 참조하세요.
- 완료된 실행에 대한 알림을 구성합니다. 자세한 내용은 "알림 구성"을(를) 참조하세요.
- 끌어오기 요청에서 code scanning 확인에 대해 알아봅니다. 자세한 내용은 "끌어오기 요청에서 코드 검사 경고 심사"을(를) 참조하세요.
- code scanning 분석을 통해 생성된 로그를 봅니다. 자세한 내용은 "코드 검사 로그 보기"을(를) 참조하세요.
- code scanning의 초기 구성에서 발생하는 모든 문제를 조사합니다. 자세한 내용은 "코드 검사 문제 해결"을(를) 참조하세요.
- code scanning가 리포지토리의 코드를 검사하는 방법을 사용자 지정합니다. 자세한 내용은 "코드 검사를 위한 사용자 지정"을(를) 참조하세요.