취약점 보고서

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

취약점 보고서는 기본 브랜치의 스캔으로부터의 취약점에 대한 정보를 제공합니다. 기 파이프라인의 모든 성공적인 작업의 누적 결과를 포함하며 파이프라인이 성공적인지 여부에 상관없이 모든 결과가 포함됩니다. 파이프라인에서의 스캔 결과는 파이프라인 안의 작업이 완료되거나 파이프라인이 매뉴얼 작업에 의해 차단된 후에 소비됩니다.

개요는 취약점 관리를 참조하십시오.

모든 수준에서 취약점 보고서에는 다음이 포함됩니다.

  • 심각도 수준당 취약점 총계.
  • 일반적인 취약점 속성에 대한 필터.
  • 테이블 레이아웃으로 표시된 각 취약점의 세부 정보.

프로젝트 수준에서 취약점 보고서에는 다음도 포함됩니다.

  • 업데이트된 시간 스탬프와 가장 최근 파이프라인의 링크가 포함된 타임스탬프입니다.
  • 가장 최근 파이프라인에서 발생한 실패 횟수입니다. 실패된 작업(Failed jobs) 탭을 보려면 실패 알림을 선택하십시오.

활동 열에는 그 행에서의 취약점에 대해 취해진 활동, (있는 경우)를 나타내는 아이콘이 포함되어 있습니다.

  • 이슈 {이슈}: 취약점에 대해 생성된 이슈로 연결됩니다. 자세한 정보는 취약점을 위한 GitLab 이슈 생성를 참조하십시오.
  • 렌치 {관리자}: 취약점이 해결되었습니다.
  • 잘못된 양성 : 스캐너가 이 취약점을 잘못된 양성으로 결정했습니다.

취약점에 대해 만들어진 이슈를 열려면 활동 항목 위로 가리킨 후 링크를 선택하십시오. 이슈 아이콘({이슈})은 이슈의 상태를 나타냅니다. Jira 이슈 지원이 활성화되어 있는 경우, 활동 항목에 있는 이슈 링크가 Jira의 이슈로 연결됩니다. GitLab 이슈와 달리 Jira 이슈의 상태는 GitLab UI에 표시되지 않습니다.

프로젝트 수준 취약점 보고서 예시

취약점이 다중 프로젝트 파이프라인 설정에서 발생하는 경우, 이 페이지에서는 선택한 프로젝트에서 유래된 취약점을 표시합니다.

취약점 보고서 보기

프로젝트 또는 그룹의 모든 취약점을 나열하기 위해 취약점 보고서를 보십시오.

필수 조건:

  • 프로젝트 또는 그룹에 대한 최소한의 개발자 역할이 있어야 합니다.

취약점 보고서를 보려면:

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트 또는 그룹을 찾습니다.
  2. 보안 > 취약점 보고서를 선택합니다.

취약점 보고서 필터

취약점 보고서를 특정 기준과 일치하는 취약점에 좀 더 집중하도록 필터링할 수 있습니다.

모든 수준에서 사용 가능한 필터는 다음과 같습니다:

  • 상태: 감지됨, 확인됨, 기각됨, 해결됨. 각 상태의 자세한 정보는 취약점 상태 값을 참조하십시오.
  • 심각도: 심각, 높음, 중간, 낮음, 정보, 알 수 없음.
  • 도구: 자세한 내용은 도구 필터를 참조하십시오.
  • 활동: 자세한 내용은 활동 필터를 참조하십시오.

프로젝트 필터는 그룹 수준에서만 사용할 수 있습니다.

취약점 디렉터리 필터링

  • 리팩토링된 사용자 인터페이스는 소개되었습니다. GitLab 17.0에서.

취약점 보고서를 필터링하여 취약점 하위 집합에 초점을 맞출 수 있습니다.

취약점 디렉터리을 필터링하려면:

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
  2. 보안 > 취약점 보고서를 선택합니다.
  3. 기본 필터를 제거하려면 지우기({지우기})를 선택합니다.
  4. 취약점 디렉터리 위에 필터링 막대를 선택합니다.
  5. 나타나는 드롭다운 디렉터리에서 필터링할 속성을 선택한 후 드롭다운 디렉터리에서 값을 선택합니다.
  6. 필터 필드 바깥쪽을 선택합니다. 취약점 심각도 총계와 일치하는 취약점 디렉터리이 업데이트됩니다.
  7. 여러 속성으로 필터링하려면 앞의 세 단계를 반복하십시오. 여러 속성은 논리 AND로 결합됩니다.

도구 필터

  • 프로젝트 수준 도구 필터는 GitLab 16.6에서 소개되었습니다.

도구가 취약점을 감지한 도구에 의해 취약점을 필터링할 수 있습니다. 기본적으로 취약점 보고서는 모든 도구의 취약점 디렉터리을 표시합니다. 헤딩을 선택하면 해당 헤딩 아래의 모든 도구를 선택합니다.

GitLab 16.6 및 이후

