지속적 취약점 스캔

Tier: Ultimate Offering: GitLab.com, Self-Managed, GitLab Dedicated

어떤 특정 컨테이너 스캔이나 의존성 스캔을 활성화한 프로젝트에 새로운 공지가 GitLab Advisory Database 또는 Trivy Database에 추가되면, 지속적 취약점 스캔이 트리거되어 해당 프로젝트에서 스캔이 실행됩니다. 새로운 공지가 애플리케이션 또는 운영 체제 의존성에 영향을 미치면, 스캐너 값이 GitLab SBoM 취약점 스캐너로 설정되어 해당 프로젝트에 취약점이 생성됩니다.

CI 기반 컨테이너 스캔의존성 스캔보다 지속적 취약점 스캔은 백그라운드 작업(Sidekiq)을 통해 실행되며 CI 파이프라인이 아닙니다. 또한 보안 보고서 아티팩트가 생성되지 않습니다.

note
GitLab Advisory Database 또는 Trivy Database에 새로운 운영 체제 패키지가 추가되고 해당 패키지에 대한 공지가 이미 있으면 취약점이 생성되지 않음. 개선 지원은 epic 11219epic 8026에서 제안되었습니다.

지원되는 패키지 유형

지속적 취약점 스캔은 다음 PURL 유형의 컴포넌트를 지원합니다:

  • composer
  • conan
  • deb
  • gem
  • golang
  • maven
  • npm
  • nuget
  • pypi

apkrpm 패키지 URL 유형 지원 작업은 issue 428703에서 추적됩니다.

Go 의사 버전은 지원되지 않습니다. Go 의사 버전을 참조하는 프로젝트 의존성은 영향을 받지 않은 것으로 간주되므로 잘못된 결과가 발생할 수 있습니다.

구성

지속적 취약점 스캔을 활성화하려면 다음을 수행합니다:

오프라인 환경에서 실행

인터넷으로 외부 리소스에 대한 액세스가 제한적, 제한된 또는 간헐적인 환경에 있는 Self-Managed GitLab 인스턴스의 경우, CycloneDX 보고서를 성공적으로 취약점으로 스캔하려면 몇 가지 조정이 필요합니다. 자세한 정보는 오프라인 퀵 스타트 가이드를 참조하세요.

새로운 취약점 확인

지속적 취약점 스캔에 의해 감지된 새로운 취약점은 취약점 보고서에서 확인할 수 있습니다. 그러나 해당 취약점은 의존성 디렉터리이나 영향을 받는 SBOM 컴포넌트가 감지된 파이프라인에서 나열되지 않습니다.

GitLab Advisory Database 또는 Trivy DB에 공지가 추가된 후 해당 프로젝트에 대응되는 취약점이 추가되기까지 몇 시간이 걸릴 수 있습니다.

취약점 데이터베이스 기여

취약점을 찾으려면 GitLab Advisory Database에서 검색할 수 있습니다. 또한 새로운 취약점을 제출할 수 있습니다.