Your CSAF advisory, checked against all 43 mandatory tests — before the 24-hour clock runs out

For the product-security engineer at a manufacturer placing software on the EU market. From 11 September 2026 an actively exploited vulnerability has to reach ENISA and your national CSIRT within 24 hours, and the advisory goes out beside it. Paste yours below — it is checked in your browser and nothing is uploaded.

The full version, in your editor

  • Every advisory in the workspace in one pass
  • An evidence file you keep (CSV, JSON or HTML)
  • A CI checker written into your repository — it exits non-zero and stops the release
  • Re-check on every save
Get the full version — $29

$29 once · one licence key per person or team seat · Published CRA cost calculators calibrate this work at EUR 45 per hour of engineering and consulting effort.

The advisory being checked

Why a JSON schema validator is not enough

A schema says the shape is right. It cannot say that CSAFPID-0009 is referenced but never defined, that a base score of 9.1 contradicts its own vector, that a product is listed as affected and fixed in the same breath, or that a CWE name does not belong to its CWE id. Those are the mandatory tests in section 6.1 of the specification, and a document can be schema-valid and fail every one of them. This page runs all 43 of them, offline, in the browser you already have open.

Install free

Free for the file open in your editor - no key, no limit. The workspace sweep and the report ask for a key.

VS Code MarketplaceOpen VSX (Cursor, VSCodium)
ext install ReadyStack.csaf-advisory-check-cra-2026

Team? One key for every ReadyStack linter, 5 seats, $149 once

Get one email when this rule changes
We watch the regulation and vendor sources behind CSAF Advisory Check for CRA 2026 every day. When a rule changes, you get a single email with what changed and the updated check. No newsletter.

Get the full version $29

Changes the scope, not the portion: every advisory in the repository in one pass, an evidence file you keep (CSV, JSON or HTML), a CI checker written into your repository that exits non-zero before publication, and re-check on every save.

One payment, one licence key for this tool. The key is shown right after payment.

Published CRA cost calculators calibrate this work at EUR 45 per hour of blended engineering and consulting effort, and the Commission's own estimate of the Act's compliance burden on business is EUR 29 billion.

Buy the full version — $29
ENDEJAESPT

Find a tool

· ReadyStack

Worked example

Real numbers from this tool, line by line.

Twelve conformance findings on a schema-valid CSAF advisory

Twelve conformance findings on one schema-valid CSAF advisory - PSIRT engineers at EU manufacturers, 24 hours from the ENISA report.

advisory.json:6   6.1.28   source_lang and lang are both "en"; a translation must differ from its source
advisory.json:19  6.1.21   revision "3" follows "1"; 1 version number(s) are missing
advisory.json:36  6.1.31   a product_version branch must name one version, but "4.2.0 and earlier" reads as a range (earlier)
advisory.json:39  6.1.2    product_id "CSAFPID-0001" is defined 2 times in this document
advisory.json:40  6.1.13   purl "northwind/[email protected]" is not a valid package URL
advisory.json:50  6.1.11   cwe.name is "Authentication Bypass" but CWE-287 is officially "Improper Authentication"
advisory.json:55  6.1.32   this flag names neither product_ids nor group_ids, so its justification applies to nothing
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:63  6.1.29   this remediation names neither product_ids nor group_ids, so no reader can tell what to patch
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 --

Run that file through any JSON schema validator and it passes. A schema describes shape: which keys exist, which types they hold. It says nothing about meaning, and every line above is about meaning. Each of those twelve findings comes from a mandatory test.

Why this matters on 11 September 2026

From 11 September 2026, a manufacturer placing a product with digital elements on the EU market must report an actively exploited vulnerability to ENISA and its national CSIRT within 24 hours of becoming aware of it, with a technical notification at 72 hours and a final report at 14 days. Awareness starts the clock, not a confirmed breach, and the duty covers products already on the market.

The advisory is written inside that same window, usually by one engineer, at speed - which is when a base score gets typed by hand instead of copied from the calculator.

What the specification asks for

Section 6.1 of OASIS CSAF 2.0 states 32 mandatory tests, and section 6.1.27 adds 11 profile tests that apply according to /document/category. The specification is explicit: these are the rules "which can not be tested by the schema".

Checking it where it is written

CSAF Advisory Check for CRA 2026 is a VS Code extension that runs all 43 checks on the open document, each finding a diagnostic on the line that caused it. Nothing leaves the machine: 944 CWE weaknesses from the MITRE dictionary travel inside the extension. The CVSS work is real arithmetic: scores recomputed from the vector for CVSS v2, v3.0 and v3.1.

The advisory in front of you is checked completely for free: all 43 checks, every finding, no watermark, no counter, no result withheld. A free web version runs the same engine in one page.

Conformance is not compliance: passing every check means the document is well-formed CSAF 2.0, not that you have met an obligation under the Cyber Resilience Act.

A licence changes scope and ownership: every advisory in the repository in one pass, an evidence file you keep as CSV, JSON or HTML, a CI checker written into your repository that exits non-zero before publication, and re-check on every save. $29 once, one licence key per person or team seat.

15 seconds — what it actually does

Questions people ask

What does CSAF Advisory Check actually do?

It reads a CSAF 2.0 security advisory and runs 43 checks on it: the 32 mandatory conformance tests of section 6.1 and the 11 profile tests of 6.1.27. It resolves the product ID graph, sorts the revision history by date, recomputes CVSS base, temporal and environmental scores from the vector string, and matches CWE names against the MITRE catalogue. Findings land on their line, offline.

Who is this for?

Product security engineers and PSIRT members at manufacturers that place software on the EU market. From 11 September 2026 those manufacturers must report an actively exploited vulnerability to ENISA and their national CSIRT within 24 hours, with a technical notification at 72 hours. The advisory that accompanies that report is written inside the same window, usually by one engineer, at speed.

Why will a JSON schema validator not do?

A schema checks shape. It cannot know that a product ID is referenced but never defined, that a base score of 9.1 contradicts its own vector which computes to 9.8, that one product is listed as affected and fixed in the same vulnerability, or that a CWE name does not belong to its ID. The specification states those as mandatory tests precisely because no schema can express them.

What is free, and what does a licence add?

Free checks the open advisory completely: all 43 checks, every finding, no watermark, no counter, no hidden result. The licence changes the scope rather than the portion. It adds every advisory in the repository in one pass, an evidence file you keep as CSV, JSON or HTML, a CI checker written into your repository that exits non-zero, and re-check on every save.

What would this cost if a person did it?

Published CRA cost calculators calibrate readiness work at about EUR 45 per hour of blended engineering and consulting effort. Reading a single advisory against the 43 mandatory tests by hand, including recomputing each CVSS vector, takes an engineer most of an hour, and the first CSIRT report is due 24 hours after you learn of the exploit. The licence is $29 once,.

Ask about this tool

One question, answered by the person who built it. Your email only if you want the answer sent.

Embed this tool on your site (free)

Paste this code into your page. It runs in your visitor’s browser and stays up to date. Nothing your visitors type is stored.

 All embeddable tools

For businesses: your name and logo instead of ours, and each visitor’s result + e-mail in your inbox (only when they tick consent) — Pro from $19/month. See Pro →