InfoGrab DocsInfoGrab Docs

취약점 심각도 수준

요약

GitLab 취약점 분석기는 가능한 경우 언제나 취약점 심각도 수준 값을 반환하려고 합니다. GitLab 분석기는 아래 심각도 설명에 맞추려고 하지만 항상 정확하지는 않을 수 있습니다. 치명적 심각도로 식별된 취약점은 즉시 조사해야 합니다.

GitLab 취약점 분석기는 가능한 경우 언제나 취약점 심각도 수준 값을 반환하려고 합니다. 다음은 GitLab 이 제공하는 취약점 심각도 수준을 가장 심각한 것부터 순서대로 나열한 목록입니다.

  • Critical
  • High
  • Medium
  • Low
  • Info
  • Unknown

GitLab 분석기는 아래 심각도 설명에 맞추려고 하지만 항상 정확하지는 않을 수 있습니다. 서드파티 공급업체가 제공하는 분석기와 스캐너는 같은 분류를 따르지 않을 수 있습니다.

치명적(Critical) 심각도#

치명적 심각도로 식별된 취약점은 즉시 조사해야 합니다. 이 수준의 취약점은 결함을 악용하면 시스템 또는 데이터 전체가 침해될 수 있다고 전제합니다. 치명적 심각도 결함의 예로는 명령/코드 인젝션과 SQL 인젝션이 있습니다. 일반적으로 이러한 결함은 CVSS 4.0 점수 9.0에서 10.0 사이로 평가됩니다.

높음(High) 심각도#

높음 심각도 취약점은 공격자가 애플리케이션 리소스에 접근하거나 데이터가 의도치 않게 노출될 수 있는 결함입니다. 높음 심각도 결함의 예로는 외부 XML 엔티티 인젝션(XXE), 서버 측 요청 위조(SSRF), 로컬 파일 포함, 경로 탐색, 그리고 일부 형태의 크로스 사이트 스크립팅(XSS)이 있습니다. 일반적으로 이러한 결함은 CVSS 4.0 점수 7.0에서 8.9 사이로 평가됩니다.

중간(Medium) 심각도#

중간 심각도 취약점은 대개 시스템의 잘못된 구성이나 보안 통제 부재에서 발생합니다. 이러한 취약점을 악용하면 제한된 범위의 데이터에 접근할 수 있고, 다른 결함과 결합하여 시스템이나 리소스에 의도치 않게 접근하는 데 쓰일 수도 있습니다. 중간 심각도 결함의 예로는 반사형 XSS, 잘못된 HTTP 세션 처리, 보안 통제 누락이 있습니다. 일반적으로 이러한 결함은 CVSS 4.0 점수 4.0에서 6.9 사이로 평가됩니다.

낮음(Low) 심각도#

낮음 심각도 취약점은 직접 악용되지는 않더라도 애플리케이션이나 시스템에 불필요한 약점을 만드는 결함을 말합니다. 이러한 결함은 대개 보안 통제 누락이나 애플리케이션 환경에 대한 불필요한 정보 노출에서 비롯됩니다. 낮음 심각도 취약점의 예로는 쿠키 보안 지시자 누락과 지나치게 상세한 오류 또는 예외 메시지가 있습니다. 일반적으로 이러한 결함은 CVSS 4.0 점수 0.1에서 3.9 사이로 평가됩니다.

정보(Info) 심각도#

정보 수준 심각도 취약점은 가치 있는 정보를 담고 있을 수 있지만 특정 결함이나 약점과 반드시 연관되지는 않습니다. 일반적으로 이러한 이슈에는 CVSS 등급이 없습니다.

알 수 없음(Unknown) 심각도#

이 수준으로 식별된 이슈는 심각도를 명확히 판단할 만한 컨텍스트가 충분하지 않습니다.

GitLab 취약점 분석기에는 널리 쓰이는 오픈 소스 스캔 도구가 포함되어 있습니다. 각 오픈 소스 스캔 도구는 자체 기본 취약점 심각도 수준 값을 제공합니다. 이 값은 다음 중 하나입니다.

기본 취약점 심각도 수준 유형 예시
문자열 WARNING, ERROR, Critical, Negligible
정수 1, 2, 5
CVSS v2.0 등급 (AV:N/AC:L/Au:S/C:P/I:P/A:N)
CVSS v3.1 정성적 심각도 등급 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
CVSS v4.0 정성적 심각도 등급 CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

