컨테이너 스캔
컨테이너 이미지의 취약점을 탐지하고, CI/CD 파이프라인에서 컨테이너 스캔을 설정 및 커스터마이즈하는 방법을 설명합니다.
컨테이너 이미지의 보안 취약점은 애플리케이션 라이프사이클 전반에 걸쳐 위험을 초래합니다. 컨테이너 스캔은 이러한 위험이 프로덕션 환경에 도달하기 전에 조기에 탐지합니다. 베이스 이미지나 운영 체제 패키지에 취약점이 나타나면 컨테이너 스캔이 이를 식별하고, 가능한 경우 수정 경로를 제공합니다. 개요는 컨테이너 스캔 - 고급 보안 테스트 를 참고합니다. 동영상 안내는 GitLab을 사용한 컨테이너 스캔 설정 방법 을 참고합니다. 입문 튜토리얼은 Docker 컨테이너의 취약점 스캔 을 참고합니다. 컨테이너 스캔은 흔히 소프트웨어 구성 분석(SCA)의 일부로 간주됩니다. SCA에는 코드가 사용하는 항목을 검사하는 측면이 포함될 수 있습니다. 이러한 항목에는 일반적으로 직접 작성한 것이 아니라 외부 소스에서 가져오는 애플리케이션 및 시스템 의존성이 거의 항상 포함됩니다. GitLab은 이러한 모든 의존성 유형을 포괄하기 위해 컨테이너 스캔과 의존성 스캐닝을 모두 제공합니다. 위험 영역을 최대한 커버하려면 모든 보안 스캐너를 사용합니다. 이러한 기능의 비교는 의존성 스캐닝과 컨테이너 스캔 비교 를 참고합니다. GitLab은 Trivy 보안 스캐너와 통합하여 컨테이너에서 취약점 정적 분석을 수행합니다. Warning Grype 분석기는 GitLab 지원 정책 에서 설명하는 제한적인 수정을 제외하고 더 이상 유지 관리되지 않습니다. Grype 분석기 이미지의 현재 주요 버전은 GitLab 19.0까지 최신 어드바이저리 데이터베이스와 운영 체제 패키지로 계속 업데이트되며, 이 시점 이후에는 분석기가 작동을 멈춥니다. 기능 # 기능 Free 및 Premium Ultimate 설정 커스터마이즈( 변수 , 재정의 , 오프라인 환경 지원 등) ✅ ✅ CI job 아티팩트로 JSON 보고서 보기 ✅ ✅ CI job 아티팩트로 CycloneDX SBOM JSON 보고서 생성 ✅ ✅ GitLab UI에서 MR을 통해 컨테이너 스캔을 활성화하는 기능 ✅ ✅ UBI 이미지 지원 ✅ ✅ Trivy 지원 ✅ ✅ 수명 종료(EOL) 운영 체제 탐지 ✅ ✅ GitLab 어드바이저리 데이터베이스 포함 GitLab advisories-community 프로젝트의 시간 지연 콘텐츠로 제한됨 예 - Gemnasium DB 의 모든 최신 콘텐츠 머지 리퀘스트 및 CI 파이프라인 job의 보안 탭에 보고서 데이터 표시 ❌ ✅ 취약점 해결책(자동 수정) ❌ ✅ 취약점 허용 목록 지원 ❌ ✅ 의존성 목록 페이지 접근 ❌ ✅ 시작하기 # CI/CD 파이프라인에서 컨테이너 스캔 분석기를 활성화합니다. 파이프라인이 실행되면 애플리케이션이 의존하는 이미지에서 취약점을 스캔합니다. CI/CD 변수를 사용하여 컨테이너 스캔을 커스터마이즈할 수 있습니다. 사전 요구 사항: .gitlab-ci.yml 파일에 test stage가 필요합니다. Self-managed 러너를 사용하는 경우 Linux/amd64에서 docker 또는 kubernetes executor가 있는 러너가 필요합니다. GitLab.c