Skip to content
| Marketplace
Sign in
Visual Studio Code>Linters>CSAF Advisory Check for CRA 2026New to Visual Studio Code? Get it now.
CSAF Advisory Check for CRA 2026

CSAF Advisory Check for CRA 2026

ReadyStack

| (0) | Free
Runs the 43 mandatory and profile conformance tests of CSAF 2.0 section 6.1 on the advisory you are writing: product ID graph, revision history, CVSS recomputation, CWE names. Offline.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

CSAF Advisory Check for CRA 2026

CSAF Advisory Check for CRA 2026

advisory.json:50   6.1.11  cwe.name is "Authentication Bypass" but CWE-287 is officially "Improper Authentication"
advisory.json:59   6.1.6   product_id "CSAFPID-0001" is listed as affected and as fixed in the same vulnerability
advisory.json:62   6.1.1   product_id "CSAFPID-0009" is used here but no full product name in the product tree defines it
advisory.json:70   6.1.9   baseScore is 9.1 but the vector computes to 9.8
advisory.json:71   6.1.9   baseSeverity is HIGH but a base score of 9.8 is CRITICAL
—— 12 finding(s) across 1 file(s) · 43 checks ——

That is a schema-valid CSAF 2.0 advisory. Those twelve findings come from eleven mandatory tests in section 6.1 of the specification, and a JSON schema cannot see any of them.

From 11 September 2026, a manufacturer placing software on the EU market must report an actively exploited vulnerability to ENISA and its national CSIRT within 24 hours, with a technical notification at 72 hours and a final report at 14 days. The advisory is written in that window. This extension checks it where you write it, offline, before it is published.

What it checks — 43 checks (32 mandatory + 11 profile)

  • The 32 mandatory tests of CSAF 2.0 section 6.1 (6.1.1 to 6.1.26 and 6.1.28 to 6.1.33).
  • The 11 profile tests of section 6.1.27, applied only when /document/category matches the profile (csaf_base, csaf_security_incident_response, csaf_informational_advisory, csaf_security_advisory, csaf_vex).
  • Plus 12 CSAF Base required fields. Section 6.1.26 leaves those to JSON schema validation, which an editor does not do by itself; turn them off with includeBaseFields if your pipeline already validates.

Some of what that means in practice:

Test What it catches
6.1.1 / 6.1.2 / 6.1.3 a product id referenced but never defined, defined twice, or defined in a relationship that loops back to itself
6.1.6 the same product listed as affected and as fixed in one vulnerability
6.1.9 the base, temporal and environmental scores are recomputed from the vector string — CVSS v2, v3.0 and v3.1 — and compared with what the document claims, severity labels included
6.1.11 the CWE name does not belong to the CWE id, checked against 944 weaknesses from the MITRE catalogue carried inside the extension
6.1.14 / 6.1.16 / 6.1.21 / 6.1.22 a revision history that is not ascending by date, a document version that is behind its own newest revision, a skipped version number, the same number used twice
6.1.27.9 / 6.1.27.10 a VEX document where known_not_affected has no impact statement or known_affected has no action statement, following product groups through
6.1.31 "4.2.0 and earlier" written into a product_version branch that must name exactly one version

Findings arrive as editor diagnostics on the exact line, and as a list in the CSAF Advisory Check output panel. Nothing leaves your machine: there is no network call anywhere in the checking path.

Commands

Free, no licence key, no counter, no watermark:

  • Check this advisory — all 43 checks over the open document, every finding shown.
  • Show the findings panel — reopen the last report.
  • List the checks that ship inside — the 43 test numbers and titles.

In the licensed version:

  • Check every advisory in the workspace — one pass over the repository, not one file.
  • Export the conformance evidence file — CSV, JSON or HTML, a file you keep and hand to an auditor or a customer.
  • Write the CI checker into this repository — drops .csaf-check/ with the same engine and a runner that exits non-zero, so a pipeline stops before a non-conformant advisory is published.
  • Check on save: turn on or off — re-check while you write.

Settings

Setting Default What it does
includeBaseFields true also report the 12 CSAF Base required fields
skipTests [] test numbers to leave out, e.g. ["6.1.11"]
filePatterns **/*.json glob for the workspace pass; files without csaf_version are skipped
reportFormat csv format of the evidence file (csv, json, html)
runOnSave false turn check-on-save on at startup (licensed)

The free tier is the whole job for one advisory

You are writing one advisory against a 24-hour clock. Free checks that advisory completely — all 43 checks, every finding, no hidden results. The licence changes the scope: the whole repository in one pass, an evidence file you own, and a gate in CI. $29 once, one licence key per person or team seat, 7-day full refund. Published CRA cost calculators calibrate this work at EUR 45 per hour of engineering and consulting effort.

Specification

OASIS Common Security Advisory Framework Version 2.0, OASIS Standard, 18 November 2022, section 6.1. CWE data: MITRE Comprehensive CWE Dictionary (view 2000), downloaded 2026-09-10, deprecated entries removed. This extension is not affiliated with OASIS, MITRE, ENISA or the European Commission, and it is not legal advice.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft