취약점 대응 기한과 VEX
이 페이지는 CVSS 심각도별 대응 기한의 정본입니다. 프로세스·취약점 챕터에서 대응 기한을 다룰 때는 이 표를 기준으로 하고 본문은 여기로 링크합니다.
CVSS(Common Vulnerability Scoring System)는 취약점의 심각도를 0~10 사이 숫자로 표현합니다. 이 점수를 기준으로 대응 기한을 차등 적용해 한정된 리소스를 효율적으로 씁니다.
CVSS 심각도별 대응 기한
Critical과 High 기한은 OpenChain KWG 가이드 기준선이고, Medium과 Low는 KWG 가이드가 기한을 정의하지 않아 trustedoss 권고입니다.
| 심각도 | CVSS 점수 | 대응 기한 | 기준 출처 | 조치 |
|---|---|---|---|---|
| Critical | 9.0~10.0 | 1주일 내 | KWG 기준선 | 즉시 패치 또는 사용 중단 |
| High | 7.0~8.9 | 4주일 내 | KWG 기준선 | 우선 패치 계획 수립 |
| Medium | 4.0~6.9 | 1개월 내 | trustedoss 권고 | 다음 릴리즈에 포함 |
| Low | 0.1~3.9 | 다음 릴리즈 | trustedoss 권고 | 백로그 등록 |
위 기한 중 Critical과 High는 KWG 기준선입니다. 리스크 프로파일이 높은 조직(금융, 인프라, 외부 납품 등)은 더 엄격한 내부 SLA를 적용할 수 있습니다.
예: Critical 24시간 내 / High 1주일 내 — 즉시 패치 또는 서비스 중단 검토. 내부 SLA를 정했다면 output/process/vulnerability-response.md에 명시하고 그 기한을 우선 적용합니다.
CVSS 점수가 없는 CVE는 어떻게 다루는가
NIST는 2026-04-15부터 NVD(National Vulnerability Database) 보강(enrichment) 작업을 위험 기반으로 전환했습니다. CISA KEV(Known Exploited Vulnerabilities) 카탈로그 등재, 연방정부 사용 소프트웨어, EO 14028이 정의한 중요 소프트웨어에 해당하는 CVE만 우선 보강하고, 그 외는 "Not Scheduled"(보강 일정 없음)로 분류합니다. 위 CVSS 표는 점수가 있다는 전제로 만들어졌으므로, 점수 자체가 없는 CVE가 계속 늘어나는 지금은 아래 두 지표로 보완합니다.
| 지표 | 의미 | 우선순위에 쓰는 법 |
|---|---|---|
| KEV | CISA가 실제 악용을 확인해 등재한 취약점 목록 | 등재돼 있으면 CVSS 점수와 무관하게 Critical/High 수준으로 취급 |
| EPSS | 향후 30일 내 악용될 확률을 점수로 낸 예측 모델 | 점수가 높으면(예: 0.1 이상) 대응 우선순위를 한 단계 올림 |
CVSS 점수가 없는 CVE라도 KEV에 등재돼 있거나 EPSS 점수가 높으면 방치하지 말고 위 CVSS 기반 표의 상위 등급에 준해 대응하세요. NVD를 보완하는 대안 데이터베이스로 ENISA가 운영하는 EUVD(European Union Vulnerability Database)와 GNA(GCVE Numbering Authority) 연합이 운영하는 GCVE(Global CVE, db.gcve.eu)도 있습니다. 두 곳 모두 CVE 식별자와 상호 참조되므로 기존 워크플로에 큰 변경 없이 추가로 조회할 수 있습니다.
VEX — 영향받지 않는 CVE를 걸러내기
SBOM의 컴포넌트에 알려진 CVE가 있어도, 실제 제품이 그 취약점에 영향받지 않는 경우가 많습니다(취약한 함수를 호출하지 않음, 해당 기능 미사용 등). 모든 CVE를 동일하게 다루면 대응 노이즈가 커집니다.
VEX(Vulnerability Exploitability eXchange) 는 각 CVE에 대해 "이 제품이 실제로 영향받는가"를 명시하는 표준 산출물입니다. 영향 없음을 근거와 함께 선언하면, 대응이 필요한 취약점에만 집중할 수 있습니다.
주요 상태값:
| 상태 | 의미 |
|---|---|
not_affected | 영향받지 않음 (근거 필수) — 대응 불필요 |
affected | 영향받음 — 대응 기한 내 조치 필요 |
fixed | 이미 수정된 버전 사용 중 |
under_investigation | 영향 여부 조사 중 |
VEX는 CycloneDX(vulnerabilities 필드)나 OpenVEX, CSAF, SPDX 3.0(관계 기반 표현) 형식으로
표현하며, SBOM과 함께 공급망에 전달합니다.
위 네 형식 모두 실제로 쓰이고 있고, 어느 하나가 표준으로 자리 잡지는 않았습니다.
납품처가 형식을 지정하면 그대로 따르고, 지정이 없다면 이미 CycloneDX SBOM을 쓰고
있으니 같은 CycloneDX vulnerabilities 필드로 시작하는 것이 도구 연계가 가장 쉽습니다.
이 기준은 ISO/IEC 18974 §4.3.2 (취약점 식별·평가·대응) 요구사항의 기반 지식입니다.
EU CRA 취약점·사고 보고 의무: 위 SLA와 별개의 규제 기한
위 CVSS 기반 대응 기한은 패치를 언제 끝내는가에 대한 내부 SLA입니다. EU Cyber Resilience Act(CRA, Regulation (EU) 2024/2847)는 이와 별개로, 유효성 확인된 사실을 당국에 언제까지 신고하는가를 정하는 규제 의무입니다. 두 기한을 혼동하면 안 됩니다. 예를 들어 Critical 취약점의 내부 패치 SLA가 1주일이어도, 그 취약점이 실제로 악용되고 있다면 신고는 24시간 안에 끝내야 합니다.
이 의무는 EU 시장에 디지털 요소가 있는 제품을 출시하는 제조사에게만 적용됩니다. 내수용 소프트웨어만 만든다면 해당하지 않습니다. 자사가 CRA 적용 대상인지는 법무팀과 반드시 확인하세요.
| 단계 | 기한 | 신고 대상 |
|---|---|---|
| 조기 경보(early warning) | 인지 후 24시간 이내 | 관할 CSIRT + ENISA |
| 통지(notification) | 인지 후 72시간 이내 | 관할 CSIRT + ENISA |
| 최종 보고서(final report) | 시정·완화 조치 시행 가능 시점부터 14일 이내(악용 취약점) 또는 통지 후 1개월 이내(심각한 사고) | 관할 CSIRT + ENISA |
신고 대상은 회원국이 지정한 CSIRT(NIS2 §12 기준)와 ENISA이며, 실무는 ENISA가 운영하는 단일 신고 플랫폼을 통해 이뤄집니다. 이 의무는 2026-09-11부터 적용되고, CRA의 나머지 의무(제품 요구사항 등)는 2027-12-11 전면 적용됩니다.
원문 근거는 CRA 본문(EUR-Lex, Regulation (EU) 2024/2847) 제14조를 확인하세요. 신고 기한은 이 문서 작성 시점 기준이며, 시행 초기 실무 지침이 계속 나오고 있으므로 실제 신고 전에 최신 공식 안내를 다시 확인하는 것을 권장합니다.
관련 문서
- 취약점 분석과 대응 챕터 가이드 — grype·OSV로 CVE를 스캔하고 이 기한으로 대응
- 오픈소스 프로세스 챕터 가이드 — 대응 기한을 사내 프로세스로 문서화
- 취약점 산출물 Best Practice — CVE 리포트·대응 계획 완성 예시