Zum Inhalt springen

CRA-Vorfälle (Cyber Resilience Act)

Das Modul CRA-Vorfälle hilft, die Meldepflicht aus Art. 14 des EU Cyber Resilience Act zu erfüllen: Es registriert aktiv ausgenutzte Schwachstellen und schwerwiegende Vorfälle, überwacht die 24-Stunden-Frühwarnfrist und bereitet einen strukturierten JSON-Export für die Einreichung bei der ENISA SRP (Single Reporting Platform) vor.

CRA Art. 14 unterscheidet drei Meldeschwellen für Hersteller digitaler Produkte:

SchwelleFristUmfang
Frühwarnung24hFeststellung, Komponente, vorläufige Einschätzung
Vorfallsbericht72hBeschreibung der Ursache, Umfang, ergriffene Maßnahmen
Abschlussbericht14 TageVollständige Ursache, Abhilfemaßnahmen, Empfehlungen

Das Modul berechnet die 24h-Frist automatisch ab discoveredAt. Die übrigen Fristen (72h, 14 Tage) verfolgen Sie manuell, sie liegen außerhalb des FREE-Umfangs.

Gehen Sie zu Polski > CRA-Vorfälle > Record incident. Das Formular:

FeldHinweise
TitleKurztitel (Pflicht)
Affected componentProdukt- / Modulname (z. B. polski-free, custom-checkout-module)
Affected versionsVersionsbereich (z. B. <= 2.0.4)
ReporterPerson, die den Vorfall registriert hat
External referenceKennung aus CVE / Bug-Tracker / CVD (optional)
Kindactively_exploited_vulnerability, security_incident, near_miss
Severitycritical, high, medium, low
SummaryTechnische Beschreibung (Pflicht)

Nach dem Speichern hat der Vorfall den Status Open und das berechnete deadlineAt = discoveredAt + 24h.

Für jeden Open-Vorfall ist die Schaltfläche Dispatch notification verfügbar. Sie sendet parallel:

  • Webhook (POST JSON) an die URL aus der Option polski_cra_incident_webhook
  • E-Mail mit einer Zusammenfassung an die Adresse aus der Option polski_cra_incident_email

Beide Optionen konfigurieren Sie unter Polski > Settings > CRA incidents. Nach Erhalt einer 2xx-Antwort vom Webhook oder erfolgreichem E-Mail-Versand wechselt der Vorfall in den Status Notified und speichert notifiedAt.

Die Aktion Export JSON in der Liste liefert die Datei cra-incident-<id>-<timestamp>.json mit dem Header Content-Type: application/json. Die Form entspricht dem Entwurf des ENISA-Single-Reporting-Platform-Schemas, die Felder decken ab: Identifikation des Herstellers, der Komponente, der Erkennungszeit, die Bewertung des Schweregrads, die Vorfallskategorie sowie die Beschreibung.

Beispiel:

{
"reference_id": "CVE-2026-1234",
"kind": "actively_exploited_vulnerability",
"severity": "high",
"title": "Stored XSS in checkout notes",
"affected_component": "polski-free",
"affected_versions": "<= 2.0.4",
"discovered_at": "2026-04-19T08:12:00+00:00",
"deadline_at": "2026-04-20T08:12:00+00:00",
"summary": "..."
}
// Nach der Registrierung eines Vorfalls (vor der Benachrichtigung).
add_action('polski_cra_incident_recorded', function (int $id, $incident): void {
// eigene Integration: Jira, PagerDuty, Slack
}, 10, 2);
// Wenn weniger als 2h bis zur 24h-Frist verbleiben.
add_action('polski_cra_incident_deadline_approaching', function ($incident): void {
// Eskalation an den DPO
});

Version 2.1.0 legt die Tabelle {$wpdb->prefix}polski_cra_incidents an. Die Migration läuft automatisch bei der Aktivierung, falls sie nicht funktioniert, erzwingen Sie sie manuell:

Okno terminala
wp polski migrate --module=cra
  • UI und Aktionen: manage_woocommerce
  • Webhook/E-Mail: frei konfigurierbar (keine Berechtigungspflicht, das sind Ausgangskanäle)
  • Das Modul verfolgt die Schwellen 72h / 14 Tage nicht automatisch (nur 24h)
  • Die Vorfallserkennung erfolgt manuell, wir scannen keine Logs
  • Der Webhook hat keine HMAC-Signatur (für PRO geplant)
  • Das Formular unterstützt keine binären Anhänge, fügen Sie diese der ENISA-SRP-Einreichung manuell hinzu