VEX för CRA-efterlevnad: Guide till Vulnerability Exploitability eXchange

Hur man använder VEX-dokument för CRA-efterlevnad. Täcker VEX-format, statustyper, integration med SBOM och praktiska exempel för att kommunicera sårbarhetstillämplighet.

CRA Evidence Team
Författare
14 januari 2026
Uppdaterad 25 februari 2026 00:00:00 UTC
10 min läsning
VEX för CRA-efterlevnad: Guide till Vulnerability Exploitability eXchange
In this article

Inte varje sårbarhet i din SBOM påverkar din produkt. VEX (Vulnerability Exploitability eXchange) låter dig kommunicera vilka sårbarheter som faktiskt gäller för din specifika produkt och ditt sammanhang. För CRA-efterlevnad hjälper VEX dig att visa att du bedömt sårbarheter och åtgärdat de som spelar roll.

Den här guiden förklarar hur du använder VEX effektivt.

Info: VEX (Vulnerability Exploitability eXchange) låter dig kommunicera vilka sårbarheter i din SBOM som faktiskt påverkar din produkt — och vilka som inte gör det. Det är avgörande för att uppfylla CRA:s krav på "inga kända exploaterbara sårbarheter."

Sammanfattning

  • VEX = maskinläsbart utlåtande om sårbarhetstillämplighet
  • Besvarar: "Påverkar CVE-XXXX MIN produkt?"
  • Fyra statusar: Ej påverkad, Påverkad, Åtgärdad, Under utredning
  • Kompletterar SBOM: SBOM listar komponenter, VEX bedömer sårbarheter
  • CycloneDX VEX och CSAF VEX är huvudformat
  • Avgörande för CRA:s krav på "inga kända exploaterbara sårbarheter"

VEX-statusflöde — Ej påverkad, Under utredning, Påverkad, Åtgärdad

Vad är VEX?

Problemet VEX löser

När du skannar en SBOM får du en lista över sårbarheter i komponenter:

SBOM-SKANNINGSRESULTAT (Typiska):

Komponent: openssl 1.1.1k
  - CVE-2021-3711 (Kritisk)
  - CVE-2021-3712 (Hög)
  - CVE-2022-0778 (Hög)

Komponent: zlib 1.2.11
  - CVE-2018-25032 (Hög)

Komponent: libxml2 2.9.10
  - CVE-2021-3517 (Hög)
  - CVE-2021-3518 (Hög)
  - CVE-2022-23308 (Medium)

TOTALT: 8 sårbarheter hittade

MEN VÄNTA...
- Påverkar alla dessa faktiskt din produkt?
- Används den sårbara kodvägen?
- Har du redan begränsat några?
- Är några icke-exploaterbara i ditt sammanhang?

VEX besvarar dessa frågor.

VEX-definition

VEX (Vulnerability Exploitability eXchange) är ett standardiserat format för att kommunicera:

  • Om en sårbarhet påverkar en specifik produkt
  • Varför eller varför inte
  • Vilka åtgärder (om några) som behövs
  • Nuvarande bedömningsstatus

VEX-statustyper

VEX-STATUSALTERNATIV

EJ PÅVERKAD:
"Den här sårbarheten påverkar inte vår produkt"
- Sårbar kod ej närvarande
- Sårbar funktion anropas ej
- Plattform ej tillämplig
- Begränsad via konfiguration

PÅVERKAD:
"Den här sårbarheten påverkar vår produkt"
- Kräver åtgärd
- Kan inkludera rekommenderade begränsningar
- Anger allvarlighetsgrad i sammanhang

ÅTGÄRDAD:
"Den här sårbarheten åtgärdades"
- I specifik version
- Detaljer om åtgärd tillhandahållet
- Rekommendation om uppdatering

UNDER UTREDNING:
"Vi bedömer fortfarande detta"
- Status ej ännu fastställd
- Utredning pågår
- Tillfällig status

