VEX dla Zgodności z CRA: Przewodnik Vulnerability Exploitability eXchange

Jak używać dokumentów VEX dla zgodności z CRA. Obejmuje formaty VEX, typy statusów, integrację ze SBOM i praktyczne przykłady komunikowania zastosowania podatności.

Zespół CRA Evidence
Autor
14 stycznia 2026
Zaktualizowano 25 lutego 2026 00:00:00 UTC
11 min czytania
VEX dla Zgodności z CRA: Przewodnik Vulnerability Exploitability eXchange
In this article

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 (24h)
  5. Raportowania poważnych podatności do ENISA (72h)

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": "affected",
        "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
2. AFFECTED + poważne  Raportuj 72h
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 app.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.

Tematy omówione w tym artykule

Udostępnij ten artykuł

Powiązane artykuły

Does the CRA apply to your product?

Odpowiedz na 6 prostych pytań, aby sprawdzić, czy Twój produkt podlega unijnemu Cyber Resilience Act. Otrzymaj 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.