지속적 취약점 스캔
- 이 GitLab 16.4에서 소개되었으며 기본적으로 여러 피처 플래그가 활성화된 실험으로 시작되었습니다.
- 피처 플래그는 GitLab 16.10에서 제거되었습니다.
- 지속적 컨테이너 스캔은 GitLab 16.8에서
container_scanning_continuous_vulnerability_scans
라는 플래그와 함께 도입되었으며 기본적으로 비활성화되어 있습니다.- 지속적 컨테이너 스캔은 GitLab 16.10에서 GitLab.com, Self-managed 및 GitLab Dedicated에서 활성화되었습니다.
지속적 취약점 스캔은 파이프라인 외부에서 새로운 취약점을 탐지합니다.
귀하의 프로젝트는 GitLab Advisory Database
또는 Trivy DB
에 새로운 경고가 추가될 때 자동으로 스캔됩니다.
영향을 받는 컴포넌트에 의존하는 프로젝트의 경우 자동으로 새로운 취약점이 생성됩니다.
지속적 취약점 스캔은 최신 CycloneDX SBOM 보고서에서 취약점을 탐지합니다. 이러한 보고서를 생성하는 데 의존성 스캔 및 컨테이너 스캔이 사용됩니다.
지원되는 컴포넌트 유형
다음 PURL 유형의 컴포넌트가 지원됩니다:
composer
conan
deb
gem
golang
maven
npm
nuget
pypi
apk
및 rpm
PURL 유형을 지원하기 위한 작업은 이슈 428703에서 추적됩니다.
구성
지속적 취약점 스캔을 활성화하려면:
- 의존성 스캔 또는 컨테이너 스캔을 활성화하고 해당 전제 조건을 충족시킵니다.
- GitLab Self-managed 시에는 GitLab 인스턴스의 관리 영역에서 동기화할 패키지 레지스트리 메타데이터를 선택할 수 있습니다. 이 데이터 동기화가 작동하려면 GitLab 인스턴스에서
storage.googleapis.com
도메인으로의 아웃바운드 네트워크 트래픽을 허용해야 합니다. 네트워크 연결이 제한되거나 없는 경우 오프라인 환경에서 실행을 위해 더 많은 지침이 필요합니다.
오프라인 환경에서 실행
인터넷을 통한 외부 리소스에 대한 액세스가 제한되거나 제한된 환경에서의 Self-managed GitLab 인스턴스의 경우, CycloneDX 보고서의 취약점을 성공적으로 스캔하려면 일부 조정이 필요합니다. 자세한 내용은 오프라인 빠른 시작 가이드를 참조하십시오.
지원되는 언어 및 패키지 관리자
지원되는 파일 및 버전은 의존성 스캔에서 지원하는 파일과 버전입니다.
Go 의사 버전은 지원되지 않습니다. Go 의사 버전을 참조하는 프로젝트 의존성은 영향을 받는 것으로 간주되지 않습니다. 이는 잘못된 부정적 결과로 이어질 수 있습니다.
새로운 취약점 확인
지속적 취약점 스캔에 의해 탐지된 새로운 취약점은 취약점 보고서에서 확인할 수 있습니다. 그러나 영향을 받는 SBOM 컴포넌트가 탐지된 파이프라인 또는 의존성 디렉터리에는 나열되어 있지 않습니다.
GitLab Advisory Database
또는 Trivy DB
에 경고가 추가된 후 해당 취약점이 프로젝트에 추가되기까지 약간의 시간이 걸릴 수 있습니다.
취약점 데이터베이스 기여
취약점을 찾으려면 GitLab Advisory Database
에서 검색할 수 있습니다.
또한 새로운 취약점을 제출할 수 있습니다.