VEX dla CRA: przewodnik Vulnerability Exploitability eXchange

Jak używać VEX (Vulnerability Exploitability eXchange) dla zgodności z CRA: formaty, typy statusów, integracja ze SBOM i praktyczne przykłady.

Zespół CRA Evidence Opublikowano 14 stycznia 2026 Zaktualizowano 25 lutego 2026
VEX dla CRA: przewodnik Vulnerability Exploitability eXchange
W tym artykule

Nie każda podatność w waszym SBOM wpływa na wasz produkt. VEX (Vulnerability Exploitability eXchange) pozwala komunikować, które podatności rzeczywiście dotyczą waszego konkretnego produktu i kontekstu. Dla zgodności z CRA, VEX pomaga wykazać, że oceniliście podatności i zajęliście się tymi, które mają znaczenie.

Ten przewodnik wyjaśnia, jak efektywnie używać VEX.

Informacja: VEX (Vulnerability Exploitability eXchange) pozwala komunikować, które podatności w waszym SBOM rzeczywiście wpływają na wasz produkt -- a które nie. Jest to niezbędne do spełnienia wymogu CRA "brak znanych podatności możliwych do wykorzystania".

Podsumowanie

  • VEX = oświadczenie czytelne maszynowo o zastosowaniu podatności
  • Odpowiada na: "Czy CVE-XXXX wpływa na MÓJ produkt?"
  • Cztery statusy: Nie Dotyczy, Dotyczy, Naprawiono, W Trakcie Badania
  • Uzupełnia SBOM, SBOM wymienia komponenty, VEX ocenia podatności
  • CycloneDX VEX i CSAF VEX to główne formaty
  • Niezbędne dla wymagania CRA "brak znanych eksploatowalnych podatności"
Przepływ statusów VEX: Nie dotyczy, W trakcie analizy, Dotyczy, Naprawiony

Czym jest VEX?

Problem, Który VEX Rozwiązuje

Gdy skanujecie SBOM, otrzymujecie listę podatności w komponentach:

WYNIKI SKANOWANIA SBOM (Typowe):

Komponent: openssl 1.1.1k
  - CVE-2021-3711 (Krytyczna)
  - CVE-2021-3712 (Wysoka)
  - CVE-2022-0778 (Wysoka)

Komponent: zlib 1.2.11
  - CVE-2018-25032 (Wysoka)

Komponent: libxml2 2.9.10
  - CVE-2021-3517 (Wysoka)
  - CVE-2021-3518 (Wysoka)
  - CVE-2022-23308 (Średnia)

RAZEM: 8 znalezionych podatności

ALE CHWILA...
- Czy wszystkie te naprawdę wpływają na wasz produkt?
- Czy używana jest podatna ścieżka kodu?
- Czy już złagodziliście niektóre?
- Czy niektóre nie są eksploatowalne w waszym kontekście?

VEX odpowiada na te pytania.

Definicja VEX

VEX (Vulnerability Exploitability eXchange) to standardowy format do komunikowania:

  • Czy podatność wpływa na konkretny produkt
  • Dlaczego tak lub nie
  • Jakie działania (jeśli jakiekolwiek) są potrzebne
  • Obecny status oceny

Typy Statusów VEX

OPCJE STATUSU VEX

NIE DOTYCZY:
"Ta podatność nie wpływa na nasz produkt"
- Podatny kod nie jest obecny
- Podatna funkcja nie jest wywoływana
- Platforma nie ma zastosowania
- Złagodzono przez konfigurację

DOTYCZY:
"Ta podatność wpływa na nasz produkt"
- Wymaga działania
- Może zawierać zalecane łagodzenia
- Wskazuje dotkliwość w kontekście

NAPRAWIONO:
"Ta podatność została naprawiona"
- W konkretnej wersji
- Podano szczegóły naprawy
- Zalecenie aktualizacji

W TRAKCIE BADANIA:
"Nadal to oceniamy"
- Status jeszcze nie określony
- Trwa badanie
- Status tymczasowy

