Přeskočit na obsah

Incidenty CRA (Cyber Resilience Act)

Modul Incidenty CRA pomáhá splnit ohlašovací povinnost z čl. 14 unijního Cyber Resilience Act: registruje aktivně zneužívané zranitelnosti a závažné incidenty, hlídá 24hodinovou lhůtu včasného varování a připravuje strukturovaný export JSON pro podání na platformě ENISA SRP (Single Reporting Platform).

CRA čl. 14 rozlišuje tři prahy hlášení pro výrobce digitálních produktů:

PráhLhůtaRozsah
Včasné varování24hFakt zjištění, komponenta, předběžné posouzení
Hlášení incidentu72hPopis příčiny, rozsah, použitá opatření
Závěrečné hlášení14 dníÚplná příčina, nápravná opatření, doporučení

Modul počítá 24h automaticky od discoveredAt. Ostatní lhůty (72h, 14 dní) sledujte ručně, jsou mimo rozsah verze FREE.

Přejděte do Polski > Incidenty CRA > Record incident. Formulář:

PolePoznámky
TitleKrátký název (vyžadováno)
Affected componentNázev produktu / modulu (např. polski-free, custom-checkout-module)
Affected versionsRozsah verzí (např. <= 2.0.4)
ReporterOsoba, která hlášení zaregistrovala
External referenceIdentifikátor z CVE / bug trackeru / CVD (volitelný)
Kindactively_exploited_vulnerability, security_incident, near_miss
Severitycritical, high, medium, low
SummaryTechnický popis (vyžadováno)

Po uložení je incident ve stavu Open a má vypočtené deadlineAt = discoveredAt + 24h.

Pro každý incident Open je dostupné tlačítko Dispatch notification. Odešle paralelně:

  • Webhook (POST JSON) na URL z volby polski_cra_incident_webhook
  • E-mail se souhrnem na adresu z volby polski_cra_incident_email

Obě volby nakonfigurujete v Polski > Settings > CRA incidents. Po obdržení odpovědi 2xx z webhooku nebo úspěšném odeslání e-mailu přechází incident do stavu Notified a ukládá notifiedAt.

Akce Export JSON v seznamu vrací soubor cra-incident-<id>-<timestamp>.json s hlavičkou Content-Type: application/json. Tvar odpovídá návrhu schématu ENISA Single Reporting Platform, pole pokrývají: identifikaci výrobce, komponenty, času zjištění, posouzení závažnosti, kategorii incidentu a popis.

Příklad:

{
"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": "..."
}
// Po zaregistrování incidentu (před oznámením).
add_action('polski_cra_incident_recorded', function (int $id, $incident): void {
// vlastní integrace: Jira, PagerDuty, Slack
}, 10, 2);
// Když do lhůty 24h zbývají méně než 2h.
add_action('polski_cra_incident_deadline_approaching', function ($incident): void {
// eskalace na DPO
});

Verze 2.1.0 zavádí tabulku {$wpdb->prefix}polski_cra_incidents. Migrace se spustí automaticky při aktivaci, pokud nefunguje, vynuťte ji ručně:

Terminál
wp polski migrate --module=cra
  • UI a akce: manage_woocommerce
  • Webhook/e-mail: libovolně konfigurovatelné (žádný požadavek na oprávnění, jde o výstupní kanály)
  • Modul nesleduje automaticky práh 72h / 14 dní (pouze 24h)
  • Detekce incidentů je manuální, neskenujeme logy
  • Webhook nemá podpis HMAC (plánováno v PRO)
  • Formulář nepodporuje binární přílohy, připojte je k hlášení v ENISA SRP ručně