취약점 보고서

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

취약점 보고서는 기본 브랜치의 스캔으로부터의 취약점에 관한 정보를 제공합니다. 이 보고서에는 파이프라인이 성공했는지 여부에 상관없이 모든 성공적인 작업의 누적 결과가 포함되어 있습니다. 파이프라인의 작업이 완료된 후에 또는 파이프라인이 수동 작업에 의해 차단된 경우 파이프라인에서의 스캔 결과가 흡수됩니다.

개요는 취약점 관리를 참조하세요.

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

  • 심각도 수준별 취약점 총계.
  • 일반적인 취약점 속성에 대한 필터.
  • 표 형식으로 제시된 각 취약점의 세부 정보.

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

  • 최신 파이프라인으로 업데이트된 타임 스탬프와 해당 파이프라인으로 이동하는 링크.
  • 가장 최근 파이프라인에서 발생한 실패 횟수. 오류 알림을 선택하여 파이프라인 페이지의 실패한 작업 탭을 볼 수 있습니다.

활동 열에는 해당 행에서 취한 활동(있는 경우)을 나타내는 아이콘이 포함되어 있습니다:

  • 이슈 : 취약점에 대해 생성된 이슈로 연결되는 링크. 자세한 내용은 취약점을 위한 GitLab 이슈 생성를 참조하세요.
  • 렌치 : 취약점이 해결되었습니다.
  • 잘못된 긍정 : 스캐너가 이 취약점을 잘못된 긍정으로 판단했습니다.

취약점에 대한 생성된 이슈를 열려면 활동 항목 위로 마우스를 가져가고 링크를 선택하세요. 이슈 아이콘()은 이슈의 상태를 나타냅니다. Jira 이슈 지원이 활성화되어 있는 경우 활동 항목에있는 이슈 링크는 Jira의 이슈로 연결됩니다. GitLab 이슈와는 달리 Jira 이슈의 상태는 GitLab UI에 표시되지 않습니다.

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

취약점이 다중 프로젝트 파이프라인 설정에서 발생하는 경우, 이 페이지에는 해당 프로젝트에서 발생한 취약점이 표시됩니다.

취약점 보고서 보기

프로젝트 또는 그룹에서 프로젝트의 모든 취약점을 나열하려면 취약점 보고서를 보세요.

필수 조건:

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

취약점 보고서를 보려면:

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

취약점 보고서 필터

특정 기준과 일치하는 취약점에만 초점을 맞추도록 취약점 보고서를 필터링할 수 있습니다.

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

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

그 외에도 그룹 수준에서 프로젝트 필터가 사용 가능합니다.

취약점 목록 필터링

취약점 목록을 필터링하려면:

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
  2. 보안 > 취약점 보고서를 선택합니다.
  3. 필터를 선택합니다.
  4. 드롭다운 목록에서 값을 선택합니다.
  5. 각 원하는 필터에 대해 위의 단계를 반복합니다.

각 필터를 선택하면:

  • 일치하는 취약점 목록이 업데이트됩니다.
  • 취약점 심각도 총계가 업데이트됩니다.

도구 필터

  • GitLab 16.6에 도입된 프로젝트 수준 도구 필터.

도구로 감지된 취약점으로 필터링할 수 있습니다. 기본적으로 취약점 보고서에서는 모든 도구의 취약점이 나열됩니다. 헤딩을 선택하면 해당 헤딩에 속한 모든 도구가 선택됩니다.

GitLab 16.6 이상

프로젝트 및 그룹의 도구 필터 내용은 다음에 따라 달라집니다:

  • 서드 파티 분석기를 통합하고 활성화한 경우, 도구 필터는 스캔 범주(예: 컨테이너 스캔, DAST 및 종속성 스캔)별로 그룹화됩니다. 스캐너 항목은 스캐너가 취약점을 감지한 경우에만 표시됩니다.
  • 만약 서드 파티 분석기를 통합하지 않았다면 GitLab 16.5 및 이전을 참조하세요.
GitLab 16.5 및 이전

모든 수준에서 도구 필터 내용은 먼저 분석기의 공급업체로 그룹화되고, 그 다음 스캔 범주로 나뉩니다. GitLab 분석기만 활성화된 경우, 도구 필터에는 해당 분석기만 나열됩니다.

수동으로 추가된 취약점을 필터링하려면 수동으로 추가됨 필터를 사용하세요.

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

프로젝트 필터

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

  • 보안 센터: 개인 보안 센터에 추가한 프로젝트만 표시됩니다.(보안 센터에 추가).
  • 그룹 레벨: 그룹 내 모든 프로젝트가 표시됩니다.
  • 프로젝트 레벨: 해당사항 없음.

활동 필터

  • GitLab 16.7에서 활성화된 activity_filter_has_remediations 플래그로 소개되었습니다. 기본적으로 비활성화됩니다.
  • GitLab 16.9에서 일반적으로 제공됩니다. activity_filter_has_remediations 기능 플래그가 제거되었습니다.