VEX i Wymagania CRA

Wymagania CRA dotyczące Podatności

CRA wymaga od producentów:

  1. Brak znanych eksploatowalnych podatności (przy wprowadzeniu na rynek)
  2. Obsługi podatności przez cały okres wsparcia
  3. Dostarczania aktualizacji bezpieczeństwa naprawiających podatności
  4. Raportowania aktywnie eksploatowanych podatności do ENISA: wczesne ostrzeżenie w 24h, powiadomienie w 72h, raport końcowy w 14 dni
  5. Raportowania poważnych incydentów do ENISA: wczesne ostrzeżenie w 24h, powiadomienie w 72h, raport końcowy w 1 miesiąc

Jak VEX Wspiera CRA

VEX DLA ZGODNOŚCI Z CRA

WYMAGANIE: Brak znanych eksploatowalnych podatności

ROLA VEX:
- Dokumentuj ocenę podatności
- Pokaż, które CVE zostały ocenione
- Wykaż ustalenia "nie dotyczy"
- Dowody dla pliku technicznego

WYMAGANIE: Obsługa podatności

ROLA VEX:
- Śledź zmiany statusu podatności
- Dokumentuj progresję "dotyczy" → "naprawiono"
- Komunikuj z klientami
- Utrzymuj ścieżkę audytu

WYMAGANIE: Aktualizacje bezpieczeństwa

ROLA VEX:
- Dokumentuj co jest naprawione w każdej aktualizacji
- Dostarczaj informację "naprawiono w wersji X"
- Narzędzie komunikacji z klientem

WYMAGANIE: Raportowanie ENISA

ROLA VEX:
- Wstępna ocena pomaga określić konieczność raportowania
- "Dotyczy" + "aktywnie eksploatowane" = raportuj
- Dokumentacja dla dokładności raportu

Wskazówka: CycloneDX ma natywne wsparcie dla VEX. Jeśli już generujesz SBOM w formacie CycloneDX, dodanie danych VEX jest proste.

Formaty VEX

CycloneDX VEX

CycloneDX zawiera funkcjonalność VEX jako część formatu SBOM:

{
  "bomFormat": "CycloneDX",
  "specVersion": "1.5",
  "vulnerabilities": [
    {
      "id": "CVE-2021-3711",
      "source": {
        "name": "NVD"
      },
      "analysis": {
        "state": "not_affected",
        "justification": "code_not_present",
        "detail": "Nasz produkt używa OpenSSL, ale nie używa funkcjonalności SM2, gdzie istnieje ta podatność. SM2 nie jest skompilowane w naszej budowie."
      },
      "affects": [
        {
          "ref": "openssl-1.1.1k"
        }
      ]
    },
    {
      "id": "CVE-2022-0778",
      "source": {
        "name": "NVD"
      },
      "analysis": {
        "state": "exploitable",
        "detail": "Produkt jest dotknięty przy analizowaniu niezaufanych certyfikatów. Naprawiono w wersji 2.1.0."
      },
      "affects": [
        {
          "ref": "openssl-1.1.1k"
        }
      ],
      "recommendation": "Zaktualizuj do wersji produktu 2.1.0 lub nowszej"
    }
  ]
}

CSAF VEX

CSAF (Common Security Advisory Framework) dostarcza samodzielny format dokumentu VEX:

{
  "document": {
    "category": "csaf_vex",
    "title": "Ocena Bezpieczeństwa Produktu dla CVE-2021-3711",
    "publisher": {
      "category": "vendor",
      "name": "Example Corp"
    },
    "tracking": {
      "id": "EX-2024-001",
      "status": "final",
      "version": "1.0.0",
      "current_release_date": "2024-01-15T10:00:00Z"
    }
  },
  "product_tree": {
    "branches": [
      {
        "category": "product_name",
        "name": "Smart Sensor Pro",
        "product": {
          "product_id": "SSP-2.0",
          "name": "Smart Sensor Pro 2.0"
        }
      }
    ]
  },
  "vulnerabilities": [
    {
      "cve": "CVE-2021-3711",
      "product_status": {
        "known_not_affected": ["SSP-2.0"]
      },
      "flags": [
        {
          "label": "vulnerable_code_not_present",
          "product_ids": ["SSP-2.0"]
        }
      ],
      "notes": [
        {
          "category": "description",
          "text": "Funkcjonalność SM2 nie jest zawarta w naszej budowie OpenSSL."
        }
      ]
    }
  ]
}