일관된 취약점 심각도 수준 값을 제공하기 위해 GitLab 취약점 분석기는 위 값을 다음 표와 같이 표준화된 GitLab 취약점 심각도 수준으로 변환합니다.

컨테이너 스캔#

GitLab 분석기 심각도 수준 출력 여부 기본 심각도 수준 유형 기본 심각도 수준 예시
container-scanning ✅ 문자열 Unknown, Low, Medium, High, Critical

공급업체 심각도 수준을 사용할 수 있으면 그 값이 우선하며 분석기가 이를 사용합니다. 사용할 수 없으면 CVSS v4.0 등급을 사용합니다. 이 역시 없으면 CVSS v3.1 등급을 사용하고, 그것도 없으면 CVSS v2.0 등급을 사용합니다.

동적 애플리케이션 보안 테스팅(DAST)#

GitLab 분석기 심각도 수준 출력 여부 기본 심각도 수준 유형 기본 심각도 수준 예시
브라우저 기반 DAST ✅ 문자열 HIGH, MEDIUM, LOW, INFO

API 보안 테스팅#

GitLab 분석기 심각도 수준 출력 여부 기본 심각도 수준 유형 기본 심각도 수준 예시
API 보안 테스팅 ✅ 문자열 HIGH, MEDIUM, LOW

의존성 스캔#

GitLab 분석기 심각도 수준 출력 여부 기본 심각도 수준 유형 기본 심각도 수준 예시
gemnasium ✅ CVSS v2.0 등급, CVSS v3.1 정성적 심각도 등급 1, CVSS v4.0 정성적 심각도 등급 1 (AV:N/AC:L/Au:S/C:P/I:P/A:N), CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H, CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

심각도 수준 계산에는 CVSS v4.0 등급을 사용합니다. 사용할 수 없으면 CVSS v3.1 등급을 사용하고, 그것도 없으면 CVSS v2.0 등급을 사용합니다.

퍼즈 테스팅#

모든 퍼즈 테스팅 결과는 알 수 없음 심각도로 보고됩니다. 수정 우선순위를 정할 수 있도록 악용 가능한 결함을 직접 검토하고 분류해야 합니다.

정적 애플리케이션 보안 테스팅(SAST)#

GitLab 분석기 심각도 수준 출력 여부 기본 심각도 수준 유형 기본 심각도 수준 예시
kubesec ✅ 문자열 CriticalSeverity, InfoSeverity
pmd-apex ✅ 정수 1, 2, 3, 4, 5
semgrep ✅ 문자열 error, warning, note, none
sobelow ✅ 해당 없음 모든 심각도 수준을 Unknown으로 하드코딩합니다
SpotBugs ✅ 정수 1, 2, 3, 11, 12, 18

코드형 인프라(IaC) 스캔#

GitLab 분석기 심각도 수준 출력 여부 기본 심각도 수준 유형 기본 심각도 수준 예시
kics ✅ 문자열 error, warning, note, none(분석기 버전 3.7.0 이상에서 info로 매핑됩니다)

KICS(Keeping Infrastructure as Code Secure) 심각도 매핑#

KICS 분석기는 출력을 Static Analysis Results Interchange Format(SARIF) 심각도로 매핑하고, 이 값은 다시 GitLab 심각도로 매핑됩니다. GitLab 취약점 보고서에 표시되는 심각도는 아래 표에서 확인합니다.

KICS 심각도 KICS SARIF 심각도 GitLab 심각도
CRITICAL error Critical
HIGH error Critical
MEDIUM warning Medium
LOW note Info
INFO none Info
invalid none Info

KICS와 GitLab은 모두 높음 심각도를 정의하지만 SARIF에는 그 등급이 없으므로, KICS의 높음 심각도 취약점은 GitLab에서 치명적 심각도로 매핑됩니다.

GitLab 매핑 소스 코드입니다.

시크릿 탐지#

GitLab secrets 분석기는 모든 심각도 수준을 치명적으로 하드코딩합니다. 더 세분화된 심각도 등급은 에픽 10320에서 제안되어 있습니다.

