Mitigar o XSS baseado em DOM com Tipos confiáveis

Os Trusted Types são um recurso de segurança da plataforma da Web que ajuda a evitar determinados ataques XSS baseados em DOM, bloqueando pontos de injeção arriscados (como .innerHTML) de usar valores de string não validados. Se um ponto de injeção arriscado for bloqueado, uma violação será gerada.

O cabeçalho Content-Security-Policy (CSP) usa a diretiva require-trusted-types-for para aplicar Tipos confiáveis.

Como a auditoria do Lighthouse falha

Aviso do relatório do Lighthouse informando que o cabeçalho de resposta da CSP estava ausente ou que a diretiva Trusted Types para mitigar o XSS baseado em DOM.
Aviso do relatório do Lighthouse informando que o cabeçalho de resposta da CSP estava ausente ou que a diretiva Trusted Types para mitigar o XSS baseado em DOM.

A auditoria será aprovada se o cabeçalho CSP for definido com a diretiva require-trusted-types-for e o script como valor. A auditoria vai falhar se o cabeçalho da CSP não estiver definido ou se estiver definido, mas sem a diretiva de Tipos confiáveis.

Configure um cabeçalho CSP e uma diretiva de Tipos confiáveis para reduzir o XSS baseado em DOM

Os user agents usam a diretiva require-trusted-types-for para controlar quais dados são transmitidos para funções de coletor de DOM XSS. O valor script dessa diretiva verifica se as funções de receptáculo de injeção XSS do DOM aceitam apenas tipos gerados por políticas de tipo confiável, em vez de permitir strings:

Content-Security-Policy: require-trusted-types-for 'script';