Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
safe-svg — Biblioteca simples e leve que ajuda a validar arquivos SVG de forma segura. | Kitploit
Ferramentas/GitHubGitHub/bgalek/safe-svg
Ferramentas DefensivasAnálise EstáticaAnálise de VulnerabilidadesAnálise de CódigoSegurança Web
GitHubbgalek/safe-svg

safe-svg

Biblioteca simples e leve que ajuda a validar arquivos SVG de forma segura.

Ver Repositório
48914há 1 diaRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Site
Compartilhar

SEGURANÇA DE SVG

Biblioteca simples e leve que ajuda a validar arquivos SVG de forma segura.

Build Codecov GitHub Release Date Maven Central Libraries.io dependency status for GitHub repo Quality Gate Status

Ela ajudará você a detectar conteúdo malicioso dentro de SVGs enviados.

Você sabia que SVG pode causar XSS?

Leia https://sekurak.pl/pozwalasz-ladowac-pliki-svg-masz-xss-a/ para mais detalhes.

Exemplo

Tente enviar este SVG para a sua aplicação; se ele passar e o usuário conseguir visualizar este arquivo - provavelmente você está vulnerável a um ataque XSS.

<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" baseProfile="full" xmlns="http://www.w3.org/2000/svg">
<polygon id="triangle" points="0,0 0,50 50,0" fill="#009900" stroke="#004400"/>
<script type="text/javascript">
alert('Hello, world!');
</script>
</svg>

Uso

Adicione a dependência da biblioteca:

implementation "com.github.bgalek.security.svg:safe-svg:1.2.0"

Você pode usar esta biblioteca para verificar arquivos SVG enviados

SvgSecurityValidator svgSecurityValidator = SvgSecurityValidator.builder().build();
String svg = "<?xml version=\"1.0\" standalone=\"no\"?>\n" +
                "<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n" +
                "<svg version=\"1.1\" baseProfile=\"full\" xmlns=\"http://www.w3.org/2000/svg\">\n" +
                "<polygon id=\"triangle\" points=\"0,0 0,50 50,0\" fill=\"#009900\" stroke=\"#004400\"/>\n" +
                "<script type=\"text/javascript\">\n" +
                "alert('Hello, world!');\n" +
                "</script>\n" +
                "</svg>";
        ValidationResult validation = svgSecurityValidator.validate(svg);
        if (validation.hasViolations()) {
            throw new RuntimeException("this file is suspicious" + validation.getOffendingElements());
        }

Se você quiser permitir outros elementos/atributos (possivelmente não seguros), use

ValidationResult detect = SvgSecurityValidator.builder()
    .withAdditionalElements(elements)
    .withAdditionalAttributes(attributes)
    .build()
    .validate(testFile);

Você também pode habilitar a validação estrita de sintaxe XML. A entrada é analisada com um parser reforçado contra XXE (entidades externas e DTDs nunca são resolvidos, a expansão de entidades é desabilitada), e uma InvalidXMLSyntaxException é lançada para XML malformado:

ValidationResult detect = SvgSecurityValidator.builder()
    .withSyntaxValidation()
    .build()
    .validate(testFile);

Entradas do tipo String e byte[] são suportadas (byte[] é decodificado como UTF-8).

Baixar ferramenta