푸시 보호에 대해
푸시 보호는 중요한 정보, 예를 들어 비밀 키나 토큰 같은 정보가 리포지토리에 처음부터 푸시되지 않도록 설계된 secret scanning 기능입니다. 커밋 후 비밀을 검색하는 secret scanning과 달리, 푸시 보호는 코드를 푸시하는 과정에서 사전에 검사하여, 검색될 경우 푸시를 차단합니다.
푸시 보호 기능은 리소스 또는 서비스에 대한 무단 액세스와 같이, 비밀 정보 노출로 인해 발생할 수 있는 위험을 예방하는 데 도움이 됩니다. 이 기능을 통해 개발자는 즉각적인 피드백을 얻고 보안 문제가 발생하기 전에 잠재적인 문제를 해결할 수 있습니다.
푸시 보호를 사용할 수 있습니다.
- 리포지토리/조직 수준에서 리포지토리 관리자 또는 조직 소유자. 리포지토리 기여자가 푸시 보호를 무시할 경우, 리포지토리의 보안 탭에 경고가 표시됩니다.
- 사용자를 GitHub 계정으로 지정합니다. 이러한 유형의 푸시 보호를 ‘사용자를 위한 푸시 보호’라고 합니다. GitHub에 대한 모든 퍼블릭 리포지토리에 비밀번호를 푸시하지 않도록 보호하는 기능은 있지만, 경고는 표시되지 않습니다.
팁
GitHub Team 및 GitHub Enterprise 조직은 푸시 보호 사용 상태에 상관없이 무료 보고서를 통해 조직의 코드에서 유출된 비밀을 검사할 수 있습니다. 또한, 이 보고서는 푸시 보호 기능을 통해 조직에서 얼마나 많은 기밀 정보 유출을 방지할 수 있었는지 알려줍니다. GitHub를 사용하는 비밀 보안 정보을(를) 참조하세요.
푸시 보호로 지원되는 비밀 및 서비스 공급자에 대한 자세한 내용은 지원되는 비밀 검사 패턴을(를) 참조하세요.
푸시 보호에는 몇 가지 제약이 따릅니다. 자세한 내용은 Troubleshooting secret scanning을(를) 참조하세요.
푸시 보호 작동 방식
푸시 보호 기능은 다음 경로에서 발견된 비밀을 차단합니다.
- 명령줄에서의 푸시 명령줄에서 푸시 보호 작업을(를) 참조하세요.
- GitHub UI에서 진행된 커밋 GitHub UI에서 푸시 보호 작업을(를) 참조하세요.
- GitHub의 리포지토리에 업로드된 파일
- REST API 요청 자세한 내용은 REST API에서 푸시 보호 작업을 참조하세요.
- GitHub MCP 서버와의 상호 작용(퍼블릭 리포지토리에만 해당) 푸시 보호 및 GitHub MCP 서버 작업을(를) 참조하세요.
푸시 보호는 활성화되면 푸시 시도 중에 잠재적인 비밀이 감지될 경우, 푸시를 차단하고 차단 이유를 상세 메시지로 제공합니다. 문제가 되는 코드를 검토한 후 중요 정보를 제거하고 다시 푸시해야 합니다.
기본적으로 리포지토리에 쓰기 권한이 있는 사용자는 테이블에 요약된 우회 사유 중 하나를 지정하여 반환 보호를 무시하도록 선택할 수 있습니다. 기여자가 비밀에 대한 푸시 보호 블록을 바이패스하는 경우 GitHub은(는) 다음을 수행합니다.
- 리포지토리의 보안 탭에서 경고를 만듭니다.
- 감사 로그에 바이패스 이벤트를 추가합니다.
- 비밀에 대한 링크와 허용된 이유를 포함하는 메일 경고를 리포지토리를 감시하는 조직 또는 개인 계정 소유자, 보안 관리자, 리포지토리 관리자에게 보냅니다.
이 테이블에서는 사용자가 푸시 보호 블록을 바이패스할 수 있는 각 방법에 대한 경고 동작을 보여 줍니다.
| 바이패스 이유 | 경고 동작 |
|---|---|
| 테스트에 사용됨 | GitHub은(는) "테스트에서 사용됨"으로 확인된 닫힌 경고를 만듭니다. |
| 가양성(false positive) 아님 | GitHub은(는) "가양성"(false positive)으로 확인된 닫힌 경고를 만듭니다. |
| 나중에 수정 | GitHub의 열린 경고 만들기 |
푸시 보호를 무시할 수 있는 기여자, 그리고 비밀번호가 포함된 반환을 허용해야 하는 경우 반환 보호를 위해 위임된 우회를 사용하도록 설정하여 반환을 보다 세밀하게 제어할 수 있습니다. 위임된 바이패스를 통해 리포지토리에 대한 기여자의 반환 보호를 무시하는 요청을 감독하고 관리할 위임된 검토자 그룹을 구성할 수 있습니다. 자세한 내용은 푸시 보호를 위한 위임 바이패스에 대해을(를) 참조하세요.
푸시 보호는 REST API를 통해 무시할 수도 있습니다. 자세한 내용은 비밀 검사를 위한 REST API 엔드포인트을(를) 참조하세요.
푸시 보호의 이점에 대해
-
**예방 보안**: 푸시 보호는 푸시할 때 비밀번호 관련 코드를 검사하여 최전선에서 방어 메커니즘 역할을 합니다. 이 예방책은 리포지토리에 통합되기 전에 발생할 수 있는 문제점을 파악하는 데 기여합니다. -
**즉각적인 피드백**: 푸시를 시도하는 동안 잠재적인 비밀이 감지되면 개발자는 즉시 피드백을 받습니다. 이 즉각적인 알림 기능을 통해 신속하게 수정할 수 있으므로, 중요한 정보가 노출될 가능성을 줄일 수 있습니다. -
**데이터 누수 위험 감소**: 푸시 보호 기능은 중요한 정보가 포함된 커밋을 차단함으로써, 우발적인 데이터 유출 위험을 크게 줄여줍니다. 이러한 조치를 통해 인프라, 서비스, 데이터에 대한 무단 액세스로부터 보호할 수 있습니다. -
**효율적인 비밀 관리**: 개발자는 노출된 비밀을 소급 적용하여 처리하는 대신, 원본에서 문제를 해결할 수 있습니다. 이렇게 하면 비밀번호 관리가 더욱 효율적으로 이루어지고 시간도 절약됩니다. -
**사용자 지정 패턴을 검색하는 기능:** 조직은 환경 내에서 고유한 기밀 정보를 찾기 위해 맞춤형 패턴을 정의할 수 있습니다. 이러한 사용자 정의를 통해 푸시 보호는 표준화되지 않은 비밀 정보도 효과적으로 식별하고 차단할 수 있습니다. -
**유연성을 위해 위임된 바이패스: **거짓 양성이 발생하거나 특정 패턴이 필요한 경우, 위임된 우회 기능을 사용하여 지정된 사용자가 특정 푸시를 승인할 수 있습니다. 이렇게 하면 전반적인 보안을 해치지 않으면서 유연성을 확보할 수 있습니다.
GitHub의 모든 사용자는 개별 설정에서 직접 푸시 보호 기능을 활성화할 수도 있습니다. 사용자 계정에 푸시 보호를 활성화하면 GitHub의 퍼블릭 리포지토리에 푸시할 때마다 해당 리포지토리에 푸시 보호 설정 여부와 관계없이 푸시가 보호됩니다. 자세한 내용은 사용자에 대한 푸시 보호을(를) 참조하세요.
푸시 보호 사용자 지정
푸시 보호를 사용하도록 설정한 후에는 추가적으로 사용자 정의할 수 있습니다.
푸시 보호 패턴 구성
엔터프라이즈 또는 조직 수준에서 푸시 보호 기능이 검사할 비밀 패턴을 사용자 정의합니다. 엔터프라이즈에 대한 추가 비밀 검사 설정 구성 및 조직에 대한 글로벌 보안 설정 구성을 참조하세요.
사용자 지정 패턴 정의
사용자 지정 패턴을 정의하여 푸시 보호 기능에서 비밀을 식별하고 이러한 비밀을 포함하는 푸시를 차단할 수 있습니다. 자세한 내용은 비밀 검사를 위한 사용자 지정 패턴 정의을(를) 참조하세요.
위임된 바이패스 구성
푸시 보호를 우회하고 다른 참가자에 대한 승인 절차를 추가할 수 있는 기여자를 정의합니다. 자세한 내용은 푸시 보호를 위한 위임 바이패스에 대해을(를) 참조하세요.
추가 읽기
-
[AUTOTITLE](/code-security/secret-scanning/enabling-secret-scanning-features/enabling-push-protection-for-your-repository) -
[AUTOTITLE](/code-security/secret-scanning/working-with-secret-scanning-and-push-protection/working-with-push-protection-from-the-command-line) -
[AUTOTITLE](/code-security/secret-scanning/working-with-secret-scanning-and-push-protection/working-with-push-protection-in-the-github-ui) -
[AUTOTITLE](/code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/custom-patterns/defining-custom-patterns-for-secret-scanning) -
[AUTOTITLE](/code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/delegated-bypass-for-push-protection/about-delegated-bypass-for-push-protection)