지속적인 취약점 스캔
- GitLab 16.4에서 Experiment로 소개되었으며, 여러 기능 플래그가 기본적으로 활성화되어 있었습니다.
- 기능 플래그가 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 인스턴스에서
storage.googleapis.com
도메인으로의 외부 네트워크 트래픽을 허용해야 합니다. 네트워크 접속이 제한되거나 불가능한 경우 추가 지침을 위해 인터넷을 사용할 수 없는 환경에서 실행하는 문서 섹션을 참조하세요.
인터넷을 사용할 수 없는 환경에서 실행
인터넷을 통한 외부 리소스에 대한 액세스가 제한된 환경의 Self-managed GitLab 인스턴스에서는 일부 조정이 필요합니다. 취약점을 성공적으로 스캔하려면 퀵 스타트 가이드에서 자세한 내용을 확인하세요.
지원되는 언어 및 패키지 관리자
지원되는 파일 및 버전은 의존성 스캔에서 지원하는 것과 동일합니다.
Go 의사 버전은 지원되지 않습니다. Go 의사 버전을 참조하는 프로젝트 의존성은 영향을 받는 것으로 간주되지 않습니다. 이로 인해 부정확한 결과가 발생할 수 있습니다.
새로운 취약점 확인
지속적인 취약점 스캔에서 감지된 새로운 취약점은 취약점 보고서에서 확인할 수 있습니다. 그러나 이 취약점은 의존성 목록이나 해당 SBOM 구성 요소가 감지된 파이프라인에 표시되지 않습니다.
GitLab Advisory Database
또는 Trivy DB
에 통보가 추가된 후 해당 취약점이 프로젝트에 추가되기까지 몇 시간이 소요될 수 있습니다.
취약점 데이터베이스 기여
취약성을 찾으려면 GitLab Advisory Database
에서 검색할 수 있습니다.
또한 새로운 취약성을 제출할 수도 있습니다.