프로젝트와 그룹 모두에 대한 도구 필터의 내용은 다음에 따라 다릅니다:

  • 제3자 분석기를 통합 및 활성화한 경우, 도구 필터는 스캔 범주(예: 컨테이너 스캔, DAST, 의존성 스캔)별로 그룹화됩니다. 스캐너 항목은 스캐너가 취약점을 감지한 경우에만 표시됩니다.
  • 제3자 분석기를 통합하지 않은 경우, GitLab 16.5 및 이전을 참조하십시오.
GitLab 16.5 및 이전

모든 수준의 도구 필터의 내용은 먼저 분석기의 공급업체로 분류되고 그런 다음 스캔 범주로 분류됩니다. GitLab 분석기만 활성화했다면, 도구 필터에는 해당하는 분석기만 표시됩니다.

매뉴얼으로 추가된 취약점을 필터링하려면 매뉴얼으로 추가됨 필터를 사용하십시오.

각 사용 가능한 도구에 대한 자세한 내용은 보안 스캔 도구를 참조하십시오.

프로젝트 필터

프로젝트 필터의 내용은 현재 수준에 따라 다릅니다:

  • 보안 센터: 개인 보안 센터에 추가한 프로젝트만 표시됩니다.
  • 그룹 수준: 그룹 내의 모든 프로젝트가 표시됩니다.
  • 프로젝트 수준: 해당되지 않습니다.

활동 필터

  • 해결 사항 사용 가능 피처 플래그가 포함된 GitLab 16.7에서 소개되었습니다. 기본적으로 비활성화됩니다.
  • GitLab 16.9에서 일반적으로 사용 가능합니다. 피처 플래그 activity_filter_has_remediations이 제거되었습니다.

활동 필터는 다른 필터와는 다르게 동작합니다. 각 카테고리에서 하나의 값을 선택할 수 있습니다. 필터를 제거하려면 활동 필터 드롭다운 디렉터리에서 제거하려는 필터를 선택하십시오.

활동 필터를 사용할 때 선택 동작:

  • 활동
    • 모든 활동: 행동 상태가 있는 모든 취약점(이 필터 무시와 같음). 이를 선택하면 다른 활동 필터 옵션이 모두 선택 해지됩니다.
    • 감지: 최신 파이프라인 스캔에서 여전히 감지된 취약점(기본값).
    • 감지 없음: 최신 파이프라인 스캔에서 더 이상 감지되지 않는 취약점.
    • 이슈
      • 이슈가 있음: 하나 이상의 연관된 이슈가 있는 취약점.
      • 이슈가 없음: 연관된 이슈가 없는 취약점.
    • Merge Request
      • Merge Request이 있음: 하나 이상의 연관된 Merge Request이 있는 취약점.
      • Merge Request이 없음: 연관된 Merge Request이 없는 취약점.
    • 해결 사항 사용 가능
      • 해결책이 있음: 사용 가능한 해결책이 있는 취약점.
      • 해결책이 없음: 사용 가능한 해결책이 없는 취약점.

취약점의 세부 정보 보기

취약점의 더 많은 세부 정보를 보려면 취약점의 설명을 선택하십시오. 취약점의 세부 정보 페이지가 열립니다.

취약한 소스 위치 보기

일부 보안 스캐너는 잠재적인 취약성의 파일 이름 및 행 번호를 출력합니다. 해당 정보를 사용할 수 있을 때, 취약성의 세부 정보에는 기본 브랜치의 관련 파일에 대한 링크가 포함됩니다.

관련 파일을 보려면 취약성 세부 정보에서 파일 이름을 선택하세요.

취약점 상태 변경

  • GitLab 16.0에서 소개된 코멘트 및 무시 이유 제공

취약점을 검토하면서 그들의 상태를 변경할 수 있으며, 이는 취약점을 해결함으로 처리하는 것을 포함합니다.

취약점이 해결되면 감사 로그에 누가 해제했는지, 언제 해제되었는지, 그리고 해제된 이유가 포함됩니다. 취약점 레코드를 삭제할 수 없으므로 영구 레코드가 항상 남아 있습니다.

취약점의 상태를 변경하려면:

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
  2. 보안 > 취약점 보고서를 선택합니다.
  3. 다음 중 하나를 선택하세요:
    • 하나 이상의 취약점을 선택하려면 각 취약점 옆의 확인란을 선택하세요.
    • 페이지의 모든 취약점을 선택하려면 테이블 머릿글의 확인란을 선택하세요.
  4. 상태 설정 드롭다운 디렉터리에서 원하는 상태를 선택하세요.
  5. 무시 상태를 선택하면 무시 사유 설정 드롭다운 디렉터리에서 원하는 이유를 선택하세요.
  6. 코멘트 추가 입력란에서 코멘트를 제공할 수 있습니다. 무시 상태인 경우 코멘트가 필요합니다.
  7. 상태 변경을 선택하세요.

