GitHub는 전 세계 개발자들이 프로젝트 코드를 저장하고 공유하는 데 사용됩니다. 개발자들은 공개 저장소를 생성하고 다양한 프로젝트에 협업할 수 있습니다. 2008년에 설립된 GitHub는 클라우드 기반 서비스로 호스팅 기능을 제공하며, 2018년에 Microsoft에 인수되었습니다.
GitHub는 소프트웨어 요청 발행, 버그 추적, 작업 관리 등과 같은 기능을 제공하는 버전 관리 시스템을 갖추고 있습니다. 오픈 소스이며 접근성이 뛰어나고 3억 7,200만 개 이상의 저장소를 보유하고 있습니다. 그러나 GitHub의 창립자들은 보안을 충분히 고려했어야 하며, 때때로 보안이 타협될 수 있습니다. 비밀번호가 탈취될 수 있고, GitHub 시크릿이 비교적 안전하지 않게 보관될 수 있습니다.
GitHub는 시크릿 스캐닝 파트너 프로그램을 통해 시크릿 토큰 형식을 분석하고 우발적인 커밋을 검색합니다. 이러한 스캔 결과를 클라우드 서비스 제공업체에 전송하여 엔드포인트를 검증할 수 있습니다. GitHub 스캔은 자격 증명의 악용을 방지하고, 공개 npm 패키지에도 적용할 수 있습니다. 조직은 비공개 저장소를 스캔하고, 시크릿 스캐닝을 조회 및 관리하는 등 다양한 기능을 사용할 수 있습니다. 또한 GitHub는 시크릿 스캐닝 메시지 페이로드를 포함하는 웹훅을 수신하는 시크릿 알림 서비스를 제공합니다.

이 가이드에서는 GitHub 시크릿 스캐닝에 대해 알아야 할 모든 내용을 다루고, 세부 사항을 살펴봅니다.
GitHub 시크릿 스캐닝이란?
GitHub 시크릿 스캐닝은 조직 내에서 시크릿을 안전하게 보호하는 다양한 보안 기능을 포함합니다. 이러한 기능 중 일부는 도구로 제공되며, GitHub의 고급 보안 솔루션을 사용하는 기업은 고유한 이점을 누릴 수 있습니다.
GitHub 시크릿 스캐닝은 GitHub 저장소의 모든 브랜치에 대한 전체 Git 히스토리에서 시크릿을 추출합니다.
GitHub 시크릿 스캐닝이 중요한 이유
GitHub 시크릿 스캐닝은 잠재적인 자격 증명 유출을 방지하고 개발자의 정규식 패턴 정의에 도움을 주기 때문에 필요합니다. 저장소가 민감한 데이터 노출 위험에 처해 있다는 것은 모두가 알고 있으며, 소스 코드에 시크릿을 하드코딩하는 것은 좋지 않습니다. DevOps 팀은 GitHub Actions를 사용하여 워크플로우를 자동화하고 애플리케이션을 배포하며, 시크릿이라는 강력한 내장 기능을 제공합니다. 사용자는 소스 코드 내에서 값을 안전하게 저장하고 사용할 수 있지만, 전문가들은 이 도구만으로는 충분한 보안을 제공하지 못한다고 봅니다.
서드파티 시크릿 스캐닝 도구는 DevOps 워크플로우에서 시크릿을 안전하고 중앙 집중적으로 관리 및 저장할 수 있는 외부 서비스를 제공합니다. 이들은 GitHub Actions 시크릿보다 더 큰 유연성을 제공하며, 더 많은 저장 용량, 높은 저장 한도, 시크릿 키 회전, 접근 제어 관리, 감사, 버전 관리 등 추가 기능을 제공합니다.
GitHub에서 제공하는 시크릿 스캐닝 기능
- GitHub Actions 시크릿은 GitHub Actions에서만 볼 수 있으며 출력 로그나 웹 인터페이스에는 표시되지 않습니다
- GitHub 시크릿 스캐닝은 SSH 인증서와 같은 암호화된 데이터 파일을 저장하는 데 사용할 수 있으며 언제든지 업데이트 또는 삭제할 수 있습니다
- GitHub Actions 시크릿은 특정 보안 정책과 암호화 프로토콜을 따르며, 권한이 있는 사용자만 조회 및 접근할 수 있습니다
그러나 기본 GitHub 시크릿 스캐너에는 다양한 제한 사항이 있습니다:
- 첫 번째로, 시크릿당 최대 크기 제한이 64KB이며, 저장소당 최대 100개의 시크릿만 저장할 수 있습니다
- 조직은 1,000개 이상의 시크릿을 저장할 수 없으며, 시크릿 키 회전, 감사, 버전 관리 등 고급 보안 기능이 부족합니다.
- 크로스 저장소 지원이 제공되지 않으며, 조직은 여러 워크플로우나 프로젝트에서 시크릿을 동기화, 공유, 조직화 또는 동시에 업데이트할 수 없습니다.
GitHub 시크릿 스캐닝 작동 방식
사용자는 저장소에서 유출된 시크릿을 스캔할 때 실시간 알림을 받는 방식을 구성할 수 있습니다. GitHub 시크릿 스캐닝 기능은 사용자가 소유한 모든 공개 저장소에서 활성화할 수 있습니다. 활성화되면, GitHub는 해당 저장소 내 모든 브랜치의 전체 Git 히스토리에서 시크릿을 스캔합니다.
시크릿 스캐닝은 동일 조직 내 여러 저장소에 대해 작동합니다. GitHub 시크릿 스캐닝은 조직이 시크릿의 악용을 방지하고, 우발적으로 커밋되는 것을 차단하는 데 도움을 줍니다.
GitHub 시크릿 스캐닝 구성 방법
- GitHub.com에 접속하여 저장소의 메인 페이지로 이동합니다
- Settings 탭을 클릭하여 드롭다운 메뉴를 엽니다. 사이드바의 보안 섹션에서 Code Security and analysis를 클릭합니다
- GitHub Advanced Security가 활성화되어 있는지 확인합니다. 활성화되어 있지 않다면 Enable을 클릭합니다.
- 이 저장소에 대해 Enable GitHub Advanced Security를 클릭합니다.
- 이 작업이 완료되면, 조직의 공개 저장소에 대해 시크릿 스캐닝이 자동으로 활성화됩니다. Secret Scanning 기능 옆에 ‘Enable’ 버튼이 있으면 클릭해야 합니다. Disable 버튼을 클릭하여 시크릿 스캐닝을 비활성화할 수 있습니다.
- GitHub 시크릿 스캐닝은 지원되는 시크릿이 포함된 커밋을 차단하며, Push Protection 기능을 제공합니다. 수동으로 푸시를 검토하려면 Enable을 클릭할 수 있습니다.
GitHub 시크릿 스캐닝 모범 사례
GitHub 시크릿 스캐닝 시 다음과 같은 모범 사례가 있습니다:
신규 시크릿 우선순위 지정최근에 제출된 자격 증명을 시크릿에 저장하기 전에 검토하는 것이 중요합니다. 이는 조직의 시크릿 개수를 낮게 유지하고, 웹훅을 사용해 새로운 시크릿 알림을 적절한 팀에 전달하는 데 도움이 됩니다. 개발자는 충분한 교육 문서를 받아야 하며, 새로운 시크릿을 커밋하기 전에 이를 배포해야 합니다. 알림에 대한 후속 조치와 고급 대응 프로세스 구현은 모든 시크릿 유형에 대해 중요합니다.
커밋된 시크릿 처리가장 중요한 커밋된 시크릿을 우선적으로 처리하고, 이전 시크릿 검토를 시작하는 것이 중요합니다. 각 시크릿 유형을 식별한 후, 개발자는 대응 프로세스를 정의하고 문서화해야 합니다. 또한 신규 사용자에게 변경 사항을 전달하고, 영향을 받는 저장소 관리 지침을 수립해야 합니다.
고급 보안 스캔 실행GitHub Enterprise Cloud를 사용하여 고급 보안 스캔을 설정할 수 있습니다. 조직은 GitHub Advanced Security 라이선스가 필요하며, GitHub는 모든 공개 저장소에서 파트너 패턴 스캔을 자동으로 실행할 수 있습니다.
GitHub 시크릿 스캐닝의 장단점
Git 시크릿 스캐닝의 장점
시크릿 스캐닝은 조직이 민감한 정보를 식별하고 이를 보호하기 위한 조치를 취하는 데 도움이 되는 유용한 기능입니다. 시크릿 스캐닝 도구를 사용하면 기업은 전체 클라우드 보안 태세를 강화할 수 있습니다. GitHub는 모든 공개 저장소에서 무료로 시크릿 스캐닝을 제공하며, 클라우드 기반 서비스 제공업체와 협력하여 시크릿 스캐닝 파트너 프로그램을 통해 유출된 자격 증명을 표시합니다.
오픈 소스 개발자는 코드 내 유출된 시크릿에 대한 알림을 무료로 받고, 변경 사항을 추적하며, 적절한 조치를 취할 수 있습니다. GitHub는 2022년 4월부터 모든 GitHub Advanced Security 고객에게 푸시 보호 기능을 추가하여, 시크릿을 사전에 스캔하고 커밋 전에 유출을 방지할 수 있도록 했습니다. 커스텀 패턴에 대한 푸시 보호는 패턴별로 구성 및 적용됩니다.
아래는 GitHub 시크릿 스캐닝의 장점 목록입니다:
- GitHub 시크릿 스캐닝은 모든 규모의 조직에 무료로 제공되며, 공개 접근을 허용합니다
- 추가적인 보안을 제공하며, 공개 저장소에 저장된 모든 시크릿을 추적하는 데 매우 편리합니다
- GitHub 시크릿 스캐닝은 개별 코드 라인을 수동으로 검토하는 것보다 훨씬 빠릅니다
- 의료, 금융, 소매 산업은 민감한 정보를 암호화하고 관련 표준 및 규정 준수를 보장할 수 있습니다.
Git 시크릿 스캐닝의 단점
다음은 GitHub 시크릿 스캐닝의 단점입니다:
- 위협 분석에 시간이 오래 걸릴 수 있습니다
- 시크릿 탐지 과정에서 오탐 및 미탐이 발생할 수 있습니다
- 개발 속도가 느려질 수 있습니다
- 자동 빌드 실패가 발생할 수 있습니다
- 서드파티 GitHub 시크릿 스캐닝 도구에 비해 스캔되는 코드 라인이 적습니다
- 데이터베이스 추출 오류 및 생성된 코드에서의 알림 발생
- 공개 저장소의 파트너 패턴에 대한 시크릿 스캐닝 구성 변경이 불가합니다
SentinelOne이 GitHub 시크릿 스캐닝에 어떻게 도움이 되는가?
탈취된 자격 증명은 전체 사이버 보안 공격의 거의 절반을 차지합니다. GitHub는 공개 저장소에서 100만 건 이상의 유출된 시크릿을 탐지했으며, 매분 12건 이상의 우발적 유출이 발생하고 있습니다.
API, 토큰 및 기타 시크릿의 우발적 유출은 클라우드 데이터 유출 위험, 평판 손상, 법적 책임을 증가시킵니다. 기본 GitHub 시크릿 스캐너는 알려진 공격 패턴과 시그니처에 의존하여 자격 증명 오용을 탐지합니다. 조직은 이러한 시크릿이 어떻게 접근되는지 조사할 방법이 없으며, 인적 요소를 간과합니다.
이 부분에서 SentinelOne이 역할을 합니다.
SentinelOne은 클라우드 구성 오류, 자격 증명 유출을 식별하고, Infrastructure as Code (IaC) 템플릿을 검토합니다. 보안 팀이 관리되지 않는 인스턴스, Kubernetes 클러스터, 다양한 클라우드 서비스를 추적할 수 있도록 지원합니다.
SentinelOne의 종합적인 CNAPP는 한 단계 더 나아가 시프트 레프트 보안을 적용합니다. Offensive Security Engine은 모든 잠재적 익스플로잇을 식별하고, 알려지지 않았거나 숨겨진 취약점을 조치합니다. SentinelOne CNAPP는 공개 및 비공개 클라우드 저장소를 스캔하고, 미션 크리티컬 워크로드를 보호합니다. 보안 자동화를 제공하여 조직의 클라우드 보안 태세를 즉시 개선할 수 있습니다. 이 플랫폼은 750가지 이상의 다양한 시크릿 유형을 탐지하고, 클라우드 자격 증명 유출을 방지합니다.
정적 머신러닝 분석과 동적 행위 분석을 결합하여, 보안 팀이 시크릿 관련 문제를 실시간으로 스캔하고 조치할 수 있습니다. SentinelOne CNAPP는 시크릿 키를 정기적으로 회전시켜 시크릿이 손상될 위험을 줄입니다. 이 플랫폼은 AES, DES, 3DES와 같은 대칭 암호화 알고리즘을 적용하여 보호를 강화합니다. Purple AI는 개인 보안 분석가로서, 통합 AI 기반 제어 플레인으로 SecOps를 가속화합니다. 평균 대응 시간을 단축하고, 시크릿 조사 과정을 간소화합니다.
서버, VM, 컨테이너를 위한 AI 기반 클라우드 워크로드 보호(CWPP)로, 런타임 위협을 실시간으로 탐지하고 차단합니다.
결론
GitHub 시크릿 스캐닝은 많은 리소스를 소모할 수 있지만, 조직은 이를 간과해서는 안 됩니다. 효과적인 GitHub 시크릿 스캐닝 기법은 데이터 유출을 방지하고, 고객을 보호하며, 운영 실패를 최소화하는 데 도움이 됩니다.
GitHub 시크릿 스캐닝은 필수적인 클라우드 보안 구성 요소이며, 코드 저장소의 결함을 식별하는 데 도움이 됩니다. GitHub 시크릿 스캐닝 도구가 없다면, 조직은 취약해져 심각한 결과를 초래할 수 있습니다.
자주 묻는 질문
GitHub 시크릿 스캐닝은 공개 및 비공개 리포지토리 전반에서 시크릿을 스캔하는 도구와 프로세스를 사용하는 것을 의미합니다. 코드 내 시크릿의 결함을 스캔하고, 구성 드리프트 또는 변경 사항을 탐지하며, 효과적인 조치 및 위협 대응 계획을 수립합니다.
사용자는 기본 제공 GitHub Secret Scanning 기능을 사용하여 코드 시크릿을 스캔할 수 있습니다. 또는 SentinelOne과 같은 종합적인 GitHub 시크릿 스캐닝 도구를 활용하여 전체적인 보안과 보호를 강화할 수 있습니다.
GitHub에서 제공하는 GitHub Secret Scanning은 완전히 무료입니다. CNAPP에 포함된 SentinelOne GitHub Scanning 도구는 Starter Plan 기준 월 2,000달러부터 시작합니다.
GitHub 코드 스캐닝은 기본적으로 GitHub 사용자에게 무료로 제공됩니다. 그러나 다양한 제한 사항이 있을 수 있으며, 이는 SentinelOne과 같은 프리미엄 유료 도구로 보완할 수 있습니다.