OpenVEX

OpenVEX to prostszy, ukierunkowany format VEX:

{
  "@context": "https://openvex.dev/ns/v0.2.0",
  "@id": "https://example.com/vex/2024-001",
  "author": "Example Corp Security Team",
  "timestamp": "2024-01-15T10:00:00Z",
  "statements": [
    {
      "vulnerability": {
        "@id": "CVE-2021-3711"
      },
      "products": [
        {
          "@id": "pkg:generic/smart-sensor-pro@2.0"
        }
      ],
      "status": "not_affected",
      "justification": "vulnerable_code_not_present",
      "impact_statement": "Funkcjonalność kryptograficzna SM2 nie jest skompilowana w budowie OpenSSL naszego produktu."
    }
  ]
}

Tworzenie Oświadczeń VEX

Proces Oceny

PRZEPŁYW PRACY OCENY VEX

KROK 1: ZIDENTYFIKUJ PODATNOŚĆ
- Z wyników skanowania SBOM
- Z ostrzeżenia bezpieczeństwa
- Ze zgłoszenia klienta
- Z powiadomienia ENISA

KROK 2: PRZEANALIZUJ ZASTOSOWANIE
Pytania do odpowiedzi:
- Czy podatny komponent jest w naszym produkcie?
- Czy obecna jest podatna wersja?
- Czy używana jest podatna ścieżka kodu?
- Czy podatność jest eksploatowalna w naszym kontekście?
- Czy są już wdrożone łagodzenia?

KROK 3: OKREŚL STATUS
Na podstawie analizy:
- NOT_AFFECTED: Podatność nie ma zastosowania
- AFFECTED: Podatność ma zastosowanie, potrzebne działanie
- FIXED: Było dotknięte, teraz naprawione
- UNDER_INVESTIGATION: Nadal oceniamy

KROK 4: UDOKUMENTUJ UZASADNIENIE
Dla NOT_AFFECTED, określ dlaczego:
- vulnerable_code_not_present
- vulnerable_code_cannot_be_controlled_by_adversary
- vulnerable_code_not_in_execute_path
- inline_mitigations_already_exist

KROK 5: UTWÓRZ DOKUMENT VEX
- Użyj wybranego formatu
- Uwzględnij wszystkie wymagane pola
- Wersjonuj i datuj dokument
- Podpisz jeśli to możliwe

Typy Uzasadnień

UZASADNIENIA NOT_AFFECTED

VULNERABLE_CODE_NOT_PRESENT:
"Podatny kod nie jest zawarty w naszej budowie"
Przykład: OpenSSL skompilowany bez wsparcia SM2

VULNERABLE_CODE_CANNOT_BE_CONTROLLED_BY_ADVERSARY:
"Atakujący nie może dotrzeć do podatnego kodu"
Przykład: Funkcja wywoływana tylko z zaufanymi danymi wewnętrznymi

VULNERABLE_CODE_NOT_IN_EXECUTE_PATH:
"Podatna funkcja nigdy nie jest wywoływana"
Przykład: Biblioteka dołączona, ale konkretna funkcja nieużywana

INLINE_MITIGATIONS_ALREADY_EXIST:
"Inne kontrole zapobiegają eksploatacji"
Przykład: WAF blokuje wektor ataku, sandboxing ogranicza wpływ

Przykłady Ocen

PRZYKŁAD 1: Nie Dotyczy (Kod Nieobecny)

Podatność: CVE-2021-3711 (OpenSSL SM2 buffer overflow)
Komponent: openssl 1.1.1k
Ocena: Nasz produkt używa OpenSSL tylko do TLS.
       SM2 to chiński standard kryptograficzny, którego nie używamy.
       Nasza budowa jawnie wyłącza SM2: ./config no-sm2
Status: NOT_AFFECTED
Uzasadnienie: vulnerable_code_not_present

PRZYKŁAD 2: Nie Dotyczy (Nie w Ścieżce Wykonania)

Podatność: CVE-2022-23308 (libxml2 use-after-free)
Komponent: libxml2 2.9.10
Ocena: Podatność w ewaluacji XPath z przestrzeniami nazw.
       Nasz produkt używa libxml2 tylko do prostego parsowania XML.
       Nigdy nie używamy funkcjonalności XPath.
Status: NOT_AFFECTED
Uzasadnienie: vulnerable_code_not_in_execute_path

PRZYKŁAD 3: Dotyczy

Podatność: CVE-2022-0778 (OpenSSL infinite loop)
Komponent: openssl 1.1.1k
Ocena: Nasz produkt przetwarza certyfikaty TLS z
       potencjalnie niezaufanych źródeł. Podatność
       pozwala na DoS poprzez złośliwy certyfikat.
Status: AFFECTED
Zalecenie: Zaktualizuj do wersji produktu 2.1.0 (OpenSSL 1.1.1n)

PRZYKŁAD 4: Naprawiono

Podatność: CVE-2022-0778 (OpenSSL infinite loop)
Komponent: openssl (było 1.1.1k, teraz 1.1.1n)
Ocena: Naprawiono w wersji produktu 2.1.0
Status: FIXED
Naprawiona Wersja: 2.1.0

Przepływ Pracy VEX dla CRA

Ciągła Ocena

BIEŻĄCY PROCES VEX

DZIENNIE/TYGODNIOWO:
1. Skanuj SBOM w poszukiwaniu nowych podatności
2. Priorytetyzuj według dotkliwości
3. Rozpocznij ocenę wysokich/krytycznych

DLA KAŻDEJ PODATNOŚCI:
1. Analiza techniczna
2. Określ status
3. Utwórz/zaktualizuj oświadczenie VEX
4. Jeśli AFFECTED: zaplanuj naprawę

GDY NAPRAWIONO:
1. Zaktualizuj status VEX na FIXED
2. Odwołaj się do wersji naprawy
3. Powiadom klientów
4. Zaktualizuj plik techniczny

DLA RAPORTOWANIA ENISA:
1. AFFECTED + aktywnie eksploatowane  Raportuj: 24h / 72h / raport końcowy 14 dni
2. AFFECTED + poważny incydent  Raportuj: 24h / 72h / raport końcowy 1 miesiąc
3. Dołącz VEX w kontekście raportu

Integracja ze SBOM

INTEGRACJA SBOM + VEX

OPCJA 1: Wbudowany VEX (CycloneDX)
- Dane VEX wewnątrz dokumentu SBOM
- Pojedynczy plik dla komponentów + podatności
- Aktualizuj SBOM gdy VEX się zmienia

OPCJA 2: Połączony VEX
- Oddzielny dokument VEX
- Odwołuje się do komponentów SBOM
- Może być aktualizowany niezależnie

OPCJA 3: Poradniki CSAF
- Samodzielne poradniki bezpieczeństwa
- Publikowane na stronie bezpieczeństwa
- Czytelne maszynowo dla automatyzacji

ZALECENIE DLA CRA:
- Użyj wbudowanego VEX dla pliku technicznego (kompletny zapis)
- Publikuj poradniki CSAF dla komunikacji z klientem
- Utrzymuj oba, trzymaj zsynchronizowane

Komunikacja z Klientem

VEX DLA KOMUNIKACJI Z KLIENTEM

SCENARIUSZ: Klient pyta "Czy CVE-XXXX wpływa na wasz produkt?"

