GitHub 연동
GitHub 조직을 Cremit Platform에 연결해 모든 리포지터리, 커밋, 이슈에서 노출된 API 키와 토큰을 탐지합니다. 신규 리포지터리 추가 시 자동으로 스캔 범위에 포함됩니다.
About this guide
This comprehensive guide will walk you through the complete setup process. Expected completion time: 5-10 minutes.
개요
Cremit의 GitHub 연동을 통해 저장소에 노출된 자격증명, API 키 및 기타 민감한 정보를 주기적으로 스캔하고, pull request는 열리는 즉시 스캔합니다. GitHub.com (공식)과 GitHub Enterprise Server (자체 호스팅) 인스턴스를 모두 지원합니다.
단계별 설정 방법
1단계: Scan Sources로 이동
- Cremit 대시보드에 로그인
- 왼쪽 사이드바에서 Configuration > Scan Sources로 이동
- New 또는 Create 버튼 클릭
2단계: GitHub 연결 설정
"Create Scan Source" 페이지에서 다음 항목을 설정합니다:
1. GitHub Instance: GitHub 유형 선택
- GitHub.com (Official) - 공개 GitHub용 (대부분의 사용자에게 권장)
- GitHub Enterprise - 자체 호스팅 GitHub 인스턴스용
2. Label: 스캔 소스의 설명적인 이름 입력 (예: "CremitHQ")
3. Description: (선택사항) 스캔 소스에 대한 추가 세부 정보 입력
4. Select GitHub Account: 드롭다운에서 연결된 GitHub 계정 선택
- "User" 및 "Installed" 배지가 표시된 계정이 보여야 함
- 계정이 목록에 없으면 Refresh Account List 클릭
5. Create 버튼을 클릭하여 설정 완료
3단계: 스캔 설정 구성
스캔 소스 생성 후 설정 페이지로 리디렉션됩니다:
Scan Settings:
- Scan Source Enabled: 이 소스에 대한 스캔을 활성화하려면 토글을 ON으로 설정
- Auto-enable New Repositories: 새로 추가된 저장소에 대해 자동으로 스캔 활성화
4단계: 대상 저장소 관리
Target Management 섹션에서:
1. 모든 저장소 보기: 접근 가능한 모든 저장소가 자동으로 나열됨
2. 저장소 정보: 각 저장소에 다음 정보가 표시됨:
- 저장소 이름 (예: ben-cremit/awesome-cicd-attacks)
- 가시성 배지 (🟢 public 또는 🔒 private)
- 스캔 진행 상황
- 마지막 스캔 타임스탬프
- 현재 상태
3. 일괄 작업:
- Enable All: 모든 저장소에 대한 스캔을 한 번에 활성화
- Disable All: 모든 저장소에 대한 스캔을 한 번에 비활성화
- Refresh: 저장소 목록 업데이트
4. 개별 관리: 체크박스를 사용하여 일괄 작업을 위한 특정 저장소 선택
연동 확인
연동이 성공적으로 완료되었는지 확인하려면:
- 우측 상단에 Enabled 배지가 표시되는지 확인
- Target Management 섹션에 저장소가 나열되어 있는지 확인
- 활성 저장소의 상태가 "Enabled"로 표시되는지 확인
- 활성화된 저장소의 스캔 진행 상황 확인
문제 해결
문제: GitHub 계정이 목록에 표시되지 않음
- 해결 방법: "Refresh Account List"를 클릭하거나 Cremit GitHub App이 GitHub 계정에 설치되어 있는지 확인
문제: 저장소가 스캔되지 않음
- 해결 방법: Target Management에서 저장소가 활성화되어 있고 Scan Source Enabled가 ON으로 토글되어 있는지 확인
주요 이점
- ✅ 간편한 설정: 몇 번의 클릭만으로 연동 완료
- ✅ 자동 검색: 접근 가능한 모든 저장소를 자동으로 감지
- ✅ 유연한 제어: 저장소별 또는 일괄적으로 스캔 활성화/비활성화 가능
- ✅ 실시간 모니터링: 노출된 시크릿에 대한 지속적인 스캔
GitHub Packages의 컨테이너 이미지
GitHub을 연결하면 조직이 GitHub Packages(GHCR)에 올린 컨테이너 이미지 스캔도 함께 켜집니다. 같은 설치를 쓰기 때문에 따로 추가하지 않고 GitHub 소스에 딸려 생성됩니다.
Cremit Platform은 레지스트리 API로 이미지를 받아 레이어를 메모리에서 풉니다. 스트리밍으로 받아 압축을 풀고 읽습니다. 이미지를 실행하지는 않습니다. docker도, 엔트리포인트도, 설치 과정도 없습니다.
레이어는 한 번만 스캔합니다. 여러 이미지와 버전이 공유하는 베이스 레이어는 다이제스트로 알아보고 건너뜁니다. 레지스트리 스캔 비용이 통제되는 이유입니다.
빌드 시점 시크릿이 여기서 드러납니다. 레이어에 구워진 ARG, 빌드 중 복사된 설정 파일 속 자격증명, 중간 레이어에 남아 최종 이미지까지 따라온 토큰 같은 것들입니다.