InfoGrab DocsInfoGrab Docs

지속적인 취약점 스캐닝

스캐닝, 의존성, 어드바이저리 및 백그라운드 작업.

지속적 취약점 스캐닝(Continuous Vulnerability Scanning, CVS)은 GitLab이 새 CI/CD 파이프라인을 실행하지 않고도 취약점 레코드를 생성할 수 있게 해 주는 기능입니다. 새 보안 어드바이저리가 게시되거나 업데이트되면 GitLab은 해당 어드바이저리를 프로젝트에 이미 기록된 구성 요소와 비교하여 일치하는 항목에 대해 취약점 레코드를 생성합니다. CVS는 프로젝트가 사용하는 구성 요소를 파악하기 위해 기본 브랜치에 저장된 CycloneDX SBOM 보고서를 사용합니다. 이 SBOM을 생성하려면 의존성 스캐닝 job이 기본 브랜치에서 최소 한 번 실행되어야 합니다. 그 이후에는 CVS가 추가 파이프라인 실행 없이도 해당 구성 요소에 대해 새로 게시된 어드바이저리를 자동으로 탐지합니다. 애플리케이션 의존성이 변경되면 CVS가 갱신된 구성 요소 집합을 평가할 수 있도록 기본 브랜치에서 새 파이프라인을 실행하여 SBOM을 새로 고쳐야 합니다. 대부분의 프로젝트에서는 의존성 변경이 대개 코드 변경을 수반하여 이미 파이프라인을 트리거하므로, 이 과정이 일반적인 워크플로의 일부로 이루어집니다. CI 기반 보안 스캔과 달리 지속적 취약점 스캐닝은 CI 파이프라인이 아닌 백그라운드 job(Sidekiq)으로 실행되며, 보안 보고서 아티팩트는 생성되지 않습니다. 머지 리퀘스트 보안 리포트 # 머지 리퀘스트의 보안 위젯은 머지 리퀘스트 파이프라인의 보안 보고서 아티팩트를 대상 브랜치 최신 파이프라인의 보안 보고서 아티팩트와 비교합니다. CVS는 보안 보고서 아티팩트를 생성하지 않으므로, CVS가 기본 브랜치에 생성한 취약점은 이 비교에 포함되지 않습니다. 따라서 머지 리퀘스트의 파이프라인이 CVS가 이미 기본 브랜치에 생성해 둔 취약점을 탐지하면, 해당 구성 요소가 변경되지 않았더라도 머지 리퀘스트는 그 취약점을 새로 탐지된 것으로 보고합니다. 기본 브랜치에서 다음 파이프라인이 실행되면 대상 브랜치의 보안 보고서 아티팩트에 해당 취약점이 포함되므로, 이후 머지 리퀘스트에서는 더 이상 새로 탐지된 것으로 보고되지 않습니다. 이 제한은 머지 리퀘스트 비교에만 영향을 줍니다. 기본 브랜치에서는 CVS가 취약점을 생성한 시점부터 취약점 보고서에 해당 취약점이 표시됩니다. 악성 패키지 # 히스토리 GitLab 19.4에서 cvs_malware_advisories 라는 플래그 와 함께 도입 되었습니다. 기본적으로 활성화됩니다. GitLab 19.5에서 정식 출시 되었습니다. 기능 플래그 cvs_malware_advisories 가 제거되었습니다. CVS는 구성 요소를 악성으로 알려진 패키지의 비공개 데이터베이스인 GitLab 멀웨어 어드바이저리 와도 비교합니다. 구성 요소가 이러한 어드바이저리 중 하나와 일치하면 GitLab은 보안 어드바이저리와 동일한 방식으로 취약점을 생성합니다. 멀웨어 어드바이저리에서 생성된 취약점은 항상 Critical 심각도를 가집니다. 멀웨어 어드바이저리는 CVSS 점수에서 심각도를 도출하지 않고 심각도를 직