Z VEX:
1. Sprawdź bazę danych VEX dla podatności
2. Podaj status natychmiast
3. Jeśli NOT_AFFECTED: podziel się uzasadnieniem
4. Jeśli AFFECTED: podaj wskazówki naprawy
5. Jeśli UNDER_INVESTIGATION: podaj harmonogram

KORZYŚCI:
- Spójne odpowiedzi w całym zespole wsparcia
- Przygotowane wcześniej uzasadnienia
- Szybszy czas odpowiedzi
- Wykazywalna należyta staranność

VEX w Pliku Technicznym

Podejście do Dokumentacji

SEKCJA VEX PLIKU TECHNICZNEGO

SEKCJA: Ocena Podatności (VEX)

ZAWARTOŚĆ:
1. Opis metodologii VEX
2. Aktualny dokument VEX (wszystkie produkty)
3. Historyczne aktualizacje VEX (ścieżka audytu)
4. Dowody uzasadnienia nie-dotyczy

PRZYKŁADOWY WPIS:
"Na dzień [data], następujące podatności zostały
ocenione dla [Nazwa Produktu] wersja [X.Y.Z]:

Łączna liczba CVE w zależnościach komponentów: 47
- Nie Dotyczy: 41
- Naprawiono: 4
- W Trakcie Badania: 2
- Dotyczy (z łagodzeniem): 0

Dokument VEX: [link/załącznik]
Ostatnia aktualizacja: [data]"

Dowody dla "Brak Znanych Eksploatowalnych Podatności"

DOWODY ZGODNOŚCI CRA

TWIERDZENIE: Produkt nie ma znanych eksploatowalnych podatności

DOWODY (oparte na VEX):
1. Wyniki skanowania SBOM (datowane)
2. Ocena VEX obejmująca wszystkie wyniki
3. Dla każdego "Nie Dotyczy": uzasadnienie
4. Dla każdego "Naprawiono": informacja o wersji
5. Dla "W Trakcie Badania": harmonogram/status

ŚCIEŻKA AUDYTU:
- Kiedy oceniono każde CVE?
- Kto przeprowadził ocenę?
- Jakie było uzasadnienie?
- Kiedy zaktualizowano status?

Narzędzia i Automatyzacja

Narzędzia do Generowania VEX

OPCJE NARZĘDZI VEX

DOPASOWYWANIE SBOM + PODATNOŚCI:
- Grype (Anchore) - generuje VEX
- Trivy - skanowanie podatności z wyjściem VEX
- OWASP Dependency-Track - wsparcie VEX

TWORZENIE VEX:
- CycloneDX CLI - twórz/waliduj VEX
- Narzędzia CSAF - twórz dokumenty CSAF VEX
- Narzędzia OpenVEX - proste tworzenie VEX

AUTOMATYZACJA:
- Integracja CI/CD dla skanowania
- Automatyczny status "w trakcie badania"
- Ręczny przegląd dla finalnego statusu

Strategia Automatyzacji

PODEJŚCIE DO AUTOMATYZACJI VEX

ZAUTOMATYZOWANE:
- Skanowanie SBOM dla nowych CVE
- Początkowy status "w trakcie badania"
- Powiadomienie zespołu bezpieczeństwa
- Podstawowe sprawdzenia zastosowania

PÓŁAUTOMATYCZNE:
- Sugestie analizy ścieżki kodu
- Dopasowywanie historycznych wzorców
- Wyszukiwanie statusu podobnych produktów

RĘCZNE (Wymagane):
- Finalne określenie statusu
- Pisanie uzasadnień
- Komunikacja skierowana do klientów
- Decyzje o raportowaniu ENISA

Typowe Wyzwania

Wyzwanie: Ilość CVE

Problem: Skany SBOM zwracają setki CVE.

Rozwiązania:

  • Priorytetyzuj według dotkliwości (Krytyczne/Wysokie najpierw)
  • Użyj automatyzacji do wstępnej segregacji
  • Buduj szablony uzasadnień dla typowych wzorców
  • Skup się na komponentach, które kontrolujesz

Wyzwanie: Trudność Analizy Technicznej

Problem: Trudno określić, czy podatny kod jest używany.