VEX och CRA-krav

CRA-sårbarhetskrav

CRA kräver att tillverkare:

  1. Inga kända exploaterbara sårbarheter (vid marknadsplacering)
  2. Hanterar sårbarheter under hela supportperioden
  3. Tillhandahåller säkerhetsuppdateringar för att åtgärda sårbarheter
  4. Rapporterar aktivt exploaterade sårbarheter till ENISA (24h)
  5. Rapporterar allvarliga sårbarheter till ENISA (72h)

Hur VEX stödjer CRA

VEX FÖR CRA-EFTERLEVNAD

KRAV: Inga kända exploaterbara sårbarheter

VEX-ROLL:
- Dokumentera sårbarhetsbedömning
- Visa vilka CVE:er som utvärderats
- Visa "ej påverkad"-bestämningar
- Bevis för teknisk fil

KRAV: Hantera sårbarheter

VEX-ROLL:
- Spåra sårbarhetstatusförändringar
- Dokumentera "påverkad"  "åtgärdad"-progression
- Kommunicera med kunder
- Upprätthåll revisionskedja

KRAV: Säkerhetsuppdateringar

VEX-ROLL:
- Dokumentera vad som åtgärdats i varje uppdatering
- Tillhandahåll "åtgärdad i version X"-information
- Kundkommunikationsverktyg

KRAV: ENISA-rapportering

VEX-ROLL:
- Förbedömning hjälper bestämma rapporteringsskyldighet
- "Påverkad" + "aktivt exploaterad" = rapportera
- Dokumentation för rapporteringsnoggranhet

Tips: CycloneDX har inbyggt VEX-stöd. Om du redan genererar CycloneDX-SBOM:er är det enkelt att lägga till VEX-data.

VEX-format

CycloneDX VEX

CycloneDX inkluderar VEX-förmåga som del av SBOM-formatet:

{
  "bomFormat": "CycloneDX",
  "specVersion": "1.5",
  "vulnerabilities": [
    {
      "id": "CVE-2021-3711",
      "source": {
        "name": "NVD"
      },
      "analysis": {
        "state": "not_affected",
        "justification": "code_not_present",
        "detail": "Vår produkt använder OpenSSL men inte SM2-funktionalitet där den här sårbarheten finns. SM2 är inte kompilerat i vår build."
      },
      "affects": [
        {
          "ref": "openssl-1.1.1k"
        }
      ]
    },
    {
      "id": "CVE-2022-0778",
      "source": {
        "name": "NVD"
      },
      "analysis": {
        "state": "affected",
        "detail": "Produkten påverkas vid tolkning av opålitliga certifikat. Åtgärdad i version 2.1.0."
      },
      "affects": [
        {
          "ref": "openssl-1.1.1k"
        }
      ],
      "recommendation": "Uppdatera till produktversion 2.1.0 eller senare"
    }
  ]
}

CSAF VEX

CSAF (Common Security Advisory Framework) tillhandahåller ett fristående VEX-dokumentformat:

{
  "document": {
    "category": "csaf_vex",
    "title": "Produktsäkerhetsbedömning för 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"
    }
  },
  "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": "SM2-funktionalitet ingår inte i vår OpenSSL-build."
        }
      ]
    }
  ]
}

OpenVEX

OpenVEX är ett enklare, fokuserat VEX-format:

{
  "@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": "SM2-kryptografisk funktionalitet är inte kompilerad in i vår produkts OpenSSL-build."
    }
  ]
}

Skapa VEX-utlåtanden

Bedömningsprocess

VEX-BEDÖMNINGSARBETSFLÖDE

STEG 1: IDENTIFIERA SÅRBARHET
- Från SBOM-skanningsresultat
- Från säkerhetsrådgivning
- Från kundrapport
- Från ENISA-notifiering

