주요 기능
- GitLab SaaS 및 셀프호스팅 인스턴스 모두 지원
- 모든 브랜치의 전체 커밋 히스토리 스캔
- 이슈 및 Merge Request 본문 스캔
- 그룹 단위 또는 프로젝트 단위 범위 지정
- 신규 프로젝트 자동 스캔 포함
사전 요구사항
- 1대상 그룹의 Owner 또는 Maintainer 권한
- 2GitLab API 엔드포인트 (셀프호스팅) 또는 gitlab.com 접근 권한
- 3Cremit Argus 계정
설정 소요 시간7 분
단계별 설정 가이드
대시보드에서 바로 따라할 수 있는 실제 설정 흐름입니다.
개요
Argus의 GitLab 연동은 조직의 모든 프로젝트, 커밋, Merge Request, 이슈에서 노출된 자격증명, API 키, 토큰을 탐지합니다. GitLab SaaS (gitlab.com)와 셀프호스팅 GitLab (Data Center 또는 Dedicated) 모두 지원합니다.
사전 요구사항
- 대상 그룹의 Owner 또는 Maintainer 권한
- `read_api`와 `read_repository` 스코프를 가진 GitLab Personal Access Token 또는 Group Access Token
- 셀프호스팅의 경우: GitLab API 엔드포인트 URL (예: https://gitlab.yourcompany.com)
- Cremit Argus 계정
단계별 설정
Step 1: GitLab 액세스 토큰 생성
Argus가 GitLab API를 호출할 때 사용할 토큰을 발급합니다.
- GitLab에서 User Settings > Access Tokens (개인 토큰) 또는 Group > Settings > Access Tokens (그룹 토큰)으로 이동
- 토큰 이름을 'Cremit Argus'로 지정하고 만료일을 최소 6개월 이상으로 설정
- `read_api`와 `read_repository` 스코프 부여
- 생성된 토큰은 즉시 복사 (GitLab은 다시 보여주지 않음)
Step 2: Argus에 GitLab Scan Source 추가
발급한 토큰을 Argus 워크스페이스에 연결합니다.
- Argus 대시보드에 로그인
- Configuration > Scan Sources로 이동해 New 클릭
- 소스 타입으로 GitLab 선택
- GitLab.com이면 기본 호스트 유지, 셀프호스팅이면 GitLab API URL 입력
- Step 1에서 생성한 액세스 토큰 붙여넣기
- Create 클릭
Step 3: 스캔 대상 프로젝트 선택
Argus가 스캔할 프로젝트를 선택합니다. 특정 서브그룹으로 범위를 좁히거나 전체를 포함할 수 있습니다.
- Argus가 토큰으로 접근 가능한 모든 프로젝트를 자동으로 나열
- Bulk Enable로 전체 포함 또는 프로젝트별 개별 활성화
- Auto-enable New Projects 토글을 켜면 신규 프로젝트도 수동 작업 없이 스캔
Step 4: 스캔 주기 설정
기본(실시간)을 쓰거나 원하는 주기로 조정합니다.
- Continuous scanning: 푸시와 Merge Request마다 자동 실행
- Historical scan: 최초 실행 시 전체 커밋 히스토리 검사
- 개별 프로젝트를 일시 중지해도 히스토리는 유지
설정 확인
통합이 올바르게 구성되었는지 확인하는 방법:
- 설정된 각 프로젝트 옆에 녹색 Enabled 배지가 표시됨
- 최초 동기화 후 Last Scan 컬럼에 최근 시간이 표시됨
- Scan Sources 목록에서 소스 상태가 Healthy 로 표시됨
- 활성화된 프로젝트에 푸시하면 몇 분 내 자동 스캔 트리거
문제 해결
문제: 토큰이 401 Unauthorized로 거부됩니다.
- 해결: `read_api`와 `read_repository` 두 스코프를 모두 포함해 토큰을 재발급하세요. 한쪽이라도 빠지면 프로젝트 목록 조회나 파일 읽기가 실패합니다.
문제: 일부 비공개 프로젝트가 목록에 보이지 않습니다.
- 해결: 토큰은 소유자가 접근 가능한 프로젝트만 볼 수 있습니다. 적절한 레벨의 Group Access Token을 쓰거나, 올바른 그룹 멤버십을 가진 서비스 계정을 사용하세요.
문제: 셀프호스팅 GitLab 연결이 타임아웃됩니다.
- 해결: Argus IP 범위가 방화벽이나 GitLab IP allowlist를 통과하는지 확인하세요. Argus에서 GitLab으로 443 포트 아웃바운드 통신이 가능해야 합니다.
핵심 이점
- GitLab SaaS와 셀프호스팅을 하나의 워크스페이스에서 통합 관리
- 현재 HEAD뿐 아니라 전체 커밋 히스토리 스캔
- Merge Request와 이슈 본문 스캔으로 디버깅 중 붙여넣은 자격증명까지 탐지
- 신규 프로젝트 자동 포함으로 조직 성장 속도를 따라가는 커버리지