취약점 심각도 수준

GitLab v19.5
Tier: Ultimate
Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
원문 보기

요약

GitLab 취약점 분석기는 가능한 경우 언제나 취약점 심각도 수준 값을 반환하려고 합니다. GitLab 분석기는 아래 심각도 설명에 맞추려고 하지만 항상 정확하지는 않을 수 있습니다. 치명적 심각도로 식별된 취약점은 즉시 조사해야 합니다.

GitLab 취약점 분석기는 가능한 경우 언제나 취약점 심각도 수준 값을 반환하려고 합니다. 다음은 GitLab 이 제공하는 취약점 심각도 수준을 가장 심각한 것부터 순서대로 나열한 목록입니다.

  • Critical
  • High
  • Medium
  • Low
  • Info
  • Unknown

GitLab 분석기는 아래 심각도 설명에 맞추려고 하지만 항상 정확하지는 않을 수 있습니다. 서드파티 공급업체가 제공하는 분석기와 스캐너는 같은 분류를 따르지 않을 수 있습니다.

치명적(Critical) 심각도#

치명적 심각도로 식별된 취약점은 즉시 조사해야 합니다. 이 수준의 취약점은 결함을 악용하면 시스템 또는 데이터 전체가 침해될 수 있다고 전제합니다. 치명적 심각도 결함의 예로는 명령/코드 인젝션과 SQL 인젝션이 있습니다. 일반적으로 이러한 결함은 CVSS 4.0 점수 9.0에서 10.0 사이로 평가됩니다.

높음(High) 심각도#

높음 심각도 취약점은 공격자가 애플리케이션 리소스에 접근하거나 데이터가 의도치 않게 노출될 수 있는 결함입니다. 높음 심각도 결함의 예로는 외부 XML 엔티티 인젝션(XXE), 서버 측 요청 위조(SSRF), 로컬 파일 포함, 경로 탐색, 그리고 일부 형태의 크로스 사이트 스크립팅(XSS)이 있습니다. 일반적으로 이러한 결함은 CVSS 4.0 점수 7.0에서 8.9 사이로 평가됩니다.

중간(Medium) 심각도#

중간 심각도 취약점은 대개 시스템의 잘못된 구성이나 보안 통제 부재에서 발생합니다. 이러한 취약점을 악용하면 제한된 범위의 데이터에 접근할 수 있고, 다른 결함과 결합하여 시스템이나 리소스에 의도치 않게 접근하는 데 쓰일 수도 있습니다. 중간 심각도 결함의 예로는 반사형 XSS, 잘못된 HTTP 세션 처리, 보안 통제 누락이 있습니다. 일반적으로 이러한 결함은 CVSS 4.0 점수 4.0에서 6.9 사이로 평가됩니다.

낮음(Low) 심각도#

낮음 심각도 취약점은 직접 악용되지는 않더라도 애플리케이션이나 시스템에 불필요한 약점을 만드는 결함을 말합니다. 이러한 결함은 대개 보안 통제 누락이나 애플리케이션 환경에 대한 불필요한 정보 노출에서 비롯됩니다. 낮음 심각도 취약점의 예로는 쿠키 보안 지시자 누락과 지나치게 상세한 오류 또는 예외 메시지가 있습니다. 일반적으로 이러한 결함은 CVSS 4.0 점수 0.1에서 3.9 사이로 평가됩니다.

정보(Info) 심각도#

정보 수준 심각도 취약점은 가치 있는 정보를 담고 있을 수 있지만 특정 결함이나 약점과 반드시 연관되지는 않습니다. 일반적으로 이러한 이슈에는 CVSS 등급이 없습니다.

알 수 없음(Unknown) 심각도#

이 수준으로 식별된 이슈는 심각도를 명확히 판단할 만한 컨텍스트가 충분하지 않습니다.

GitLab 취약점 분석기에는 널리 쓰이는 오픈 소스 스캔 도구가 포함되어 있습니다. 각 오픈 소스 스캔 도구는 자체 기본 취약점 심각도 수준 값을 제공합니다. 이 값은 다음 중 하나입니다.