STEG 2: ANALYSERA TILLÄMPLIGHET
Frågor att besvara:
- Finns den sårbara komponenten i vår produkt?
- Finns den sårbara versionen?
- Används den sårbara kodvägen?
- Är sårbarheten exploaterbar i vårt sammanhang?
- Finns begränsningar redan  plats?

STEG 3: FASTSTÄLL STATUS
Baserat  analys:
- NOT_AFFECTED: Sårbarhet gäller inte
- AFFECTED: Sårbarhet gäller, åtgärd behövs
- FIXED: Var påverkad, nu åtgärdad
- UNDER_INVESTIGATION: Bedömer fortfarande

STEG 4: DOKUMENTERA MOTIVERING
För NOT_AFFECTED, specificera varför:
- vulnerable_code_not_present
- vulnerable_code_cannot_be_controlled_by_adversary
- vulnerable_code_not_in_execute_path
- inline_mitigations_already_exist

STEG 5: SKAPA VEX-DOKUMENT
- Använd valt format
- Inkludera alla obligatoriska fält
- Versionera och datera dokumentet
- Signera om möjligt

Motiveringstyper

NOT_AFFECTED-MOTIVERINGAR

VULNERABLE_CODE_NOT_PRESENT:
"Den sårbara koden ingår inte i vår build"
Exempel: OpenSSL kompilerat utan SM2-stöd

VULNERABLE_CODE_CANNOT_BE_CONTROLLED_BY_ADVERSARY:
"En angripare kan inte nå den sårbara koden"
Exempel: Funktion anropas bara med betrodda interna data

VULNERABLE_CODE_NOT_IN_EXECUTE_PATH:
"Den sårbara funktionen anropas aldrig"
Exempel: Bibliotek inkluderat men specifik funktion oanvänd

INLINE_MITIGATIONS_ALREADY_EXIST:
"Andra kontroller förhindrar exploatering"
Exempel: WAF blockerar attackvektorn, sandbox begränsar påverkan

Exempelbedömningar

EXEMPEL 1: Ej påverkad (Kod ej närvarande)

Sårbarhet: CVE-2021-3711 (OpenSSL SM2 buffertspill)
Komponent: openssl 1.1.1k
Bedömning: Vår produkt använder OpenSSL för TLS enbart.
            SM2 är en kinesisk kryptografisk standard vi inte använder.
            Vår build inaktiverar SM2 explicit: ./config no-sm2
Status: NOT_AFFECTED
Motivering: vulnerable_code_not_present

EXEMPEL 2: Ej påverkad (Ej i exekveringsväg)

Sårbarhet: CVE-2022-23308 (libxml2 use-after-free)
Komponent: libxml2 2.9.10
Bedömning: Sårbarhet i XPath-utvärdering med namnrymder.
            Vår produkt använder libxml2 bara för enkel XML-tolkning.
            Vi använder aldrig XPath-funktionalitet.
Status: NOT_AFFECTED
Motivering: vulnerable_code_not_in_execute_path

EXEMPEL 3: Påverkad

Sårbarhet: CVE-2022-0778 (OpenSSL oändlig loop)
Komponent: openssl 1.1.1k
Bedömning: Vår produkt bearbetar TLS-certifikat från
            potentiellt opålitliga källor. Sårbarheten
            tillåter DoS via skadligt certifikat.
Status: AFFECTED
Rekommendation: Uppdatera till produktversion 2.1.0 (OpenSSL 1.1.1n)

EXEMPEL 4: Åtgärdad

Sårbarhet: CVE-2022-0778 (OpenSSL oändlig loop)
Komponent: openssl (var 1.1.1k, nu 1.1.1n)
Bedömning: Åtgärdad i produktversion 2.1.0
Status: FIXED
Åtgärdad version: 2.1.0

VEX-arbetsflöde för CRA

Kontinuerlig bedömning

LÖPANDE VEX-PROCESS

DAGLIGEN/VECKOVIS:
1. Skanna SBOM för nya sårbarheter
2. Prioritera efter allvarlighetsgrad
3. Börja bedömning av hög/kritisk

