SVG e PDF: formatos subestimados que suportam interatividade nativa
Aprofundamento CEVIU
Aprofundamento
O SVG não é só um formato de imagem vetorial: é um DOM vivo com suporte nativo a JavaScript, eventos do mouse, animações CSS e Web Animations API. Em 2026, 65% dos sites usam SVG, mas menos de 3% exploram seu potencial interativo. A razão? Suporte inconsistente em Safari (que ainda não implementa SVG 2.0 completo) e o custo de manter um runtime JS leve fora do navegador. Já o PDF interativo depende quase exclusivamente da API Adobe Acrobat JavaScript (AJAX), que evoluiu de JS 1.5 (Acrobat 5) para JS 1.8 (Acrobat X), mas nunca foi adotada por leitores como Preview ou Chrome PDF Viewer, que simplesmente ignoram scripts ou bloqueiam por padrão.
Isso cria um paradoxo técnico: o SVG tem capacidade real de rodar aplicações autocontidas (como o Flamegraph), mas exige sanitização rigorosa, o CEVIU já alertou em abril que a sanitização manual de SVGs no Scratch falha repetidamente contra XSS. O PDF, por sua vez, tem uma API madura, mas está tecnicamente obsoleta: sem acesso à posição do mouse em tempo real, sem eventos de movimento contínuo e com segurança comprometida, CVE-2026-24737 e CVE-2026-25755 provaram que bibliotecas como jsPDF ainda são alvo fácil de injeção de código via objetos malformados.
O que mudou
Em abril de 2026, o CEVIU destacou a falha crítica na sanitização de SVGs gerados por usuários. Hoje, em junho de 2026, essa vulnerabilidade ganhou nova dimensão: o uso crescente de LLMs para gerar SVGs interativos (69% dos devs front-end já usam IA para isso) amplifica o risco, pois o prompt pode injetar <script> sem que o autor perceba. Ao mesmo tempo, o PDF deixou de ser apenas um formato estático de arquivamento: com a migração do Adobe Acrobat API Services para OAuth Server-to-Server (encerrando JWT em 30/06/2025), APIs externas agora têm mais controle sobre execução segura de scripts, mas só se o leitor for o Acrobat.
Por que isso importa
SVG e PDF interativos não são curiosidades: são alternativas viáveis para documentos autônomos em ambientes offline, sistemas embarcados ou relatórios regulatórios que exigem assinatura digital + comportamento dinâmico. Mas exigem decisões técnicas concretas: usar SVG com sanitização baseada em DOMPurify + CSP, ou PDF com fallback para formulários acrofields e validação de assinatura em tempo de abertura. Ignorar isso significa trocar conveniência por riscos reais, como XSS em dashboards internos ou execução remota em relatórios financeiros exportados.
Linha do tempo
CEVIU alerta que sanitização manual de SVGs falha contra XSS e vazamentos HTTP
CEVIU mostra os custos ocultos de processamento de PDF não estruturado com IA em produção
Nova análise revela que SVG e PDF têm interatividade nativa subutilizada, mas com riscos técnicos e de segurança reais
Perguntas frequentes
Posso usar JavaScript em SVG sem risco de XSS?
Não automaticamente. SVGs com <script> embutido são tão vulneráveis quanto HTML mal sanitizado. O CEVIU já mostrou que até ferramentas como o Scratch falham nisso. Use DOMPurify com modo 'svg' e force CSP com 'script-src none'. Nunca insira SVG diretamente via innerHTML.
Por que meu PDF interativo funciona no Acrobat mas não no Preview ou Chrome?
Porque só o Acrobat implementa a API Adobe JavaScript (AJAX) completa. Preview e Chrome PDF Viewer desabilitam scripts por padrão, e não têm suporte a eventos como mouse-enter ou campos calculados. É uma limitação de especificação, não de bug.
Existe uma alternativa segura ao PDF interativo para documentos corporativos?
Sim: SVG com fallback estático + web componentes encapsulados. Funciona offline, é auditável, e permite testes de unidade reais. Para arquivamento legal, combine com PDF/A-3 com SVG embutido como anexo, assim você mantém a interatividade sem depender do leitor.
IA gera SVG interativo, isso resolve o problema de autoria?
Resolve parcialmente. Ferramentas como Claude ou o Gerador de SVG com IA aceleram a prototipagem, mas não garantem segurança nem acessibilidade. Um SVG gerado por IA pode ter IDs duplicados, falta de aria-label, ou scripts não sanizados, exigindo revisão humana antes de produção.
Fontes
- vexlio.comfonte original
- Categoria
- CEVIU Web Dev
- Publicado
- 17 de junho de 2026
- Editoria
- CEVIU Web Dev
