code scanning 정보
Code scanning는 GitHub 리포지토리의 코드를 분석하여 보안 취약성 및 코딩 오류를 찾는 데 사용하는 기능입니다. 분석으로 식별되는 모든 문제는 리포지토리에 표시됩니다.
code scanning을(를) 분석 및 타사 분석을 실행하도록 CodeQL 구성할 수 있습니다.
Code scanning 에서는 GitHub Actions 을(를) 사용하여 기본적으로 네이티브 분석을 실행하거나, 기존 CI/CD 인프라를 사용하여 외부에서 분석을 수행하는 것을 지원합니다. 사용자에게 제공되는 옵션은 GitHub Enterprise Server 인스턴스을(를) code scanning으로 구성하여 작업 사용을 허용할 때, 아래와 같이 요약됩니다.
- CodeQL: 기본 설정(코드 검사에 대한 기본 설정 구성 참조) 또는 고급 설정(코드 검사에 대한 고급 설정 구성 참조)에서 GitHub Actions를 사용하거나, 제3자 CI(연속 통합) 시스템에서 CodeQL 분석을 실행(사용자의 기존 CI 시스템으로 코드 검색 사용하기 참조)합니다.
- Third‑party: GitHub Actions 사용 또는 타사 도구 사용 후, 결과를 GitHub에 업로드합니다(GitHub에 SARIF 파일 업로드 참조).
라이선스에 포함되는지 확인 Advanced Security
엔터프라이즈 설정을 검토하여 Advanced Security 에 대한 라이선스가 엔터프라이즈에 있는지 확인할 수 있습니다. 자세한 내용은 기업에서 GitHub Advanced Security제품을 활성화하기을(를) 참조하세요.
다음 사항에 대한 필수 구성 요소 code scanning
-
라이선스(GitHub Code SecurityGitHub Advanced SecurityGitHub Advanced Security 라이선스 결제 참조)
-
Code scanning 관리 콘솔에서 사용( 기업에서 GitHub Advanced Security제품을 활성화하기 참조)
-
분석을 실행할 VM 또는 컨테이너 code scanning 입니다.
code scanning을(를) GitHub Actions을(를) 사용하여 실행하기
자체 호스팅 러너 프로비저닝
GitHub는 code scanning을 사용하여 GitHub Actions를 실행할 수 있다. 먼저 사용자 환경에서 자체 호스팅 GitHub Actions 실행기를 하나 이상 프로비전해야 합니다. 리포지토리, 조직 또는 엔터프라이즈 계정 수준에서 자체 호스트 실행기를 프로비저닝할 수 있습니다.
[AUTOTITLE](/actions/hosting-your-own-runners/managing-self-hosted-runners/about-self-hosted-runners) 및 [AUTOTITLE](/actions/hosting-your-own-runners/managing-self-hosted-runners/adding-self-hosted-runners)을 참조하세요.
모든 자체 호스팅 실행기에서 CodeQL 작업을 실행하는 데 Git이 PATH 변수에 있는지 확인해야 합니다.
참고
CodeQL code scanning을 사용하여 엔터프라이즈에서 Python 작성된 코드를 분석하는 경우 자체 호스팅 실행기에서 Python 3이 설치되어 있는지 확인해야 합니다.
실행기 스케일 세트 프로비저닝
Actions Runner Controller를 사용하여 GitHub Enterprise Server 인스턴스를 위한 전용 실행기 확장 집합을 만들 수 있습니다.
[AUTOTITLE](/enterprise-server@latest/actions/hosting-your-own-runners/managing-self-hosted-runners-with-actions-runner-controller/deploying-runner-scale-sets-with-actions-runner-controller#using-arc-with-dependabot-and-code-scanning)을(를) 참조하세요.
code scanning에 대한 작업 프로비저닝
작업을 사용하여 code scanning를 GitHub Enterprise Server에서 실행하려면, 어플라이언스에서 작업을 사용할 수 있어야 합니다.
CodeQL 작업은 GitHub Enterprise Server 설치에 포함됩니다. 실행기와 GitHub Actions 실행기가 모두 GitHub Enterprise Server3.21 인터넷에 액세스할 수 있는 경우, 작업이 분석을 수행하는 데 필요한 CodeQL2.24.3 번들을 자동으로 다운로드합니다. 또는 동기화 도구를 사용하여 최신 릴리스 버전의 CodeQL 분석 번들을 로컬에서 사용할 수 있도록 할 수 있습니다. 아래[의 인터넷 액세스 없이 서버에서 분석 구성 CodeQL](#configuring-codeql-analysis-on-a-server-without-internet-access) 을 참조하세요.
구성하여 code scanning에 대해 사용자가 이용할 수 있는 타사 작업을 GitHub Connect으로 만들 수도 있습니다. 아래의 어플라이언스에 대한 코드 검사 구성을(를) 참조하세요.
인터넷에 액세스할 수 없는 서버에서 CodeQL 분석 설정
실행 GitHub Enterprise Server 중인 서버가 인터넷에 연결되어 있지 않지만 사용자가 리포지토리에서 CodeQLcode scanning를 활성화하도록 하려면, CodeQL 작업 동기화 도구를 사용하여 GitHub.com에서 CodeQL 분석 번들을 서버로 복사해야 합니다. 도구와 사용 방법에 대한 자세한 내용은 https://github.com/github/codeql-action-sync-tool에서 확인할 수 있습니다.
CodeQL 작업 동기화 도구를 구성하면 CodeQL 작업 및 관련 CodeQL 분석 번들의 최신 릴리스를 동기화하는 데 사용할 수 있습니다. 이러한 항목은 GitHub Enterprise Server과 호환됩니다.
동기화하도록 구성 GitHub ConnectGitHub Actions
-
GitHub.com에서 작업 워크플로를 요청 시 다운로드하려면 GitHub Connect을(를) 사용 설정해야 합니다. [AUTOTITLE](/admin/configuration/configuring-github-connect/managing-github-connect#enabling-github-connect)을(를) 참조하세요. -
GitHub Actions을(를) 사용하도록 설정해야 합니다. [AUTOTITLE](/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/getting-started-with-github-actions-for-github-enterprise-server)을(를) 참조하세요. - 다음 단계는 GitHub Connect를 사용하여 GitHub.com에서 작업에 대한 액세스를 구성하는 것입니다. GitHub Connect를 사용하여 GitHub.com 작업에 대한 자동 액세스 사용을(를) 참조하세요.
- 리포지토리, 조직 또는 엔터프라이즈 계정에 자체 호스트 실행기를 추가합니다. 자체 호스트형 실행기 추가을(를) 참조하세요.
CodeQL CLI를 사용하여 코드 스캔 실행하기
GitHub Actions을 사용하지 않으려면, CodeQL CLI을 사용하여 code scanning을 실행해야 합니다.
모든 기기에서 코드베이스를 분석할 수 있는 명령행 도구로, 서드파티 CI/CD 시스템에서도 사용할 수 있습니다. 사용자의 기존 CI 시스템으로 코드 검색 사용하기을(를) 참조하세요.