Proteside Docs

Scripts

Revisa, autoriza y bloquea los scripts que se ejecutan en tus páginas de pago y sigue la integridad de cada uno.

La página Scripts es el inventario de todos los scripts vistos en las páginas donde está instalado el SDK. PCI DSS 4.0, requisito 6.4.3, exige exactamente eso: saber qué scripts se ejecutan en la página de pago, tener una justificación para cada uno y garantizar que no cambien sin revisión. El requisito 11.6.1 pide que se detecten los cambios: esa es la función de la pestaña Integridad.

Página Scripts con el aviso de recomendaciones, el aviso de scripts propios pendientes, las pestañas Todos y Re-revisión, los filtros y la columna Estado
Inventario de scripts: recomendaciones (1), autorización masiva (2), pestañas (3), filtros (4) y estado (5).

En la parte superior de la página pueden aparecer dos avisos:

  • Ver recomendaciones (1): hay decisiones sugeridas por políticas de aprobación esperándote.
  • Autorizar todos los propios (2): hay scripts de la propia tienda esperando revisión. Más abajo verás cómo usarlo.

Cómo se arma el inventario

El inventario se alimenta del SDK en las sesiones de los clientes y de los verificadores de Proteside (el verificador sintético y el verificador en el servidor, que recalcula el hash de los scripts externos cada 6 horas). Cada dirección de script se convierte en una fila. Los scripts inline (escritos dentro del HTML) se identifican por su propio contenido.

El SDK de Proteside aparece en el inventario ya autorizado, con el método Automático.

Tipos

TipoSignificado
PropioScript inline o servido por el dominio de la tienda (incluye subdominios).
De tercerosScript de un proveedor conocido, presente en el catálogo de Proteside.
DesconocidoScript de otro dominio que no está en el catálogo. Merece más atención.

Categorías

Pago, Analítica, Publicidad, Funcional, Autenticación, Gestor de etiquetas y Desconocido. La categoría viene del SDK o del catálogo de proveedores. Los scripts inline y las bibliotecas conocidas servidas por la propia tienda (jQuery, WooCommerce, archivos de build de Next.js o de Nuxt) entran como Funcional.

Estados

EstadoSignificado
Requiere revisiónVisto en la página y a la espera de una decisión. Es el estado de todo script nuevo.
AutorizadoAprobado por una persona, por una política o por la API, con justificación.
BloqueadoBloqueado por una regla. El SDK impide el script cuando se inserta por JavaScript.
SospechosoSeñalado por comportamiento sospechoso.
MaliciosoConfirmado como malicioso. La fila queda resaltada en rojo.
ConfiableEstado antiguo, anterior a la autorización con justificación.
En lista de permitidosEstado antiguo, de una regla de permiso.

Hoy ningún flujo del dashboard marca un script como Sospechoso o Malicioso, y no hay un botón para hacerlo. En el día a día vas a trabajar con Requiere revisión, Autorizado y Bloqueado.

Junto al estado (5) pueden aparecer marcadores:

  • ↺ Re-revisión: el contenido del script cambió y necesita una nueva decisión.
  • Divergente: el contenido actual es distinto del que se autorizó.
  • Autorización vencida: pasó la vigencia de la autorización.
  • Revisión en N días: la autorización vence en menos de 14 días.

Encontrar un script

Usa las pestañas Todos y Re-revisión (3) y los filtros (4):

  • Todos / Propios / De terceros / Desconocidos filtran por tipo.
  • Todos los estados filtra por estado. Cada opción muestra una pista de lo que significa.
  • Buscar por URL o dominio busca en la dirección, en el dominio y en el nombre del script.

La lista muestra primero los scripts que requieren revisión y después los vistos más recientemente, 50 por página. Los filtros quedan en la dirección de la página: puedes copiar el enlace y enviárselo a alguien del equipo con la misma vista.

Haz clic en cualquier fila para abrir el panel de detalles, con el hash, el tamaño, cuándo se vio el script por primera y por última vez, el tipo, la categoría y el estado. El campo Páginas muestra la última página en la que se vio el script, no todas. Para scripts inline, el bloque Contenido del script muestra los primeros 8 KB del código, recogidos por el verificador sintético.

Revisar y autorizar un script

