GitHub Advanced Security란?

완료됨

GitHub에는 코드의 품질을 개선하고 유지하는 데 도움이 되는 많은 기능이 있습니다. 이러한 기능 중 일부는 종속성 그래프 및 Dependabot 경고와 같은 모든 계획에 포함됩니다. 다른 기능은 공용 리포지토리에서 제한된 기능을 제공하지만 프라이빗 리포지토리에 대한 고급 기능에는 GitHub Code Security 및 GitHub Secret Protection이 필요합니다.

이 단원에서는 GitHub 고급 보안에 대해 자세히 알아보고 고급 보안 기능이 있는 프로젝트의 모양을 알아봅니다.

GitHub 고급 보안 개요

GitHub 고급 보안 기능은 이제 두 가지 주요 제품을 통해 제공됩니다.

  • GitHub 코드 보안(취약성 검색 및 수정)
  • GitHub 비밀 보호(비밀 검색 및 방지)

이러한 제품은 함께 원래 GitHub 고급 보안 기능 집합을 넘어 확장되는 더 광범위한 보안 플랫폼을 제공합니다.

기능 가용성

다음 표에는 리포지토리 유형 및 제품에서 GitHub 보안 기능의 가용성이 요약되어 있습니다.

특징 공용 리포지토리 프라이빗 리포지토리 GitHub 코드 보안 GitHub 비밀 보호
코드 검색(CodeQL) 아니오 아니오
Copilot Autofix 예(제한적) 아니오 아니오
종속성 검토 아니오 아니오
Dependabot 경고 아니오
Dependabot 자동 분류 규칙 아니오 아니오 아니오
보안 캠페인 아니오 아니오 아니오
보안 개요 아니오 아니오 아니오
비밀 검사 예(기본) 아니오 아니오
푸시 보호 아니오 아니오 아니오
사용자 지정 비밀 패턴 아니오 아니오 아니오

앞의 표에 나와 있는 것처럼 코드 검색, 기본 비밀 검사, 종속성 검토 및 Dependabot 경고를 비롯한 많은 핵심 보안 기능은 기본적으로 GitHub.com 공용 리포지토리에 사용할 수 있습니다. 프라이빗 및 내부 리포지토리에 대한 고급 기능을 사용하려면 GitHub Code Security 및/또는 GitHub Secret Protection을 사용하도록 설정된 GitHub Enterprise Cloud 또는 GitHub 팀이 필요합니다.

GitHub Code Security 및 GitHub Secret Protection은 프라이빗 및 내부 리포지토리에 다음과 같은 향상된 기능을 제공합니다.

  • 코드 검색(CodeQL): 취약성 및 코딩 오류를 자동으로 검색하고 Copilot Autofix(사용하도록 설정된 경우)를 통해 AI 지원 수정을 지원합니다.
  • 비밀 검사: 코드에서 노출된 비밀을 검색하고, 푸시 보호를 사용하여 누출을 차단하고, 사용자 지정 비밀 패턴을 지원하며, 향상된 경고 및 수정 워크플로를 제공합니다.
  • 종속성 검토: 종속성 변경의 영향을 표시하고 끌어오기 요청이 병합되기 전에 취약한 버전을 강조 표시합니다.
  • 보안 개요: 보안 상태, 위험 및 리포지토리 수준 경고에 대한 조직 차원의 가시성을 제공합니다.
  • 보안 캠페인: 조직에서 리포지토리 전체에서 여러 보안 경고를 그룹화, 우선 순위 지정 및 체계적으로 수정하여 팀이 취약성을 더 빠르고 대규모로 줄일 수 있도록 지원합니다.

주요 참고 사항

GitHub 단일 GitHub Advanced Security 번들에서 다음으로 구성된 모듈식 플랫폼으로 발전했습니다.

  • GitHub 코드 보안
  • GitHub 비밀 보호

다른 중요한 사항은 다음과 같습니다.

  • 퍼블릭 리포지토리는 계속해서 무료 보안 기능의 강력한 기준을 받고 있습니다.
  • 고급 기능은 방지(예: 푸시 보호), 자동화 및 AI 지원 수정에 중점을 줍니다.

소프트웨어 개발 수명 주기의 GitHub 고급 보안

GitHub 고급 보안 기능은 소프트웨어 개발 수명 주기에서 어떤 차이를 만들까요? 먼저 기본 보안 시나리오를 살펴보겠습니다.

이 다이어그램은 기존의 보안 접근 방식에서 소프트웨어 개발 수명 주기의 다양한 단계를 보여 줍니다.

이 예제에서는 품질 보증 단계에서 하나 이상의 보안 테스트가 수행되는 게이트 접근 방식 기존 보안을 보여 줍니다. 이 시나리오에서 보안은 종종 소프트웨어 배달을 지연시키는 병목 상태가 됩니다. 많은 조직에서 보안을 왼쪽으로 이동하여 이 문제를 해결합니다.

이제 GitHub Advanced Security와 동일한 소프트웨어 개발 수명 주기를 살펴보겠습니다.

GitHub Advanced Security를 사용한 소프트웨어 개발 수명 주기의 다양한 단계를 나타내는 다이어그램

이 시나리오에서는 프로젝트를 설정하는 동안 구성된 보안 정책을 통해 처음부터 보안이 통합됩니다. 개발자는 개발 프로세스 전체에서 보안 피드백을 받습니다.

  • 코드 검색: 모든 커밋 및 병합에서 취약성 및 코딩 오류를 검사합니다.
  • 비밀 검사: 모든 커밋 및 병합에서 실수로 커밋된 비밀(예: 토큰 및 프라이빗 키)을 검색합니다.
  • 종속성 검토: 모든 끌어오기 요청 중에 매니페스트 파일을 알려진 취약성의 데이터베이스와 비교하여 종속성 변경을 모니터링하고 프로젝트 보안에 미치는 영향을 평가합니다.

또한 보안 개요 는 관리자에게 조직의 보안 상태를 개략적으로 볼 수 있습니다. 이 보기는 주의 또는 수정이 필요한 리포지토리를 식별하는 데 도움이 됩니다.

개발 수명 주기 동안 보안 검사가 수행되므로 잠재적인 문제가 식별되고 이전에 해결됩니다. 이 방법은 품질 보증 중 병목 상태를 줄이고 소프트웨어가 출시되기 전에 기술적인 문제를 최소화합니다.