Remover scripts e código oculto de arquivos SVG
07 Não é nem um formato de foto - um risco completamente diferente
Todos os outros formatos deste site são pixels rasterizados envolvidos em um contêiner binário. O SVG é
diferente: é texto XML puro descrevendo formas, e o XML pode conter um elemento
<script>, manipuladores de eventos inline (onload=, onclick=),
ou declarações de entidade XXE - código real, não só dados viajando junto. Praticamente não há risco de
EXIF/GPS aqui (SVGs não são saída de câmera), mas o risco de conteúdo ativo é real e específico deste
formato em particular.
Aprofunde-se: por que o SVG não pode ser "limpo" como outros formatos
Não existe um subconjunto seguro de XML/script arbitrário para preservar enquanto se remove "só as
partes ruins" - então esta ferramenta não tenta. Todo SVG é rasterizado: renderizado em pixels
planos por meio de um renderizador reforçado que nunca executa conteúdo
<script> e nunca faz uma requisição de rede durante a renderização, e esse
resultado em pixels passa então pelo mesmo processo de reconstrução de qualquer outro formato. A
saída é sempre um PNG - não existe tal coisa como um "SVG desinfetado" aqui, de propósito, o mesmo
raciocínio tratado na página de comparativo.
O que realmente é sinalizado antes de rasterizar
O relatório aponta exatamente o que foi encontrado antes de ser descartado - elementos
<script>, URIs javascript:, atributos de manipuladores de eventos
inline, elementos <foreignObject>, e declarações de entidade DOCTYPE - para que você
veja especificamente o que havia no arquivo, não só uma mensagem genérica de "isso foi limpo".