기본 취약점 심각도 수준 유형 예시
문자열 WARNING, ERROR, Critical, Negligible
정수 1, 2, 5
CVSS v2.0 등급 (AV:N/AC:L/Au:S/C:P/I:P/A:N)
CVSS v3.1 정성적 심각도 등급 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
CVSS v4.0 정성적 심각도 등급 CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

일관된 취약점 심각도 수준 값을 제공하기 위해 GitLab 취약점 분석기는 위 값을 다음 표와 같이 표준화된 GitLab 취약점 심각도 수준으로 변환합니다.

컨테이너 스캔#

GitLab 분석기 심각도 수준 출력 여부 기본 심각도 수준 유형 기본 심각도 수준 예시
container-scanning ✅ 문자열 Unknown, Low, Medium, High, Critical

공급업체 심각도 수준을 사용할 수 있으면 그 값이 우선하며 분석기가 이를 사용합니다. 사용할 수 없으면 CVSS v4.0 등급을 사용합니다. 이 역시 없으면 CVSS v3.1 등급을 사용하고, 그것도 없으면 CVSS v2.0 등급을 사용합니다.

동적 애플리케이션 보안 테스팅(DAST)#

GitLab 분석기 심각도 수준 출력 여부 기본 심각도 수준 유형 기본 심각도 수준 예시
브라우저 기반 DAST ✅ 문자열 HIGH, MEDIUM, LOW, INFO

API 보안 테스팅#

GitLab 분석기 심각도 수준 출력 여부 기본 심각도 수준 유형 기본 심각도 수준 예시
API 보안 테스팅 ✅ 문자열 HIGH, MEDIUM, LOW

의존성 스캔#

GitLab 분석기 심각도 수준 출력 여부 기본 심각도 수준 유형 기본 심각도 수준 예시
gemnasium ✅ CVSS v2.0 등급, CVSS v3.1 정성적 심각도 등급 1, CVSS v4.0 정성적 심각도 등급 1 (AV:N/AC:L/Au:S/C:P/I:P/A:N), CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H, CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

심각도 수준 계산에는 CVSS v4.0 등급을 사용합니다. 사용할 수 없으면 CVSS v3.1 등급을 사용하고, 그것도 없으면 CVSS v2.0 등급을 사용합니다.

퍼즈 테스팅#

모든 퍼즈 테스팅 결과는 알 수 없음 심각도로 보고됩니다. 수정 우선순위를 정할 수 있도록 악용 가능한 결함을 직접 검토하고 분류해야 합니다.

정적 애플리케이션 보안 테스팅(SAST)#

GitLab 분석기 심각도 수준 출력 여부 기본 심각도 수준 유형 기본 심각도 수준 예시
kubesec ✅ 문자열 CriticalSeverity, InfoSeverity
pmd-apex ✅ 정수 1, 2, 3, 4, 5
semgrep ✅ 문자열 error, warning, note, none
sobelow ✅ 해당 없음 모든 심각도 수준을 Unknown으로 하드코딩합니다
SpotBugs ✅ 정수 1, 2, 3, 11, 12, 18

코드형 인프라(IaC) 스캔#

GitLab 분석기 심각도 수준 출력 여부 기본 심각도 수준 유형 기본 심각도 수준 예시
kics ✅ 문자열 error, warning, note, none(분석기 버전 3.7.0 이상에서 info로 매핑됩니다)

KICS(Keeping Infrastructure as Code Secure) 심각도 매핑#

KICS 분석기는 출력을 Static Analysis Results Interchange Format(SARIF) 심각도로 매핑하고, 이 값은 다시 GitLab 심각도로 매핑됩니다. GitLab 취약점 보고서에 표시되는 심각도는 아래 표에서 확인합니다.

KICS 심각도 KICS SARIF 심각도 GitLab 심각도
CRITICAL error Critical
HIGH error Critical
MEDIUM warning Medium
LOW note Info
INFO none Info
invalid none Info

KICS와 GitLab은 모두 높음 심각도를 정의하지만 SARIF에는 그 등급이 없으므로, KICS의 높음 심각도 취약점은 GitLab에서 치명적 심각도로 매핑됩니다.

GitLab 매핑 소스 코드입니다.

시크릿 탐지#

GitLab secrets 분석기는 모든 심각도 수준을 치명적으로 하드코딩합니다. 더 세분화된 심각도 등급은 에픽 10320에서 제안되어 있습니다.