Ir para o conteúdo

Analisador de relatórios de violação de CSP

Transforme relatórios de violação de CSP em resumo legível mostrando quais directivas e fontes estão bloqueadas.

Entrada
Saída

Analisador de relatórios de violação de CSP

Cole o JSON que o seu endpoint report-uri de CSP ou colector da API de Relatórios recebeu e esta ferramenta transforma um amontoado de relatórios de violação num resumo que consegue ler: quais directivas estão bloqueadas e quais fontes as disparam. Foi construído para programadores implementando ou reforçando uma Content-Security-Policy, que necessitam ver o padrão em dezenas ou centenas de relatórios em vez de os ler um a um.

Agrue por directiva para ver quais secções políticas disparam mais, ou agrupe por fonte bloqueada para encontrar o script ou stylesheet que causa mais ruído. Oculte relatórios de extensões de navegador — Chrome e Firefox enviam corpos csp-report com um blocked-uri chrome-extension: ou moz-extension: sempre que uma extensão instalada viola a política da página, o que nada tem a ver com o seu próprio código. Ative páginas afectadas para ver cada URL de documento onde uma violação foi detectada. Mude o resultado para regras sugeridas e a ferramenta propõe os acréscimos à lista de fontes — origens, 'unsafe-inline', data: — que permitiriam cada directiva bloqueada, como ponto de partida para alargar a política.

O analisador aceita um array JSON, um único objecto de relatório ou um relatório por linha, e compreende tanto o corpo POST {"csp-report": {...}} clássico como o envelope {"type", "body"} mais recente da API de Relatórios, pelo que os logs brutos do servidor colam sem reformatação. Relatórios que não se analisam são ignorados em vez de falhar o lote, e a contagem mostra quantos relatórios chegaram, em quantos grupos se colapsaram e quantos relatórios de extensão foram filtrados.

Tudo funciona no seu navegador. Os relatórios colados nunca são carregados para lugar nenhum, o que importa visto que podem incluir URLs internos e estrutura de páginas. Copie o resumo, descarregue-o como ficheiro .txt, ou envie-o para a entrada de outra ferramenta para continuar o trabalho.

FAQ

Que formatos de relatório é que compreende?
Ambas as formas que os navegadores enviam: o corpo POST report-uri clássico envolvido em "csp-report", e o envelope mais recente da API de Relatórios com um campo "body". Também aceita um objecto de relatório isolado sem envolvimento, e quer um array JSON quer um relatório por linha.
Qual é a diferença entre agrupar por directiva e por fonte?
Agrupar por directiva mostra quais secções políticas (script-src, style-src…) disparam mais; agrupar por fonte bloqueada mostra qual script, stylesheet ou outro recurso causa a maioria das violações entre directivas.
Por que é que alguns relatórios estão ocultos por defeito?
Relatórios cuja blocked-uri começa com chrome-extension: ou moz-extension: vêm de uma extensão de navegador violando a política da página, não do seu próprio código. A sua ocultação está ligada por defeito; desactive-a para ver tudo.
Como é que as regras sugeridas são calculadas?
Para cada directiva, a ferramenta recolhe todas as fontes bloqueadas distintas vistas e reduz-as a uma expressão de fonte CSP — uma origem para um URL, 'unsafe-inline' para scripts ou estilos inline, 'unsafe-eval' para eval, data: para URIs data — depois lista-as como ponto de partida, não uma política para colar sem revisão.
É que os meus dados de relatório são carregados para qualquer lugar?
Não. A análise acontece inteiramente no seu navegador — os relatórios colados nunca deixam o seu dispositivo.