Skip to main content

비밀 검사 문제 해결

secret scanning을(를) 사용하여 리포지토리에 있는 비밀 또는 리포지토리에 커밋할 비밀을 감지할 때 예기치 않은 문제를 해결해야 할 수 있습니다.

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

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

  • GitHub Advanced Security을(를) 지원하는 조직 소유 리포지토리
  • GitHub Advanced Security을(를) 지원하는 엔터프라이즈의 사용자 소유 리포지토리

참고: 사이트 관리자가 먼저 인스턴스에 대해 secret scanning을(를) 사용하도록 설정해야 이 기능을 사용할 수 있습니다. 자세한 내용은 "어플라이언스에 대한 비밀 검사 구성"을(를) 참조하세요.

엔터프라이즈 소유자가 엔터프라이즈 수준에서 정책을 설정한 경우 secret scanning을(를) 사용하거나 사용하지 않도록 설정하지 못할 수 있습니다. 자세한 내용은 "엔터프라이즈에 대한 코드 보안 및 분석을 위한 정책 적용"을(를) 참조하세요.

패턴 쌍 검색

Secret scanning은(는) ID와 비밀이 동일한 파일에 있고 둘 다 리포지토리로 푸시된 경우에만 AWS 액세스 키 및 비밀과 같은 패턴 쌍을 검색합니다. 쌍의 두 요소(ID 및 비밀)를 함께 사용하여 공급자의 리소스에 액세스해야 하기 때문에 쌍 일치는 가양성 감소에 도움이 됩니다.

다른 파일로 푸시되거나 동일한 리포지토리로 푸시되지 않은 쌍은 경고가 발생하지 않습니다. 지원되는 패턴 쌍에 대한 자세한 내용은 "지원되는 비밀 검사 패턴"의 표를 참조하세요.

레거시 GitHub 토큰 정보

GitHub 토큰의 경우 비밀의 유효성을 검사하여 비밀이 활성 상태인지 비활성 상태인지 확인합니다. 즉, 레거시 토큰의 경우 secret scanning이(가) GitHub Enterprise Cloud에서 을(를) 검색하지 않습니다. 마찬가지로 GitHub Enterprise Cloud personal access token은(는) GitHub Enterprise Server에서 찾을 수 없습니다.

푸시 보호 제한 사항

푸시 보호가 감지되어야 한다고 생각되는 비밀을 검색하지 못한 경우 먼저 지원하는 비밀 목록에서 해당 비밀 유형을 푸시 보호가 지원하는지 확인합니다. 자세한 내용은 "지원되는 비밀 검사 패턴"을(를) 참조하세요.

비밀이 지원되는 목록에 있는 경우 푸시 보호에서 이를 감지하지 못하는 다양한 이유가 있습니다.

  • 푸시 보호는 가장 잘 식별할 수 있는 사용자 경고 패턴의 하위 집합에서 유출된 비밀만 차단합니다. 이러한 비밀이 가양성 수가 가장 낮은 패턴이므로 이러한 비밀이 차단될 때 기여자는 보안 방어를 신뢰할 수 있습니다.
  • 비밀의 버전이 오래되었을 수 있습니다. 이전 버전의 특정 토큰은 최신 버전보다 더 많은 가양성(false positive) 수를 생성할 수 있기 때문에 푸시 보호에서 지원되지 않을 수 있습니다. 푸시 보호는 레거시 토큰에도 적용되지 않을 수 있습니다. Azure Storage 키와 같은 토큰의 경우 GitHub은(는) 레거시 패턴과 일치하는 토큰이 아니라 최근에 만든 토큰만 지원합니다.
  • 예를 들어 수천 개의 대용량 파일을 푸시하려는 경우 푸시가 너무 클 수 있습니다. 푸시가 너무 큰 경우 푸시 보호 검사 시간이 초과되어 사용자를 차단하지 않을 수 있습니다. 필요한 경우 GitHub은(는) 푸시 후에도 계속 검색하여 경고를 만듭니다.
  • 푸시로 인해 5개 이상의 새 비밀이 검색되는 경우 처음 5개만 표시됩니다(항상 한 번에 최대 5개의 비밀을 표시합니다).
  • 푸시에 1,000개가 넘는 기존 비밀(즉, 경고가 이미 생성된 비밀)이 포함된 경우 푸시 보호가 푸시를 차단하지 않습니다.