InfoGrab Docs

취약점 중복 제거 프로세스

보안 스캔 결과의 중복 제거

파이프라인에 동일한 유형의 여러 보안 보고서를 생성하는 작업이 포함된 경우, 동일한 취약점이 여러 보고서에 존재할 수 있습니다. 이 중복은 커버리지를 높이기 위해 다양한 스캐너를 사용할 때 일반적이지만, 단일 보고서 내에도 존재할 수 있습니다. 취약점 중복 제거는 스캔 전반에 걸쳐 중복된 취약점을 자동으로 통합하여 전체 스캔 커버리지를 유지하면서 고유한 취약점에 집중할 수 있도록 도와줍니다. 취약점 중복 제거 로직은 스캔 유형에 따라 다릅니다: SAST 취약점은 범위-오프셋 알고리즘 을 사용하여 중복 제거됩니다. 비밀 감지 취약점은 값 및 파일별 로 중복 제거됩니다. 다른 모든 취약점은 스캔 유형 , 위치 및 식별자 가 동일할 때 다른 취약점의 중복으로 간주됩니다. 각 스캔 유형은 취약점 위치에 대한 자체 정의를 가질 수 있으므로 스캔 유형이 일치해야 합니다. 예를 들어 정적 분석기는 파일 경로와 줄 번호를 찾을 수 있지만, 컨테이너 스캔 분석기는 대신 이미지 이름을 사용합니다. 식별자를 비교할 때 GitLab은 중복 제거 중에 CWE 와 WASC 를 비교하지 않습니다. 이는 이들이 "유형 식별자"이며 취약점 그룹을 분류하는 데 사용되기 때문입니다. 이러한 식별자를 포함하면 많은 취약점이 잘못 중복으로 간주될 수 있습니다. 식별자가 일치하지 않으면 두 취약점은 고유한 것으로 간주됩니다. 중복된 취약점 세트에서 취약점의 첫 번째 발생은 유지되고 나머지는 건너뜁니다. 보안 보고서는 알파벳 파일 경로 순서로 처리되고, 취약점은 보고서에 나타나는 순서대로 순차적으로 처리됩니다. 스캔 유형별 위치 정의 # 중복 제거에 사용되는 위치는 스캔 유형에 따라 다릅니다. 컨테이너 스캔 # 위치는 일반적으로 이미지 태그가 아닌 Docker 이미지 이름으로만 정의됩니다. 그러나 이미지 태그가 시맨틱 버전 관리(semver) 구문과 일치하고 Git 커밋 해시처럼 보이지 않으면 이미지 태그가 위치의 일부로 간주됩니다. 예를 들어: 다음 위치는 중복으로 처리됩니다: registry.gitlab.com/group-name/project-name/image1:12345019:libcrypto3 registry.gitlab.com/group-name/project-name/image1:libcrypto3 다음 위치는 고유한 것으로 처리됩니다: registry.gitlab.com/group-name/project-name/image1:v19202021:libcrypto3 registry.gitlab.com/group-name/project-name/image1:libcrypto3 동적 애플리케이션 보안 테스트(DAST) # 위치는 URL 경로, HTTP 방법 및 HTTP 매개변수로 정의됩니다. 두 취약점은 동일한 HTTP 방법으로 동일한 URL 엔드포인트에서 발생하면 중복으로 간주됩니다. 의존성 스캔 # 위치는 패키지 이름과 버전으로 정의됩니다. 두 취약점은 동일한 패키지 버전에 영향을 미치면 중복으로 간주됩니다. 범위-오프셋 서명 # 보안 스캐너가 코드를 분석할 때,