Analizador de CSP
Pega el valor de una cabecera Content-Security-Policy para ver cada directiva explicada en lenguaje claro y cada riesgo señalado por gravedad, todo en tu navegador.
El analizador de CSP interpreta y puntúa tu Content-Security-Policy por completo en tu navegador. El valor de cabecera que pegas nunca sale de tu dispositivo y nada se sube a ArrayKit.
Abre el generador de cabecera CSP
Acerca de Analizador de CSP
El analizador de CSP toma el valor de una cabecera Content-Security-Policy y lo desglosa en una tabla por directiva, explicando qué controla cada directiva en lenguaje claro. Luego audita la política en busca de las debilidades que en silencio derrotan a CSP: 'unsafe-inline' y 'unsafe-eval' en fuentes de scripts, comodines '*' sueltos, orígenes http: inseguros, un esquema data: demasiado amplio, y endurecimiento ausente como default-src, object-src 'none', frame-ancestors y base-uri. Cada hallazgo lleva una gravedad para que veas de un vistazo si una política es sólida o permeable. Es útil cuando estás endureciendo un sitio, revisando una política que un framework generó por ti, o depurando por qué una CSP en modo report-only todavía permite scripts en línea. Todo se analiza y puntúa en tu dispositivo: la cabecera que pegas nunca se sube.
Características
- Interpreta cualquier valor de Content-Security-Policy en una tabla limpia por directiva
- Explica cada directiva (script-src, frame-ancestors, base-uri…) en lenguaje claro
- Señala 'unsafe-inline' y 'unsafe-eval' en fuentes de scripts como riesgo alto
- Detecta comodines '*' sueltos y fuentes http: inseguras
- Advierte de la ausencia de default-src, object-src 'none', frame-ancestors y base-uri
- Asigna una gravedad (alta / media / baja / OK) a cada hallazgo
- Acepta entradas con o sin el nombre de cabecera 'Content-Security-Policy:'
- Funciona por completo en tu navegador: la política que pegas nunca sale de tu dispositivo
Cómo usar Analizador de CSP
- Copia el valor de la cabecera Content-Security-Policy de tu configuración de servidor o cabeceras de respuesta
- Pégalo en el analizador (el nombre de cabecera inicial es opcional)
- Lee la tabla por directiva para confirmar qué permite cada directiva
- Recorre los hallazgos, del peor primero, y endurece las directivas señaladas
Ejemplo
Entrada
default-src 'self'; script-src 'self' 'unsafe-inline'; object-src 'none'
Salida
HIGH script-src 'unsafe-inline' permits inline scripts
MED frame-ancestors missing — page can be framed (clickjacking)
OK object-src 'none' blocks plugins (recommended)
El analizador señala unsafe-inline como alto, nota la ausencia de frame-ancestors y confirma object-src 'none'.
Errores comunes y solución de problemas
- La política tiene script-src 'self' pero los scripts en línea aún se ejecutan. — Comprueba si hay 'unsafe-inline' en script-src (o en default-src como su respaldo). Elimínalo y cambia a nonces o hashes para que solo tus bloques en línea se ejecuten.
- El analizador advierte que falta default-src. — default-src es el respaldo de la mayoría de las directivas fetch. Sin ella, cualquier directiva que no listaste explícitamente queda sin restricción: añade default-src 'self' o 'none'.
- Se señala frame-ancestors aunque X-Frame-Options esté definido. — Los navegadores modernos prefieren frame-ancestors sobre X-Frame-Options. Añade frame-ancestors 'self' o 'none' a la CSP para que el enmarcado se controle desde la política.
- Un comodín '*' en una fuente se informa como riesgo. — '*' permite contenido de cualquier origen, anulando el propósito de esa directiva. Reemplázalo por los hosts https:// específicos de los que realmente cargas.
Preguntas frecuentes
- ¿Qué comprueba el analizador de CSP?
- Interpreta cada directiva, explica qué controla y señala debilidades comunes: 'unsafe-inline' y 'unsafe-eval' en fuentes de scripts, comodines '*' sueltos, orígenes http: inseguros, un esquema data: demasiado amplio, y la ausencia de default-src, object-src 'none', frame-ancestors y base-uri.
- ¿Por qué se señala 'unsafe-inline' como riesgo alto?
- 'unsafe-inline' deja ejecutar bloques <script> en línea y atributos de manejador de eventos, que es exactamente el vector de inyección que CSP debe bloquear. Neutraliza en la práctica a script-src, así que el analizador lo trata como un hallazgo de gravedad alta y sugiere nonces o hashes en su lugar.
- ¿Necesito incluir el nombre de cabecera 'Content-Security-Policy:'?
- No. Puedes pegar la línea de cabecera completa o solo el valor de la política. El analizador elimina un prefijo inicial 'Content-Security-Policy:' o 'Content-Security-Policy-Report-Only:' automáticamente antes de interpretar.
- ¿Por qué el analizador advierte de la ausencia de frame-ancestors?
- Sin frame-ancestors, cualquier sitio puede incrustar tu página en un iframe, habilitando el clickjacking. frame-ancestors es el reemplazo moderno de X-Frame-Options, así que el analizador recomienda añadir frame-ancestors 'self' o 'none'.
- ¿Esto valida que mi política sea sintácticamente perfecta?
- Se centra en la postura de seguridad más que en la gramática estricta. Maneja las formas comunes que los navegadores aceptan —directivas separadas por punto y coma con fuentes separadas por espacios— y señala fuentes arriesgadas y endurecimiento ausente en lugar de detenerse en los espacios en blanco.
- ¿Se envía a algún sitio la cabecera CSP que pego?
- No. El analizador de CSP interpreta y puntúa la política por completo en tu navegador. El valor de cabecera que pegas permanece en tu dispositivo y nunca se sube a ArrayKit.
Herramientas relacionadas
Todas las herramientas de ArrayKit