JavaScript desconocido, un campo de pago extraño o markup oculto puede ser una extensión legítima, un despliegue de tags o skimming. Como checkout trata información sensible, considera alto riesgo todo código sin propietario y propósito verificados.
Pausa transacciones inseguras y conserva el estado desplegado antes de limpiar.
Protege clientes inmediatamente
Desactiva checkout o sirve mantenimiento estático fuera del WordPress no confiable. Si solo afecta una pasarela y la contención está demostrada, deshabilítala mediante un control confiable.
No pidas reintentar ni uses tarjeta real para comprobar robo. Notifica al proveedor de pago y responsable interno según su proceso.
Define el intervalo potencial de exposición desde la primera aparición conocida hasta la contención. Conserva pedidos y referencias de pago de ese periodo sin copiarlos a tickets. El proveedor o equipo forense decidirá qué registros son necesarios según obligaciones aplicables.
Preserva evidencia
Captura URL del script o hash inline, página, hora, headers y captura segura. Guarda archivos, base, logs web/CDN y configuración Tag Manager antes de cambios.
No pegues el script en email ni lo ejecutes en decoders online. Usa repositorio de incidente restringido. Registra primera aparición y despliegues recientes.
Captura Content Security Policy, integridad SRI si existe, iniciador de Network y cadena de carga. Un script legítimo puede haber sido modificado en origen sin cambiar su URL. Conserva una copia/hash siguiendo el proceso forense, no desde un navegador con credenciales activas.
Determina si está autorizado
Compara con integraciones aprobadas de pago, analytics, consentimiento, chat y fraude. Revisa tickets, updates y versiones GTM.
Un proveedor aprobado debe tener propietario, dominio y finalidad documentados. Un CDN conocido no demuestra legitimidad: una cuenta comprometida también publica cambios. Minimiza proveedores en checkout.
Compara con el inventario aprobado de scripts y la versión desplegada. Verifica el cambio con el proveedor por un canal independiente. Si nadie puede explicar por qué necesita leer campos del checkout, mantén la contención aunque el nombre de la librería parezca conocido.
Localiza la inyección
Inspecciona HTML final y Network para saber si procede de option/post, tema, plugin, GTM, worker CDN o auto-prepend.
Compara origen y proxy mediante prueba protegida. Busca contenido/base, hooks wp_head/wp_footer, plugins activos/mu y PHP en directorios escribibles.
No borres la primera cadena antes de descubrir cómo reaparece.
Revisa también GTM, gestores de consentimiento, optimizadores que combinan JavaScript, Service Workers y extensiones del checkout Blocks. Desactiva una fuente en una copia contenida y vuelve a renderizar para localizar la capa sin alterar producción antes de preservar.
Revisa configuración de pago
Audita pasarelas, webhooks, API keys, datos de payout/banco y cambios recientes. Verifica administradores/sesiones del proveedor.
Rota credenciales en el proveedor después de preservar evidencia y evaluar exposición. No guardes secretos nuevos en tickets o navegador comprometido.
Concilia pagos y pedidos independientemente. No cambies estados para ocultar discrepancias.
Busca cambios en beneficiario, cuenta bancaria, descriptor y dominios de retorno además de API keys. Compara capturas y reembolsos con órdenes durante el intervalo. Escala inmediatamente cualquier desvío de fondos al proveedor y al responsable autorizado.
Audita acceso privilegiado
Revisa administradores, application passwords, usuarios/keys del hosting, base, CDN y Tag Manager. Revoca desconocidos y activa MFA.
Examina auditoría y despliegue desde la primera aparición. Un nombre de desarrollador legítimo no prueba que su cuenta no fuese comprometida. Revisa tiendas hermanas con credenciales o hosting compartidos.
Coordina evidencias y avisos con procesador/adquirente; sus requisitos contractuales pueden exigir logs y plazos específicos. No afirmes a clientes que no hubo acceso sin evidencia.
Reconstruye checkout
Sustituye WordPress, WooCommerce, plugins y temas con fuentes verificadas. Valida código propio línea por línea e importa solo configuración evaluada a un entorno limpio.
Cierra componente vulnerable o acceso robado y rota secretos. Un scanner que quita el script visible no es recuperación. Mantén producción contenida hasta validar.
Aplica una CSP de forma compatible como defensa adicional después de inventariar proveedores, pero no la uses para afirmar que el compromiso terminó. Un atacante con acceso al servidor puede modificar la política o inyectar desde un dominio permitido.
Verifica tras abrir
Prueba checkout con sandbox o método de riesgo bajo. Inspecciona código, dominios Network, creación, estado de pago, emails, reembolsos y móvil.
Monitoriza cambios en archivos, base y GTM y alertas del proveedor. Cumple obligaciones legales, contractuales y de pagos si pudo haber exposición.
Solicita rescate WooCommerce urgente ante código inexplicable. Comparte acceso gestionado, horas y lista de proveedores, nunca tarjetas, claves API o scripts por canales públicos.