활동 필터는 다른 필터와는 다르게 작동합니다. 각 범주에서 하나의 값을 선택할 수 있습니다. 필터를 제거하려면 활동 필터 드롭다운 목록에서 제거하려는 필터를 선택하세요.

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

  • 활동
    • 모든 활동: 모든 활동 상태의 취약점(이 필터를 무시하는 것과 동일함)를 선택합니다. 이를 선택하면 다른 활동 필터 옵션을 모두 선택 해제합니다.
  • 감지
    • 아직 감지됨 (기본값): default 브랜치의 최신 파이프라인 스캔에서 아직 감지된 취약점을 표시합니다.
    • 더 이상 감지되지 않음: default 브랜치의 최신 파이프라인 스캔에서 더 이상 감지되지 않은 취약점을 표시합니다.
  • 이슈
    • 이슈가 있음: 하나 이상의 관련된 이슈가 있는 취약점을 표시합니다.
    • 이슈가 없음: 관련된 이슈가 없는 취약점을 표시합니다.
  • 병합 요청
    • 병합 요청이 있음: 하나 이상의 관련된 병합 요청이 있는 취약점을 표시합니다.
    • 병합 요청이 없음: 관련된 병합 요청이 없는 취약점을 표시합니다.
  • 해결 방법 사용 가능
    • 해결 방법이 있음: 사용 가능한 해결 방법이 있는 취약점을 표시합니다.
    • 해결 방법이 없음: 사용 가능한 해결 방법이 없는 취약점을 표시합니다.

취약점의 세부 정보 보기

취약점의 Description을 선택하여 취약점의 세부 정보를 더 보세요. 취약점의 세부 정보 페이지가 열립니다.(취약점 세부 정보 페이지입니다).

취약한 원본 위치 보기

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

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

취약점 상태 변경

  • GitLab 16.0에서 도입된 코멘트 및 해결 이유 제공

취약점을 트리지할 때 취약점의 상태를 변경할 수 있으며, 취약점을 포함하여 상태를 변경할 수 있습니다.

취약점이 해결되면 감사 로그에 해결한 사람, 해결 날짜 및 해결 이유가 포함됩니다. 취약점 레코드를 삭제할 수 없으므로 영구적인 레코드가 항상 남아 있습니다.

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

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

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

프로젝트 취약점 보고서

감지된 날짜별로 취약점 정렬

기본적으로 취약점은 심각도 수준별로 정렬되어 있으며, 가장 심각도 높은 취약점이 상단에 나열됩니다.

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

취약점 세부 정보 내보내기

  • CSV 내보내기에 “기각 이유” 열이 추가되었습니다.

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

포함된 필드는 다음과 같습니다:

  • 상태(상태 값이 내보내기되는 방식에 대한 자세한 내용은 아래 표를 참조하세요.)
  • 그룹 이름
  • 프로젝트 이름
  • 도구
  • 스캐너 이름
  • 취약점
  • 기본 세부 정보
  • 추가 정보
  • 심각도
  • CVE (공통 취약점 및 노출)
  • CWE (공통 취약점 열거)
  • 다른 식별자
  • 감지된 날짜
  • 위치
  • 활동: 취약점이 기본 브랜치에서 해결된 경우 true(활성화)를 반환하고, 그렇지 않으면 false(비활성화)를 반환합니다.
  • 코멘트
  • 전체 경로
  • CVSS 벡터
  • 기각 이유

참고: 전체 세부 정보는 저희의 작업 아티팩트 API를 통해 이용할 수 있습니다. *artifact_path 자리에 사용 가능한 gl-*-report.json 보고서 파일 이름 중 하나를 넣어 해당 위치에서 감지된 파일의 경로를 얻을 수 있습니다.

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

취약점 보고서 취약점 내보내기
트리지 필요 감지됨
기각 기각됨
해결 해결됨
확인된 확인됨

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

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

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

참고: 수천 개의 취약점이 있는 경우 다운로드가 시작되기까지 몇 분이 걸릴 수 있습니다. 다운로드가 완료될 때까지 페이지를 닫지 마세요.

수동으로 취약점 추가

GitLab의 취약점 데이터베이스에 없을 때 취약점을 수동으로 추가할 수 있습니다. 프로젝트의 취약점 보고서에서만 취약점을 추가할 수 있습니다.

취약점을 수동으로 추가하려면:

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

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

취약점 그룹화

프로젝트 수준의 취약점 보고서에서 취약점을 그룹화하여 효율적인 트리지팅이 가능합니다.

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

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

선택한 속성에 따라 취약점이 그룹화됩니다. 각 그룹은 축소되어 있으며 그룹 이름 옆에 그룹 당 총계가 표시됩니다. 각 그룹의 취약점을 보려면 해당 그룹의 이름을 선택합니다.

운영상 취약점

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

운영상 취약점 탭