Autorizar es registrar que conoces el script, sabes por qué está en la página y aceptas que se ejecute. La justificación queda guardada como evidencia del requisito 6.4.3.

Panel de detalles del script en la pestaña Autorización, con método, autor, vigencia, próxima revisión, justificación y los botones Autorizar y Bloquear
Pestaña Autorización (1) con la última decisión (2) y los botones Autorizar (3) y Bloquear (4).

Abre el script

Haz clic en la fila del script, o en el menú … de la fila y luego en Ver detalles.

Revisa la pestaña Autorización

La pestaña Autorización (1) muestra la última decisión (2): Método, Autorizado por, Revisado el, Válido hasta, Próxima revisión, la Política que decidió (si la hay) y la Justificación. Un script nunca revisado muestra "Este script aún no fue revisado".

Haz clic en Autorizar

Haz clic en Autorizar (3). Si el script ya está autorizado, el botón se llama Reautorizar.

Escribe la justificación y elige la vigencia

Modal Autorizar script con el campo de justificación, las sugerencias, las opciones de vigencia y el botón Autorizar
Justificación (1), sugerencias (2), vigencia (3) y confirmación (4).

Completa la Justificación (1), con al menos 10 caracteres. Las Sugerencias (2) traen textos listos para la categoría del script; al hacer clic en una, reemplaza lo que esté escrito. En Vigencia de la autorización (3), elige Sin vencimiento, 90 días, 180 días o 365 días. Cuando vence la vigencia, el script vuelve a Requiere revisión: PCI DSS recomienda la revisión periódica.

Confirma

Haz clic en Autorizar (4). El script pasa a Autorizado y el hash actual se convierte en el hash autorizado, que servirá de referencia para detectar cambios.

Toda decisión queda registrada con autor, fecha, justificación y vigencia, y aparece en las evidencias PCI DSS y en el registro de auditoría.

Autorizar no habilita nada en el navegador

La autorización es un registro de decisión; no se envía al SDK. El único efecto en el navegador es que se desactivan las reglas de bloqueo activas que coincidan con el script (por el dominio, por la URL o por el hash). Si el script estaba bloqueado por una regla de dominio, autorizarlo desbloquea todo el dominio. El mensaje de confirmación puede mencionar "1 regla(s) de bloqueo desactivada(s)" incluso cuando no había ninguna regla; revísalo en Reglas.

Autorizar todos los scripts propios

En la primera semana, la mayor parte del inventario suele ser de scripts de la propia tienda. En lugar de autorizarlos uno por uno:

Haz clic en Autorizar todos los propios

El botón (2) aparece cuando hay scripts Propios con el estado Requiere revisión.

Escribe una única justificación

La misma justificación y la misma vigencia valen para todos. Si quieres, usa las sugerencias de "Propio".

Confirma

Haz clic en Autorizar. La autorización vale para todos los scripts propios pendientes de la tienda, no solo para los que aparecen en la página o en el filtro actual.

Bloquear un script

Elige Bloquear

En el menú … de la fila, o en el panel de detalles, haz clic en Bloquear (4 en la captura de la pestaña Autorización).

Registra el motivo

La justificación es opcional para bloquear, pero registrar el motivo ayuda en la auditoría.

Confirma

Haz clic en Bloquear. El script pasa a Bloqueado y Proteside crea una regla en Reglas, con el nombre del script como etiqueta. El SDK aplica la regla en las páginas en menos de 60 segundos, aunque puede tardar algunos minutos por la caché.

Bloquear un script externo bloquea todo el dominio

Para scripts de otra dirección, la regla creada es de dominio, con todos los subdominios. Todos los scripts de ese dominio dejan de cargarse, incluidos los que autorizaste (siguen apareciendo como Autorizado en el inventario). Si el script es Propio y está en el dominio de la tienda, la regla bloquea los scripts de la tienda insertados por JavaScript. Para bloquear un solo archivo, ve a Reglas, desactiva la regla de dominio creada y agrega una regla Bloquear con el objetivo URL del script.

Bloquear un script inline no lo detiene en el navegador

Para scripts inline, la regla creada es por hash de contenido, y el SDK todavía no aplica ese tipo de regla. El script queda como Bloqueado en el inventario y la regla aparece como activa, pero el código sigue ejecutándose. Para detener un script inline, quítalo del HTML, del tema de la tienda o del gestor de etiquetas.