FÖR VARJE SÅRBARHET:
1. Teknisk analys
2. Fastställ status
3. Skapa/uppdatera VEX-utlåtande
4. Om AFFECTED: planera åtgärd

NÄR ÅTGÄRDAD:
1. Uppdatera VEX-status till FIXED
2. Referera åtgärdsversion
3. Notifiera kunder
4. Uppdatera teknisk fil

FÖR ENISA-RAPPORTERING:
1. AFFECTED + aktivt exploaterad  Rapportera 24h
2. AFFECTED + allvarlig  Rapportera 72h
3. Inkludera VEX i rapportkontext

Integration med SBOM

SBOM + VEX-INTEGRATION

ALTERNATIV 1: Inbäddad VEX (CycloneDX)
- VEX-data inuti SBOM-dokument
- Enstaka fil för komponenter + sårbarheter
- Uppdatera SBOM när VEX ändras

ALTERNATIV 2: Länkad VEX
- Separat VEX-dokument
- Refererar SBOM-komponenter
- Kan uppdateras oberoende

ALTERNATIV 3: CSAF-rådgivningar
- Fristående säkerhetsrådgivningar
- Publicerade  säkerhetssida
- Maskinläsbara för automatisering

REKOMMENDATION FÖR CRA:
- Använd inbäddad VEX för teknisk fil (komplett post)
- Publicera CSAF-rådgivningar för kundkommunikation
- Underhåll båda, håll synkroniserade

VEX i teknisk fil

Dokumentationsapproach

VEX-AVSNITT I TEKNISK FIL

AVSNITT: Sårbarhetsbedömning (VEX)

INNEHÅLL:
1. VEX-metodikbeskrivning
2. Aktuellt VEX-dokument (alla produkter)
3. Historiska VEX-uppdateringar (revisionskedja)
4. Bevis för "ej påverkad"-motiveringar

EXEMPELPOST:
"Per [datum] har följande sårbarheter bedömts
för [Produktnamn] version [X.Y.Z]:

Totalt CVE:er i komponentberoenden: 47
- Ej påverkad: 41
- Åtgärdad: 4
- Under utredning: 2
- Påverkad (med begränsning): 0

VEX-dokument: [länk/bilaga]
Senast uppdaterad: [datum]"

Bevis för "Inga kända exploaterbara sårbarheter"

CRA-EFTERLEVNADSBEVIS

PÅSTÅENDE: Produkten har inga kända exploaterbara sårbarheter

BEVIS (VEX-baserat):
1. SBOM-skanningsresultat (daterade)
2. VEX-bedömning som täcker alla fynd
3. För varje "Ej påverkad": motivering
4. För varje "Åtgärdad": versionsinformation
5. För "Under utredning": tidslinje/status

REVISIONSKEDJA:
- När bedömdes varje CVE?
- Vem utförde bedömningen?
- Vad var motiveringen?
- När uppdaterades status?

Verktyg och automatisering

VEX-genereringsverktyg

VEX-VERKTYGSALTERNATIV

SBOM + SÅRBARHETSMATCHNING:
- Grype (Anchore) - genererar VEX
- Trivy - sårbarhetsskanning med VEX-utdata
- OWASP Dependency-Track - VEX-stöd

VEX-REDIGERING:
- CycloneDX CLI - skapa/validera VEX
- CSAF-verktyg - skapa CSAF VEX-dokument
- OpenVEX-verktyg - enkel VEX-skapning

AUTOMATISERING:
- CI/CD-integration för skanning
- Automatisk "under utredning"-status
- Manuell granskning för slutstatus

Automatiseringsstrategi

VEX-AUTOMATISERINGSAPPROACH

AUTOMATISERAT:
- SBOM-skanning för nya CVE:er
- Initial "under utredning"-status
- Notifiering till säkerhetsteam
- Grundläggande tillämplighets­kontroller