선택한 취약점의 상태가 업데이트되고 취약점 보고서의 내용이 새로 고쳐집니다.

프로젝트 취약점 보고서

취약점 감지 날짜별 정렬

기본적으로 취약점은 심각도 수준에 따라 정렬되며, 가장 심각한 취약점이 가장 위에 나열됩니다.

각 취약점이 감지된 날짜별로 취약점을 정렬하려면 “감지됨” 열 머리글을 선택하세요.

취약점 세부 정보 내보내기

  • GitLab 16.8에서 CSV 내보내기에 “무시 이유” 열을 추가함

취약점 보고서에 나열된 취약점의 상세 정보를 내보낼 수 있습니다. 내보내기 형식은 CSV(쉼표로 구분된 값)입니다. 모든 취약점이 내보내기에 적용되기 때문에 필터가 적용되지 않습니다.

포함된 필드는:

  • 상태 (상태 값의 내보내기 세부 정보는 다음 표를 참조하세요.)
  • 그룹 이름
  • 프로젝트 이름
  • 도구
  • 스캐너 이름
  • 취약점
  • 기본 세부 정보
  • 추가 정보
  • 심각도
  • CVE (공통 취약점 및 노출)
  • CWE (공통 취약점 명세)
  • 기타 식별자
  • 감지 시각
  • 위치
  • 활동: 취약점이 기본 브랜치에서 해결됐으면 true를 반환하고, 그렇지 않으면 false를 반환합니다.
  • 코멘트
  • 전체 경로
  • CVSS 벡터
  • 무시 이유
note
모든 상세 정보는 작업 Artefacts API를 통해 사용할 수 있습니다. 예를 들어, 취약점이 감지된 파일의 경로를 얻으려면 *artifact_path 대신 gl-*-report.json 보고서 파일 이름 중 하나를 사용하세요.

취약점 보고서에 표시된 상태 필드 값은 취약점 내보내기에 포함된 값과 다릅니다. 이에 대한 일치시키기 위해 다음 참조 표를 사용하세요.

취약점 보고서 취약점 내보내기
검토 필요 감지됨
무시됨 무시됨
해결됨 해결됨
확인됨 확인됨

CSV 형식으로 세부 정보 내보내기

취약점 보고서에 나열된 모든 취약점의 세부 정보를 내보내려면 내보내기를 선택하세요.

세부 정보는 데이터베이스에서 검색된 후 CSV 파일이 로컬 컴퓨터에 다운로드됩니다.

note
당신의 프로젝트에 수천 개의 취약점이 포함되어 있을 경우, 다운로드가 시작되기까지 몇 분이 걸릴 수 있습니다. 다운로드가 완료될 때까지 페이지를 닫지 마세요.

매뉴얼으로 취약점 추가

  • GitLab 15.0에서 제거된 new_vulnerability_form 피처 플래그

GitLab의 취약점 데이터베이스에 없는 경우에만 매뉴얼으로 취약점을 추가할 수 있습니다. 취약점을 매뉴얼으로 추가할 수 있는 것은 프로젝트의 취약점 보고서 뿐입니다.

매뉴얼으로 취약점을 추가하려면:

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
  2. 보안 > 취약점 보고서를 선택합니다.
  3. 취약점 제출을 선택하세요.
  4. 필드를 작성하고 양식을 제출하세요.

새로 생성된 취약점의 상세 페이지가 열립니다.

취약점 그룹화

  • GitLab 16.4에서 소개된, 기본 설정은 해제된 상태인 vulnerability_report_grouping 플래그 사용
  • GitLab 16.6에서 컨트롤 센터 취약점 그룹화 플래그인 사용이 일반적으로 사용 가능해지된다. vulnerability_report_grouping 플래그 제거됨.

프로젝트 수준의 취약점 보고서에서 취약점을 그룹화하여 효율적인 검토를 가능하게 합니다. 다음으로 그룹화할 수 있습니다:

  • 상태
  • 심각도
  • 도구
  • OWASP Top 10 2017
caution
OWASP Top 10 2017에 대한 그룹화 지원은 GitLab 17.0에서 Deprecated되었으며 17.3에서 제거 예정입니다. OWASP Top 10 2021에 대한 그룹화 지원이 issue 440182에서 GitLab 17.3을 위해 제안되었습니다.

취약점 보고서에서 취약점을 그룹화하려면:

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
  2. 보안 > 취약점 보고서를 선택합니다.
  3. 그룹화 기준 드롭다운 디렉터리에서 속성을 선택하세요.

취약점은 선택한 속성에 따라 그룹화됩니다. 각 그룹은 축소되어 있으며, 그룹별 총계는 이름 옆에 표시됩니다. 각 그룹의 취약점을 보려면 그룹의 이름을 선택하세요.

운영 취약점

운영 취약점 탭은 운영 컨테이너 스캐닝에서 발견된 취약점을 나열합니다. 이 탭은 프로젝트, 그룹 및 보안 센터 취약점 보고서에 나타납니다.

운영 취약점 탭