본문으로 건너뛰기

VEX

VEX(Vulnerability Exploitability eXchange)는 "이 취약점이 우리 제품에 실제로 악용 가능한가"를 표준 형식으로 밝히는 문서입니다. 스캔이 CVE 를 발견해도 실제로는 영향이 없는 경우가 많습니다. VEX 는 그 판단을 근거와 함께 문서로 남겨, 받는 쪽의 재확인을 줄입니다.

무엇을 내보내나

VEX 는 새로 판단하는 것이 아니라, 취약점 관리에서 조치·트리아지한 결정을 그대로 반영해 문서로 옮깁니다. 오탐·위험 수용·조치 완료 같은 처리 결과가 각 CVE 의 VEX status 로 변환됩니다. 따라서 정확한 VEX 를 얻으려면 먼저 취약점을 트리아지해 두어야 합니다.

  • 조직의 트리아지 결과(오탐 · 위험 수용 · 조치 완료 등)를 VEX status 로 변환해 내보냅니다.
  • CVE 가 매핑된 항목만 대상이 됩니다. CVE 가 없는 항목(예: 일부 SAST · 시크릿 발견)은 VEX 로 표현하지 않습니다.
  • 서비스 유형과 무관하게, CVE 기반 취약점이 있으면 내보낼 수 있습니다.
  • 아직 트리아지하지 않은 항목은 under_investigation(조사 중)으로 나갑니다.

트리아지 상태와 VEX status

취약점 관리에서 내린 결정이 VEX status 로 변환됩니다. 결정을 내리지 않은 항목은 under_investigation(조사 중)으로 나갑니다.

트리아지 처리VEX status의미
오탐 (false positive)not_affected이 취약점은 영향을 주지 않음
위험 수용 (accepted risk)affected영향은 받지만 (조치 없이) 위험을 수용함
조치완료 (재스캔에서 더 이상 발견되지 않음)fixed이미 조치되어 발견되지 않음
미조치 · 조사 중under_investigation아직 판단하지 않음
위험 수용은 not_affected 가 아닙니다

"위험 수용"은 영향이 없다는 뜻이 아니라, 영향을 인지하고도 조치하지 않기로 한 결정이므로 affected 로 나갑니다. 영향이 없다는 판단은 "오탐"으로 처리해야 not_affected 가 됩니다.

not_affected 근거(justification)

not_affected(오탐) 항목에는 "왜 영향이 없는가"를 밝히는 표준 근거 코드를 함께 담을 수 있습니다. 받는 쪽이 판단을 신뢰할 근거가 됩니다.

코드의미
component_not_present컴포넌트 미포함
vulnerable_code_not_present취약 코드 미포함
vulnerable_code_not_in_execute_path취약 코드가 실행 경로에 없음
vulnerable_code_cannot_be_controlled_by_adversary공격자가 제어 불가
inline_mitigations_already_exist완화책 이미 존재

내보내기 범위

VEX 카드에서 두 가지 범위 중 선택합니다.

  • 전체 : 조사 중(under_investigation)인 항목까지 모두 포함합니다.
  • 트리아지됨 : 결정을 내린 항목만 포함하고, 조사 중인 항목은 제외합니다.

형식

  • OpenVEX (JSON) : VEX 만을 위한 경량 표준입니다.
  • CycloneDX (JSON) : SBOM과 같은 계열이라 구성요소 명세와 함께 다루기 좋습니다.
  • PDF : 사람이 읽는 보고용 형식도 제공합니다.
VEX 로 노이즈 줄이기

고객이나 감사자에게 "이 CVE 는 영향 없음(not affected)"임을 근거와 함께 전달하면 문의와 재확인이 줄어듭니다.

관련 문서