SEMI-AUTOMATISERAT:
- Kodvägsanalysförslag
- Historisk mönstermatchning
- Liknande produktstatusuppslagning

MANUELLT (Obligatoriskt):
- Slutgiltig statusbestämning
- Motiverinskrivning
- Kundkommunikation
- ENISA-rapporteringsbeslut

Vanliga utmaningar

Utmaning: Volym av CVE:er

Problem: SBOM-skanningar returnerar hundratals CVE:er.

Lösningar:

  • Prioritera efter allvarlighetsgrad (Kritisk/Hög först)
  • Använd automatisering för initial triage
  • Bygg motiveringsmallar för vanliga mönster
  • Fokusera på komponenter du kontrollerar

Utmaning: Svårighet med teknisk analys

Problem: Svårt att avgöra om sårbar kod används.

Lösningar:

  • Arbeta med utvecklingsteamet
  • Använd statisk analys-verktyg
  • Dokumentera osäkerhet lämpligt
  • Konservativ approach: vid tvivel, behandla som påverkad

Utmaning: Hålla VEX aktuell

Problem: Sårbarhetstatus förändras över tid.

Lösningar:

  • Automatisera SBOM-omskanningar
  • Schemalagda VEX-granskningar
  • Utlösarbaserade uppdateringar (ny CVE, ny version)
  • Versionera dina VEX-dokument

VEX-checklista

CHECKLISTA FÖR VEX-IMPLEMENTERING

INSTÄLLNING:
[ ] Välj VEX-format (CycloneDX VEX rekommenderat)
[ ] Definiera bedömningsprocess
[ ] Tilldela ansvar
[ ] Konfigurera verktyg

INITIAL BEDÖMNING:
[ ] Skanna SBOM för sårbarheter
[ ] Prioritera efter allvarlighetsgrad
[ ] Bedöm varje sårbarhet
[ ] Dokumentera motiveringar

LÖPANDE PROCESS:
[ ] Reguljärt SBOM-omskanningsschema
[ ] Ny CVE-övervakning
[ ] Bedömnings-SLA (t.ex. Kritisk: 24h)
[ ] VEX-dokumentuppdateringar

DOKUMENTATION:
[ ] VEX inkluderad i teknisk fil
[ ] Versionshistorik underhållen
[ ] Motiveringar detaljerade
[ ] Kundkommunikationspublicering

INTEGRATION:
[ ] Länkad till SBOM
[ ] Kundkommunikationsprocess
[ ] ENISA-rapporteringsarbetsflöde
[ ] Uppdatera versionsanteckningar

Nyckelresurser

VEX-RESURSER

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

VÄGLEDNING:
CISA VEX Status Justifications
NTIA VEX Minimum Elements

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

Hur CRA Evidence hjälper

CRA Evidence tillhandahåller heltäckande VEX-stöd:

  • Integrerad VEX: Hantera VEX tillsammans med SBOM
  • Bedömningsarbetsflöde: Strukturerad sårbarhetanalys
  • Statusspårning: Spåra förändringar över tid
  • Motiveringsmallar: Vanliga mönster förbyggda
  • Teknisk filintegration: VEX i efterlevnadsdokumentation
  • Kundportal: Dela VEX-status med kunder

Starta din CRA-efterlevnad på app.craevidence.com.

Relaterade artiklar


Den här artikeln är endast avsedd för informationsändamål och utgör inte juridisk rådgivning. För specifik efterlevnadsvägledning, konsultera kvalificerade juridiska rådgivare.

Ämnen som tas upp i den här artikeln

Dela den här artikeln

Relaterade artiklar

Does the CRA apply to your product?

Besvara 6 enkla frågor för att ta reda på om din produkt omfattas av EU:s Cyber Resilience Act. Få ditt resultat på under 2 minuter.

Redo att uppnå CRA-efterlevnad?

Börja hantera dina SBOMs och efterlevnadsdokumentation med CRA Evidence.