Rozwiązania:

  • Pracuj z zespołem deweloperskim
  • Użyj narzędzi analizy statycznej
  • Dokumentuj niepewność odpowiednio
  • Podejście konserwatywne: w razie wątpliwości, traktuj jako dotknięte

Wyzwanie: Utrzymanie VEX Aktualnym

Problem: Status podatności zmienia się w czasie.

Rozwiązania:

  • Zautomatyzuj ponowne skanowanie SBOM
  • Zaplanowane przeglądy VEX
  • Aktualizacje oparte na wyzwalaczach (nowe CVE, nowa wersja)
  • Wersjonuj swoje dokumenty VEX

Lista Kontrolna VEX

LISTA KONTROLNA WDROŻENIA VEX

KONFIGURACJA:
[ ] Wybierz format VEX (zalecany CycloneDX VEX)
[ ] Zdefiniuj proces oceny
[ ] Przypisz odpowiedzialność
[ ] Skonfiguruj narzędzia

POCZĄTKOWA OCENA:
[ ] Skanuj SBOM w poszukiwaniu podatności
[ ] Priorytetyzuj według dotkliwości
[ ] Oceń każdą podatność
[ ] Udokumentuj uzasadnienia

BIEŻĄCY PROCES:
[ ] Regularny harmonogram ponownego skanowania SBOM
[ ] Monitorowanie nowych CVE
[ ] SLA oceny (np. Krytyczne: 24h)
[ ] Aktualizacje dokumentów VEX

DOKUMENTACJA:
[ ] VEX zawarty w pliku technicznym
[ ] Historia wersji utrzymywana
[ ] Uzasadnienia szczegółowe
[ ] Publikacja skierowana do klientów

INTEGRACJA:
[ ] Powiązany ze SBOM
[ ] Proces komunikacji z klientem
[ ] Przepływ raportowania ENISA
[ ] Zaktualizowane notatki wydania

Kluczowe Zasoby

ZASOBY VEX

STANDARDY:
CycloneDX VEX: https://cyclonedx.org/capabilities/vex/
CSAF: https://docs.oasis-open.org/csaf/
OpenVEX: https://openvex.dev

WSKAZÓWKI:
CISA VEX Status Justifications
NTIA VEX Minimum Elements

NARZĘDZIA:
Grype: https://github.com/anchore/grype
Trivy: https://aquasecurity.github.io/trivy/
CycloneDX CLI: https://github.com/CycloneDX/cyclonedx-cli

Jak Pomaga CRA Evidence

CRA Evidence zapewnia kompleksowe wsparcie VEX:

  • Zintegrowany VEX: Zarządzaj VEX obok SBOM
  • Przepływ pracy oceny: Ustrukturyzowana analiza podatności
  • Śledzenie statusu: Śledź zmiany w czasie
  • Szablony uzasadnień: Typowe wzorce wstępnie zbudowane
  • Integracja z plikiem technicznym: VEX w dokumentacji zgodności
  • Portal klienta: Udostępniaj status VEX klientom

Rozpocznij swoją zgodność z CRA na craevidence.com.

Powiązane Artykuły


Ten artykuł ma charakter wyłącznie informacyjny i nie stanowi porady prawnej. W celu uzyskania konkretnych wskazówek dotyczących zgodności należy skonsultować się z wykwalifikowanym doradcą prawnym.

CRA SBOM Zarządzanie podatnościami
Share

Czy CRA dotyczy Twojego produktu?

Odpowiedz na 6 prostych pytań, aby dowiedzieć się, czy Twój produkt podlega pod Cyber Resilience Act UE. Uzyskaj wynik w mniej niż 2 minuty.

Gotowy na osiągnięcie zgodności z CRA?

Zacznij zarządzać swoimi SBOM-ami i dokumentacją zgodności z CRA Evidence.

Szczegółowe omówienie zagadnień CRA

Stale aktualizowane przewodniki po wymaganiach, procesach i rolach określonych przez akt o cyberodporności (CRA).