Los scripts escritos directamente en el HTML de la página se ejecutan antes de que cargue el SDK y no se pueden detener en el navegador. Cuando esto ocurre con un script bloqueado, el inventario muestra un aviso en amarillo. La solución es la misma: quitar la etiqueta del HTML o del tema. Los scripts insertados por JavaScript, incluidas las etiquetas de Google Tag Manager, se bloquean antes de ejecutarse.

Para deshacer un bloqueo, haz clic en Autorizar en el script bloqueado: la regla de bloqueo correspondiente se desactiva.

Integridad y hash

El hash es la huella digital del contenido del script (SHA-256). Cuando autorizas un script, el hash de ese momento queda guardado como hash autorizado. Si el contenido cambia después, Proteside lo detecta.

Panel de detalles del script en la pestaña Integridad, con el aviso de contenido modificado, el estado, el hash autorizado y el hash actual y el SRI sugerido
Aviso de cambio (1), estado (2), pestaña Integridad (3), hashes (4) y SRI sugerido (5).

Qué ocurre cuando cambia el contenido de un script autorizado:

  1. La integridad pasa a Divergente y el panel muestra un aviso en la parte superior (1).
  2. El script vuelve a Requiere revisión (2) y entra en la pestaña Re-revisión.
  3. Se abre una alerta Divergencia de Integridad de Script, de severidad alta, en Alertas.

En la pestaña Integridad (3) comparas el Hash autorizado con el Hash actual (4) y ves:

IntegridadSignificado
IntactoEl contenido actual es igual al autorizado.
DivergenteEl contenido cambió desde la autorización.
PendienteScript del dominio de la tienda todavía sin hash calculado.
MonitoreadoScript de terceros cuyo contenido el navegador no puede leer; lo sigue el verificador en el servidor.
BloqueadoEl script está bloqueado.

El Origen del hash indica quién calculó el valor: Contenido inline, Descarga en el navegador (CORS), Verificador en el servidor, Verificador sintético o No disponible. La pestaña también muestra Versiones, Última verificación, Hash modificado el, si el script tiene Atributo integrity, el Contenedor GTM y el Proveedor, cuando los hay.

SRI sugerido

Cuando el verificador logra calcularlo, la pestaña muestra el Subresource Integrity (SRI) sugerido (5). Haz clic en Copiar atributo SRI y pega el atributo en la etiqueta script de tu sitio. Con él, el propio navegador se niega a ejecutar el archivo si el contenido cambia.

Usa SRI solo en archivos con contenido fijo, como los que tienen la versión en la dirección. Si el proveedor actualiza el archivo en la misma dirección, el navegador deja de cargarlo.

Atender la re-revisión

Abre la pestaña Re-revisión

La pestaña Re-revisión (3 en la captura de la lista) muestra los scripts cuyo contenido cambió. El panel se abre directamente en la pestaña Integridad.

Entiende el cambio

Compara los hashes y, si es posible, confirma con el proveedor o con tu equipo qué cambió (una nueva versión, una configuración del gestor de etiquetas).

Decide

Haz clic en Reautorizar con una nueva justificación o en Bloquear. Después, resuelve la alerta correspondiente en Alertas.

Las autorizaciones vencidas no entran en la pestaña Re-revisión

Cuando vence la vigencia de una autorización, el script vuelve a Requiere revisión, pero no aparece en la pestaña Re-revisión. Para encontrarlos, usa la pestaña Todos con el filtro de estado Requiere revisión. La pestaña Re-revisión también puede listar scripts nunca autorizados cuyo contenido cambió.

Scripts inactivos

Los scripts que no aparecen hace más de 30 días quedan ocultos. Para verlos, marca Mostrar inactivos. Aparecen con la etiqueta Inactivo. El total en la parte superior de la página y el contador de la pestaña Todos incluyen los inactivos.

Quién puede autorizar y bloquear

Solo los propietarios y administradores de la tienda autorizan, reautorizan y bloquean. Los miembros y lectores ven el inventario y los detalles, pero los botones de acción no les aparecen.

Próximos pasos

En esta página