- 취약점 보고서 보기
- 취약점 필터링
- 취약점 그룹화
- 취약점의 세부 정보 보기
- 취약점 상태 변경
- 탐지된 날짜별로 취약성 정렬
- 취약성 세부정보 내보내기
- 취약성을 수동으로 추가하기
- 운영 취약점
취약점 보고서
Offering: GitLab.com, Self-managed, GitLab Dedicated
Vulnerability Report는 기본 브랜치의 스캔에서 발견된 취약점에 대한 정보를 제공합니다. 이는 파이프라인이 성공했는지 여부에 관계없이 모든 성공적인 작업의 누적 결과를 포함합니다. 파이프라인의 스캔 결과는 파이프라인의 작업이 완료된 후 또는 파이프라인이 수동 작업으로 차단되었을 때 수집됩니다.
개요를 보려면 취약점 관리를 참조하세요.
모든 수준에서, Vulnerability Report는 다음을 포함합니다:
- 심각도 수준별 취약점 총 개수.
- 일반적인 취약점 속성에 대한 필터.
- 각 취약점의 세부 정보가 표 형식으로 표시됩니다. 일부 취약점의 경우, 세부 정보에는 기본 브랜치의 관련 파일 및 행 번호에 대한 링크가 포함됩니다.
프로젝트 수준에서, Vulnerability Report는 또한 다음을 포함합니다:
- 업데이트된 시점을 보여주는 타임스탬프와 최신 파이프라인으로의 링크.
- 가장 최근 파이프라인에서 발생한 실패의 수. 실패 알림을 선택하여 파이프라인 페이지의 실패한 작업 탭을 봅니다.
Activity 열은 해당 행의 취약점에 대해 수행된 활동이 있을 경우 아이콘으로 표시합니다:
- Issues : 취약점을 위해 생성된 이슈에 대한 링크. 자세한 내용은 취약점에 대한 GitLab 이슈 생성을 참조하세요.
- Merge requests : 취약점을 위해 생성된 병합 요청에 대한 링크. 자세한 내용은 병합 요청으로 취약점 해결을 참조하세요.
- Checked circle : 취약점이 수정되었습니다.
- False positive : 스캐너가 이 취약점을 잘못된 긍정으로 판단했습니다.
- Solution : 취약점에 대한 해결책이 제공됩니다.
취약점에 대해 생성된 이슈를 열려면 Activity 항목 위에 커서를 가져간 후 링크를 선택하세요. 이슈 아이콘 ()은 이슈의 상태를 나타냅니다. Jira issue support 가 활성화된 경우, Activity 항목에 있는 이슈 링크는 Jira의 이슈로 연결됩니다. GitLab 이슈와 달리 Jira 이슈의 상태는 GitLab UI에 표시되지 않습니다.
취약점이 다중 프로젝트 파이프라인 설정에서 발생하는 경우, 이 페이지는 선택된 프로젝트에서 발생한 취약점을 표시합니다.
취약점 보고서 보기
프로젝트 또는 그룹의 모든 취약점을 나열하기 위해 취약점 보고서를 봅니다.
필수 조건:
- 프로젝트 또는 그룹에 대해 최소한의 개발자 역할이 있어야 합니다.
취약점 보고서를 보려면:
-
왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트 또는 그룹을 찾습니다.
-
보안 > 취약점 보고서를 선택합니다.
취약점 필터링
취약점 보고서에서 취약점을 더 효율적으로 우선 정리하기 위해 필터링할 수 있습니다.
다음 기준으로 필터링할 수 있습니다:
- 상태: triage 필요, 확인, 기각, 해결. 각 상태 의미에 대한 자세한 내용은 취약점 상태 값을 참조하세요.
- 심각도: 치명적, 높음, 중간, 낮음, 정보, 알 수 없음.
- 도구: 더 많은 세부정보는 도구 필터를 참조하세요.
- 활동: 더 많은 세부정보는 활동 필터를 참조하세요.
- 프로젝트: 특정 프로젝트의 취약점을 필터링합니다 (그룹에만 사용 가능).
취약점 필터
- GitLab 16.9에서 도입된 개선 필터링, 기본적으로 비활성화되어 있습니다.
- GitLab 17.1에서 GitLab.com, Self-Managed, 및 GitLab Dedicated에서 활성화됨.
취약점 보고서를 필터링하여 특정 취약점 집합에 집중하세요.
취약점 목록을 필터링하려면:
-
왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
-
보안 > 취약점 보고서를 선택합니다.
-
선택 사항. 기본 필터를 제거하려면 삭제()를 선택합니다.
-
취약점 목록 위의 필터 바를 선택합니다.
-
나타나는 드롭다운 목록에서 필터링할 속성을 선택한 다음, 드롭다운 목록에서 값을 선택합니다.
-
필터 필드 외부를 선택합니다. 취약점 심각도 합계와 일치하는 취약점 목록이 업데이트됩니다.
-
여러 속성으로 필터링하려면 이전의 세 단계를 반복합니다. 여러 속성은 논리적 AND로 결합됩니다.
도구 필터
- GitLab 16.6에서 도입됨.
취약점을 감지한 도구로 필터링할 수 있습니다. 기본적으로 취약점 보고서는 모든 도구에서 나타나는 취약점을 나열합니다. 각 도구에 대한 자세한 내용은 보안 스캔 도구를 참조하세요.
수동 추가 속성을 사용하여 수동으로 추가된 취약점을 필터링합니다.
GitLab 17.1 이후, 도구 필터의 내용은 그룹과 프로젝트 간에 다릅니다:
- 그룹의 경우, 도구 필터는 개별 도구를 나열합니다.
- 프로젝트의 경우, 도구 필터는 스캔 카테고리별로 도구를 그룹화합니다.
GitLab 16.6에서 17.0까지, 도구 필터의 내용은 그룹과 프로젝트 간에 다릅니다:
- 그룹의 경우, 도구 필터는 개별 도구를 나열합니다.
- 프로젝트의 경우, 제3자 도구가 없으면 도구 필터는 개별 도구를 나열합니다. 제3자 도구가 있는 경우, 도구 필터는 스캔 카테고리별로 도구를 그룹화합니다.
GitLab 16.5 및 그 이전 버전에서는 도구 필터가 공급업체별로 도구를 그룹화합니다. GitLab 분석기만 활성화된 경우, 해당 분석기만 나열됩니다.
프로젝트 필터
프로젝트 필터의 내용은 현재 수준에 따라 다릅니다:
-
보안 센터: 개인 보안 센터에 추가한 프로젝트만 포함됩니다.
-
그룹 수준: 그룹 내 모든 프로젝트.
-
프로젝트 수준: 해당 없음.
활동 필터
활동 필터는 다른 필터와 다르게 동작합니다. 각 카테고리에서 하나의 값만 선택할 수 있습니다. 필터를 제거하려면 활동 필터 드롭다운 목록에서 제거할 필터를 선택합니다.
활동 필터 사용 시 선택 동작:
-
활동
- 모든 활동: 모든 활동 상태의 취약점(이 필터를 무시하는 것과 동일). 이 옵션을 선택하면 다른 모든 활동 필터 옵션이 선택 해제됩니다.
-
탐지
-
여전히 탐지됨(기본값):
default
브랜치의 최신 파이프라인 스캔에서 여전히 탐지된 취약점. -
더 이상 탐지되지 않음:
default
브랜치의 최신 파이프라인 스캔에서 더 이상 탐지되지 않는 취약점.
-
-
문제
-
문제가 있음: 하나 이상의 관련 문제를 가진 취약점.
-
문제가 없음: 관련 문제가 없는 취약점.
-
-
병합 요청
-
병합 요청 있음: 하나 이상의 관련 병합 요청이 있는 취약점.
-
병합 요청 없음: 관련 병합 요청이 없는 취약점.
-
-
해결책 이용 가능
-
해결책 있음: 이용 가능한 해결책이 있는 취약점.
-
해결책 없음: 이용 가능한 해결책이 없는 취약점.
-
취약점 그룹화
- GitLab 16.4에서 도입된 프로젝트 수준의 취약점 그룹화는
vulnerability_report_grouping
이라는 플래그와 함께 제공됩니다. 기본적으로 비활성화되어 있습니다.- GitLab 16.5에서 셀프 관리 및 GitLab Dedicated에 대해 활성화된 프로젝트 수준의 취약점 그룹화가 있습니다.
- GitLab 16.6에서 일반적으로 사용 가능한 프로젝트 수준의 취약점 그룹화. 기능 플래그
vulnerability_report_grouping
이 제거되었습니다.- GitLab 16.7에서
group_level_vulnerability_report_grouping
이라는 플래그와 함께 도입된 그룹 수준의 취약점 그룹화입니다. 기본적으로 비활성화되어 있습니다.- GitLab.com, 셀프 관리 및 GitLab Dedicated에서 GitLab 17.2에 활성화된 그룹 수준의 취약점 그룹화입니다.
- GitLab 17.3에서 일반적으로 사용 가능한 그룹 수준의 취약점 그룹화. 기능 플래그
group_level_vulnerability_report_grouping
이 제거되었습니다.- GitLab 17.4에서 일반적으로 사용 가능한 OWASP TOP 10 취약점 그룹화. 기능 플래그
vulnerability_owasp_top_10_group
이 제거되었습니다.- OWASP TOP 10 그룹의 Non-OWASP 카테고리는 GitLab 17.5에서
owasp_top_10_null_filtering
이라는 플래그와 함께 GitLab.com, 셀프 관리, GitLab Dedicated에서 기본적으로 활성화되어 있습니다.
취약점 보고서 페이지에서 취약점을 그룹화하여 보다 효율적으로 triage할 수 있습니다.
취약점을 그룹화할 수 있습니다:
- 상태
- 심각도
- 도구
- OWASP TOP 10 2017
취약점 그룹화
취약점 보고서 페이지에서 취약점을 그룹화하여 보다 효율적으로 triage할 수 있습니다.
취약점을 그룹화하려면:
-
왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트 또는 그룹을 찾습니다.
-
보안 > 취약점 보고서를 선택합니다.
-
그룹별 드롭다운 목록에서 그룹을 선택합니다.
취약점은 선택한 그룹에 따라 그룹화됩니다. 각 그룹은 축소되어 있으며, 그룹당 총 취약점 수가 그 이름 옆에 표시됩니다. 각 그룹의 취약점을 보려면 그룹의 이름을 선택합니다.
취약점의 세부 정보 보기
취약점의 자세한 내용을 보려면 취약점의 설명을 선택합니다.
취약점의 세부정보 페이지가 열립니다.
취약점 상태 변경
- 설명 및 기각 사유 제공이 GitLab 16.0에서 도입되었습니다.
취약점을 triage할 때 취약점의 상태를 변경할 수 있으며, 여기에는 취약점 기각이 포함됩니다.
취약점이 기각되면 감사 로그에 누가 기각했는지, 언제 기각했는지, 기각 사유가 포함됩니다. 취약점 기록을 삭제할 수 없으므로 항상 영구적인 기록이 남습니다.
전제 조건:
- 프로젝트에 대해 최소한 Maintainer 역할을 가져야 합니다.
admin_vulnerability
권한은 GitLab 17.0에서 Developer 역할에서 제거되었습니다.
취약점의 상태를 변경하려면:
-
왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
-
보안 > 취약점 보고서를 선택합니다.
- 선택하려면:
- 하나 이상의 취약점을 선택하고 각 취약점 옆의 체크박스를 선택합니다.
- 페이지의 모든 취약점을 선택하려면 표 헤더의 체크박스를 선택합니다.
-
상태 설정 드롭다운 목록에서 원하는 상태를 선택합니다.
-
기각 상태가 선택된 경우 기각 사유 설정 드롭다운 목록에서 원하는 사유를 선택합니다.
-
댓글 추가 입력란에 댓글을 제공할 수 있습니다. 기각 상태에서는 댓글이 필수입니다.
- 상태 변경을 선택합니다.
선택한 취약점의 상태가 업데이트되고 취약점 보고서의 내용이 새로 고쳐집니다.
해결된 취약성 업데이트
머지 요청으로 취약성이 해결되면, 여전히 취약성 보고서에 나타납니다.
취약성을 업데이트하려면:
-
해결된 취약성이 더 이상 탐지되지 않음 상태인지 확인합니다. 취약성의 상태는 활동 필터 및 취약성 기록에 표시됩니다.
-
취약성의 상태를 해결됨으로 변경합니다.
탐지된 날짜별로 취약성 정렬
기본적으로 취약성은 심각도 수준에 따라 정렬되며, 가장 높은 심각도의 취약성이 상단에 나열됩니다.
각 취약성이 탐지된 날짜별로 정렬하려면 “탐지됨” 열 머리글을 선택합니다.
취약성 세부정보 내보내기
- GitLab 16.8에서 도입된 CSV 내보내기에 “기각 사유”를 열로 추가했습니다. 소개됨.
취약성 보고서에 나열된 취약성의 세부정보를 내보낼 수 있습니다. 내보내기 형식은 CSV(쉼표로 구분된 값)입니다. 모든 취약성이 포함되며 필터는 내보내기에 적용되지 않습니다.
포함된 필드는 다음과 같습니다:
- 상태 (상태 값이 어떻게 내보내지는지에 대한 자세한 내용은 다음 표를 참조하세요.)
- 그룹 이름
- 프로젝트 이름
- 도구
- 스캐너 이름
- 취약성
- 기본 세부정보
- 추가 정보
- 심각도
- CVE (공통 취약점 및 노출)
- CWE (공통 약점 열거)
- 기타 식별자
- 탐지된 일시
- 위치
- 활동: 기본 브랜치에서 취약성이 해결되면
true
를 반환하고, 그렇지 않으면false
를 반환합니다. - 댓글
- 전체 경로
- CVSS 벡터
- 기각 사유
참고:
전체 세부정보는 Job Artifacts API를 통해 확인할 수 있습니다.
*artifact_path
자리에 gl-*-report.json
보고서 파일 이름 중 하나를 사용하여, 예를 들어 취약성이 탐지된 파일의 경로를 얻을 수 있습니다.
취약성 보고서에 표시된 상태 필드의 값은 내보내기된 취약성의 값과 다릅니다. 아래 참조 표를 사용하여 값을 일치시킵니다.
취약성 보고서 | 취약성 내보내기 |
---|---|
분류 필요 | 탐지됨 |
기각됨 | 기각됨 |
해결됨 | 해결됨 |
확인됨 | 확인됨 |
CSV 형식으로 세부정보 내보내기
취약성 보고서에 나열된 모든 취약성의 세부정보를 내보내려면 내보내기를 선택합니다.
세부정보는 데이터베이스에서 검색된 후 CSV 파일이 로컬 컴퓨터로 다운로드됩니다.
참고:
귀하의 프로젝트에 수천 개의 취약성이 포함되어 있는 경우 다운로드가 시작되기까지 몇 분이 걸릴 수 있습니다. 다운로드가 완료될 때까지 페이지를 닫지 마세요.
일부 CSV 리더는 행 수 또는 열 크기에 제한이 있어 대형 내보내기와 호환되지 않을 수 있습니다. 취약성 내보내기는 개별 프로그램의 제한을 고려하지 않습니다.
취약성을 수동으로 추가하기
- GitLab 15.0에서 제거된 기능 플래그
new_vulnerability_form
.
GitLab 취약성 데이터베이스에 없는 경우 취약성을 수동으로 추가할 수 있습니다.
프로젝트의 취약성 보고서에서만 취약성을 추가할 수 있습니다.
취약성을 수동으로 추가하려면:
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
- 보안 > 취약성 보고서를 선택합니다.
- 취약성 제출을 선택합니다.
- 필드를 완료하고 양식을 제출합니다.
새로 생성된 취약성 세부정보 페이지가 열립니다.
운영 취약점
운영 취약점 탭은 운영 컨테이너 스캐닝에서 발견된 취약점을 나열합니다.
이 탭은 프로젝트, 그룹 및 보안 센터 취약점 보고서에 나타납니다.