← Inicio

Red

Analizar CSP

Revisa una Content-Security-Policy: unsafe-inline, unsafe-eval, comodines, object-src, base-uri y frame-ancestors.

Cómo funciona

La Content-Security-Policy le dice al navegador desde dónde puede cargar scripts, estilos, imágenes o iframes. Bien escrita, es la defensa más efectiva contra XSS; mal escrita, da una falsa sensación de seguridad. Este analizador la lee directiva por directiva y señala los problemas.

Pega la política tal cual sale en las cabeceras o en una etiqueta <meta>. Verás una tabla con cada directiva, sus fuentes y qué controla. Las directivas que no declaras heredan de default-src, y la revisión lo tiene en cuenta.

La revisión marca como graves 'unsafe-inline' sin nonce ni hash, 'unsafe-eval' y los comodines en script-src (*, https:, data:). Como avisos aparecen object-src distinto de 'none', la falta de base-uri o de frame-ancestors, los orígenes http://, las directivas repetidas, las obsoletas y las mal escritas. También reconoce las buenas prácticas: nonces y 'strict-dynamic'.

Con Copiar limpia obtienes la política en una línea, sin duplicados ni espacios de más. Úsala antes de desplegar una política nueva o para revisar la de un sitio de terceros. El análisis ocurre en tu navegador.

Ejemplos

Una CSP habitual con huecos

Entrada
script-src 'self' 'unsafe-inline' https:; img-src *
Resultado
✗ script-src permite 'unsafe-inline': la CSP no frena XSS.
✗ script-src acepta «https:»: permite cargar scripts de casi cualquier lado.
! object-src no es 'none'
! Falta base-uri
! Falta frame-ancestors

Una CSP estricta con nonce

Entrada
default-src 'self'; script-src 'nonce-r4nd0m' 'strict-dynamic'; object-src 'none'; base-uri 'none'; frame-ancestors 'none'; form-action 'self'; report-to csp
Resultado
✓ Usa 'strict-dynamic'
✓ Usa nonces: genera uno nuevo y aleatorio en cada respuesta.

Preguntas frecuentes

¿Por qué unsafe-inline es tan grave?

Porque el ataque XSS más común inyecta un <script> en línea. Si la política lo permite, la CSP deja de proteger contra él. Usa nonces o hashes para autorizar solo tus scripts.

¿Qué es strict-dynamic?

Permite que un script autorizado con nonce o hash cargue otros scripts, sin tener que listar dominios. Junto con nonces, es la forma recomendada de escribir una CSP estricta.

¿Puedo pegar la etiqueta <meta>?

Sí. Acepta la política sola, la cabecera completa con Content-Security-Policy: o Content-Security-Policy-Report-Only:, y el atributo content de un <meta http-equiv>.