
Torne seguro servir arquivos SVG não confiáveis
O objetivo desta ferramenta é tornar arquivos SVG arbitrários tão benignos e seguros de servir como imagens quanto os outros formatos de arquivo Web comuns. Arquivos SVG não são apenas imagens, são documentos com acesso total a todos os recursos de HTML e JavaScript. Esta ferramenta filtra arquivos SVG para remover o uso de quaisquer recursos potencialmente arriscados.
Remove scripts. Impede que arquivos SVG sejam usados para ataques de cross-site scripting. Embora os navegadores não permitam scripts em ``, eles permitem scripts quando arquivos SVG são abertos diretamente como documento de nível superior.
Remove hiperlinks para documentos em outros domínios. Torna os arquivos SVG menos atrativos para spam de SEO e phishing.
Remove referências a recursos de origem cruzada. Impede que terceiros rastreiem quem está visualizando a imagem.
Esta ferramenta remove quaisquer elementos e atributos que não estejam em sua lista de permissões e filtra todas as URLs para que sejam apenas de mesma origem (caminhos sem nome de host). Ela pode quebrar algumas imagens SVG. Por favor, registre um bug quando encontrar uma imagem que seja filtrada de forma excessivamente agressiva!
Esta ferramenta pode tornar os arquivos SVG menores ao remover lixo desnecessário deles, mas não se destina a ser um otimizador de SVG. É seguro combinar o svg-hush com ferramentas de otimização de SVG.
Independentemente desta filtragem, é melhor servir imagens SVG com um Content-Security-Policy restritivo. Esta ferramenta é uma defesa em profundidade para casos em que o cabeçalho CSP pode não ser suportado, ser perdido ou ser contornado (por exemplo, devido a configuração incorreta do servidor/CMS ou a um ServiceWorker que não encaminha cabeçalhos).
DOCTYPEs que fazem referência a arquivos DTD externos não são permitidos. Subconjunto interno é suportado.