CRA incidents (Cyber Resilience Act)
El módulo CRA incidents le ayuda a cumplir la obligación de notificación del Art. 14 del Reglamento de Ciberresiliencia de la UE: registra vulnerabilidades explotadas activamente e incidentes de seguridad graves, hace el seguimiento del plazo de 24 horas para la alerta temprana y prepara una exportación JSON estructurada para su presentación en la ENISA Single Reporting Platform (SRP).
Plazos de notificación
Section titled “Plazos de notificación”El Art. 14 del CRA define tres umbrales de notificación para los fabricantes de productos digitales:
| Umbral | Plazo | Alcance |
|---|---|---|
| Alerta temprana | 24h | Hecho de la detección, componente, evaluación preliminar |
| Informe del incidente | 72h | Causa raíz, alcance, mitigaciones aplicadas |
| Informe final | 14 días | Causa raíz completa, corrección, recomendaciones |
El módulo calcula el plazo de 24h automáticamente a partir de discoveredAt. Los demás plazos (72h, 14 días) deben seguirse manualmente - quedan fuera del alcance FREE.
Registrar un incidente
Section titled “Registrar un incidente”Vaya a Polski > CRA incidents > Record incident. El formulario:
| Campo | Notas |
|---|---|
| Title | Título breve (obligatorio) |
| Affected component | Nombre del producto o módulo (p. ej. polski-free, custom-checkout-module) |
| Affected versions | Rango de versiones (p. ej. <= 2.0.4) |
| Reporter | Persona que registró la notificación |
| External reference | Identificador CVE / gestor de incidencias / CVD (opcional) |
| Kind | actively_exploited_vulnerability, security_incident, near_miss |
| Severity | critical, high, medium, low |
| Summary | Descripción técnica (obligatorio) |
Tras guardar, el incidente queda en estado Open y tiene deadlineAt = discoveredAt + 24h.
Despachador de notificaciones
Section titled “Despachador de notificaciones”Para cada incidente Open, la lista ofrece la acción Dispatch notification. Se dispara en paralelo:
- Webhook (POST JSON) a la URL de la opción
polski_cra_incident_webhook - Correo electrónico con un resumen legible a la dirección de la opción
polski_cra_incident_email
Ambas opciones se configuran en Polski > Settings > CRA incidents. Tras una respuesta 2xx del webhook o un envío de correo correcto, el incidente pasa al estado Notified y almacena notifiedAt.
Exportación JSON (ENISA SRP)
Section titled “Exportación JSON (ENISA SRP)”La acción Export JSON devuelve cra-incident-<id>-<timestamp>.json con Content-Type: application/json. La estructura sigue el borrador del esquema de la ENISA Single Reporting Platform - los campos cubren la identidad del fabricante, el componente, el momento de detección, la gravedad, el tipo de incidente y el resumen.
Ejemplo:
{ "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": "..."}// Después de registrar un incidente (antes de cualquier notificación).add_action('polski_cra_incident_recorded', function (int $id, $incident): void { // Su integración: Jira, PagerDuty, Slack}, 10, 2);
// Cuando quedan menos de 2h para el plazo de 24h.add_action('polski_cra_incident_deadline_approaching', function ($incident): void { // Escalar al DPD});Migración 2.1.0
Section titled “Migración 2.1.0”La versión 2.1.0 introduce la tabla {$wpdb->prefix}polski_cra_incidents. La migración se ejecuta automáticamente en la activación. Si no lo hace, fuércela manualmente:
wp polski migrate --module=craPermisos
Section titled “Permisos”- UI y acciones:
manage_woocommerce - Webhook / correo electrónico: configurables libremente (sin requisito de capacidad - son canales salientes)
Limitaciones
Section titled “Limitaciones”- El módulo no realiza el seguimiento automático de los umbrales de 72h / 14 días (solo 24h)
- La detección de incidentes es manual - no escaneamos registros
- El webhook no tiene firma HMAC (previsto para PRO)
- El formulario no admite adjuntos binarios - añádalos manualmente a la presentación en la ENISA SRP