Sumário executivo: Pesquisadores da LayerX descobriram como uma simples fonte personalizada pode comprometer todos os sistemas de IA do mercado. Com nada mais do que uma fonte personalizada e CSS básico, criamos uma página web onde o navegador renderiza instruções que levam o usuário a executar um shell reverso, enquanto o texto DOM analisado por ferramentas de IA contém fanfics inofensivas de videogames.
As instruções maliciosas existem apenas na camada de renderização, e todos os assistentes web de IA que testamos falharam em identificar a ameaça. As fontes são um vetor de ataque bem conhecido para a implantação de malware, e nossa pesquisa demonstrou como elas também podem ser exploradas para injeção rápida e envenenamento de sistemas de IA. Como resultado, todos os sistemas de IA – incluindo ChatGPT, Claude, Gemini e outros – podem ser alvos desse ataque, levando a um potencial vazamento de dados e/ou execução de código malicioso.
A LayerX entrou em contato com todos os fornecedores afetados por nossa pesquisa. No entanto, com exceção da Microsoft, todos explicaram que isso está “fora do escopo” do que consideram segurança de modelos de IA e envolveu engenharia social, demonstrando mais uma vez a discrepância entre o que as plataformas de IA protegem e o que os usuários acreditam que elas protegem.
Vestido para Matar: A Lacuna de Renderização da IA
Existe uma desconexão estrutural entre o que um assistente de IA analisa no HTML de uma página e o que o usuário vê renderizado pelo navegador. Em certos cenários, esses assistentes podem fornecer respostas imprecisas e potencialmente perigosas aos usuários, e os atacantes podem explorar essa limitação para realizar ataques de engenharia social.
Utilizando uma fonte personalizada e CSS, o texto HTML pode ser transformado visualmente para o usuário, mas permanecer inalterado dentro do DOM. Quando uma página é renderizada no navegador, o que o usuário vê é completamente diferente do HTML subjacente. Sim, o conteúdo ainda está lá, mas é efetivamente removido da visão do usuário.
Criamos uma página de prova de conceito que aparenta ser uma fanfic de videogame, mas que, ao ser exibida no navegador, incentiva o usuário a realizar etapas que levam a um shell reverso. Ao serem questionados sobre a segurança da página, todos os assistentes não-agentes que testamos (ChatGPT, Claude, Copilot, Dia, Fellou, Gemini, Genspark, Grok, Leo, Perplexity e Sigma) falharam em detectar o texto "oculto" e informaram com segurança ao usuário que a página não representava um risco de segurança. Os testes foram realizados em dezembro de 2025.
Um assistente de IA analisa uma página da web como texto estruturado, enquanto um navegador renderiza essa página em uma representação visual para o usuário. Dentro dessa camada de renderização, os invasores podem alterar o conteúdo visível ao usuário. significado de uma página sem alterar o DOM subjacente.
Essa desconexão entre o que o assistente vê e o que o usuário vê resulta em respostas imprecisas, recomendações perigosas e erosão da confiança.
Isso não é uma exploração de vulnerabilidade do navegador e não depende de uma falha de análise sintática. O navegador está se comportando exatamente como foi projetado. A vulnerabilidade reside em ferramentas que assumem que o texto DOM representa completamente o significado visível ao usuário.
*Por não-agente, entendemos assistentes que buscam e analisam HTML, mas não executam um pipeline de renderização completo do navegador nem analisam mapeamentos de glifos de fontes personalizados.
O Manual do Atacante
Essa técnica não requer JavaScript, kits de exploração ou vulnerabilidades do navegador:
- Prepare conteúdo HTML com aparência inofensiva, incluindo conteúdo de preenchimento que pareça inofensivo quando analisado como texto (por exemplo, fanfics).
- Insira uma carga útil codificada que pareça sem sentido no DOM.
- Crie uma fonte personalizada que remapeie os glifos para que os caracteres normais do inglês sejam renderizados como caracteres sem sentido, e a carga útil codificada seja renderizada como instruções legíveis.
- Use CSS para controlar a visibilidade, ocultando conteúdo irrelevante (por exemplo, 1px, preto sobre preto), exibindo o conteúdo da carga útil em um tamanho e cor legíveis e aplicando a fonte personalizada globalmente.
O resultado: analisadores que só processam texto veem conteúdo inofensivo, enquanto os usuários veem instruções controladas pelo atacante.
Isso move a carga útil da camada DOM para a camada de renderização.
Fluxo de trabalho de ataque
Um usuário visita esta página: https://layerxresearch.com/RaptureFuture
Para o usuário, isso parece ser um site de fanfics contendo uma mensagem que o incentiva a encontrar um "easter egg" relacionado ao videogame Bioshock:
O usuário, cauteloso, pede a um assistente de IA que examine o site e determine se as instruções do easter egg são seguras. O assistente busca e analisa o HTML e encontra principalmente fanfics inspiradas em videogames:
As seções de fanfics são ocultadas do usuário com CSS, enquanto a seção de texto codificado é exibida normalmente (e "decodificada" com a fonte personalizada). Quando o assistente visualiza a seção de texto codificado da página, ele não consegue analisar o texto em formato base64 e, portanto, o trata como ruído.
Nessas condições, O usuário vê o grande texto malicioso em verde que exibimos acima, enquanto o assistente de IA vê apenas o texto da fanfic, que agora está oculto do usuário.O assistente determina que a página é segura e, em muitos casos, até incentiva o usuário a seguir os passos que resultariam em um shell reverso.
Esta é uma técnica de engenharia social da camada de apresentação. A carga útil reside no pipeline de renderização, não no script executável.
Diagrama de ataque
Detalhes Técnicos
Se você visualizasse o código-fonte do HTML, veria principalmente texto em linguagem natural (fanfic de videogame) e uma pequena seção contendo um texto especial que se assemelha a uma sequência de caracteres sem sentido em base64.
Dentro do HTML, o CSS garante que todo o texto seja definido para uma fonte personalizada que criamos. Essa fonte atua como uma cifra de substituição visual implementada no nível do glifo da fonte. O próprio arquivo da fonte é a chave da cifra e é construído de forma que, quando renderizado em um navegador, o texto HTML normal seja exibido como caracteres ilegíveis e o texto HTML especial seja exibido como texto normal. Este ataque não requer JavaScript e funcionará mesmo se estiver desativado.
Ao ser renderizado, o texto HTML normal é reduzido a 1 pixel e visualmente oculto, sendo definido com a mesma cor do fundo da página. A fonte personalizada faz com que esse texto normal pareça ininteligível para o usuário. Mesmo que ele dê zoom e selecione o texto, verá apenas caracteres sem sentido. Mas o texto HTML normal subjacente (fanfic de videogame) é o que os assistentes de IA veem.
Quando renderizado, o texto HTML especial é exibido em um tamanho e cor adequados, de forma que... pode ser visível para o usuário. A fonte personalizada faz com que esse texto especial se torne legível para o usuário e contém uma mensagem incentivando-o a executar etapas em seu sistema que resultarão em um shell reverso.
Para os assistentes de IA, esse texto HTML especial é simplesmente um amontoado de caracteres sem sentido semelhante ao base64: ele se assemelha a uma carga útil codificada (sequências alfanuméricas de alta entropia) que não pode ser decodificada sem o mapeamento de fontes, resultando em que tanto os assistentes quanto os humanos o tratem como ruído.
Embora seja apresentado visualmente ao usuário como texto normal, O texto HTML especial subjacente (um conjunto de caracteres sem sentido) é o que os assistentes de IA veem.
Se um usuário pedir a um assistente para analisar a página e determinar se ela é segura, o assistente só poderá visualizar o HTML subjacente. Ele não renderizará a página em si e, portanto, não poderá determinar com precisão como ela será exibida para o usuário. Como o HTML subjacente é basicamente uma fanfic de videogame e o texto especial é ininteligível até mesmo para o assistente, este concluirá que o site é inofensivo.
O assistente de IA identifica um site de fanfics de videogames sem ameaças ou problemas de segurança.
O usuário visualiza os passos para estabelecer um shell reverso em seu computador.
O que o usuário vê não é o que o assistente de IA vê.
Impacto
Quando um assistente de IA analisa uma página, ele determina o conteúdo e o significado por meio do texto HTML subjacente. Quando um usuário analisa uma página, ele determina o conteúdo e o significado por meio da apresentação visual da página renderizada. Essas são duas superfícies de ataque diferentes, e a vulnerabilidade que descrevemos explora a lacuna entre elas.
Em cenários normais da web, o HTML é o o conteúdo e auxílios de fonte em apresentação de negóciosA fonte não altera o significado do texto. Nesse contexto, é razoável supor que o significado visível da página seja determinado pelo texto DOM e não por truques de substituição de glifos.
Essa suposição geralmente é segura – e é por isso que é tão eficaz.
Os modelos modernos de segurança web normalmente não tratam fontes personalizadas como transformadores semânticos ou cifras de substituição. A maioria dos assistentes de IA acessados pelo navegador não consegue detectar de forma confiável truques na camada de apresentação (como a substituição de glifos personalizados), a menos que tenham acesso ao arquivo da fonte ou a um contexto de renderização explícito. Mesmo que um assistente consiga obter o arquivo da fonte, a maioria não consegue analisar os mapeamentos de glifos ou realizar verificações de renderização e comparação por padrão.
Mesmo utilizando instruções altamente direcionadas, concebidas para induzir a detecção, nossos testes (realizados em dezembro de 2025) não identificaram um único assistente que tenha detectado a ameaça com sucesso.
Os usuários confiam em assistentes de IA para interpretar com precisão o significado de uma página da web, mas esses assistentes são enganados por uma simples cifra de substituição. Isso acarreta diversos impactos práticos na segurança:
Engenharia Social Assistida por IA
Quando um atacante cria uma página maliciosa que leva um assistente de IA a classificá-la como segura, ele efetivamente usurpa a autoridade do assistente de IA e usa sua reputação para reforçar sua própria mensagem. Essa falsa sensação de segurança pode levar os usuários a tomarem ações que, de outra forma, evitariam e, em última análise, pode corroer a confiança nos sistemas de IA dos quais dependem para obter orientações de segurança.
Pontos cegos em fluxos de trabalho de segurança assistidos por IA
A página de prova de conceito que criamos — um ataque de engenharia social que incentiva o usuário a realizar ações prejudiciais em seus próprios sistemas — é apenas um exemplo de como essa técnica de camada de apresentação pode ser explorada. Assistentes de IA estão cada vez mais integrados aos fluxos de trabalho de segurança, onde assistentes de navegador, copilotos e ferramentas de suporte técnico resumem páginas da web e procuram por ameaças potenciais. Ao mover a carga útil para a camada de renderização, os atacantes criam um ponto cego que permite que o conteúdo malicioso contorne essas ferramentas de IA que operam somente em texto.
Divulgação e respostas do fornecedor
A LayerX submeteu suas descobertas aos principais fornecedores de plataformas de IA, seguindo os procedimentos de Divulgação Responsável. A maioria dos fornecedores rejeitou o relatório, geralmente alegando que esse ataque está fora do escopo da segurança dos modelos de IA. Como resultado, os usuários desses modelos permanecem expostos a esse vetor de ataque.
Os únicos fornecedores que aceitaram este relatório e pediram tempo para corrigi-lo foram a Microsoft e o Google. Destes, o Google acabou por reduzir a gravidade do problema (após inicialmente atribuir-lhe uma classificação P2 (Alta)) e encerrou o relatório, possivelmente porque a correção exigiria um esforço demasiado grande.
O único fornecedor que abordou completamente essa questão e solicitou o prazo total para divulgação (90 dias) foi a Microsoft.
| Vendedor | Data de envio | Data de encerramento | Detalhes / Principais declarações da resposta do fornecedor |
| Microsoft | Dezembro 16, 2025 | A Microsoft aceitou o relatório em 17 de dezembro de 2025 e abriu um chamado no Centro de Resposta de Segurança da Microsoft (MSRC). | |
| Antrópico | Dezembro 16, 2025 | Dezembro 16, 2025 | “Conforme a política, os seguintes itens são considerados fora do escopo:
“Engenharia social (incluindo tentativas de phishing)” e “Problemas de conteúdo com prompts e respostas do modelo”, que estão explicitamente listados como fora do escopo deste programa.” |
| Dia | Dezembro 14, 2025 | Dezembro 16, 2025 | “Infelizmente, isso seria considerado fora do escopo da política de programas do BCNY:
Injeções de prompts que levam à desinformação, comportamentos inesperados, negação de serviço ou negação do serviço correto do assistente estão explicitamente fora do escopo. Uma injeção de prompt só é considerada dentro do escopo se causar dano demonstrável e específico a um usuário, seja por meio da exfiltração automática de dados sensíveis do usuário ou pela execução de ações não autorizadas em nome do usuário. |
| OpenAI | Dezembro 16, 2025 | Dezembro 17, 2025 | “Agradecemos a sua paciência. No entanto, a proposta, na sua forma atual, não possui o impacto necessário para ser elegível para triagem, visto que questões como esta estão explicitamente listadas como fora do escopo deste programa.” |
| Dezembro 16, 2025 | Janeiro 27, 2026 | Inicialmente, a Gemini aceitou o relatório em 17 de dezembro de 2025 e atribuiu-lhe prioridade P2 (Alta). No entanto, em 27 de janeiro de 2026, a empresa reduziu a prioridade e encerrou o relatório, observando:
“Não conseguimos identificar um cenário de ataque em que seu relatório resulte em danos significativos ao usuário. Informe-nos se deixamos passar algo e compartilhe um cenário de ataque de alto impacto. Isso porque o cenário é excessivamente dependente da engenharia social. " |
|
| Perplexidade | Dezembro 14, 2025 | Dezembro 17, 2025 | “Após uma investigação minuciosa, determinamos que este relatório não representa uma vulnerabilidade de segurança no sentido tradicional. O cenário que você descreveu é uma limitação conhecida de grandes modelos de linguagem ao processar conteúdo web externo, e não um bug ou falha nos controles de segurança do nosso sistema.”
Seu cenário de ataque se baseia em engenharia social – convencer um usuário a executar manualmente comandos de terminal sugeridos por um sistema de IA após analisar uma página da web maliciosa. Isso é semelhante a um usuário que lê conselhos ruins em qualquer site e decide segui-los. Não há execução de código em nossos servidores, nenhum acesso não autorizado a dados do usuário e nenhuma violação de controles de autenticação ou autorização. |
| xAI | Dezembro 16, 2025 | Dezembro 17, 2025 | “Obrigado pela sua contribuição! Infelizmente, este problema específico que você relatou está explicitamente fora do escopo, conforme descrito no Página de Políticas:
|
Recomendações
Ao implementar as seguintes melhorias, os LLMs podem avançar significativamente na redução – ou mesmo na eliminação – da diferença entre o que o usuário vê e o que o assistente de IA vê:
Análise de renderização e diferença em modo duplo
Realize duas análises independentes:
- Extração de DOM somente texto
- Renderização de página inteira com fontes ativadas
Extraia o texto visível da página renderizada e determine se ele difere significativamente do texto presente no DOM.
Detectar padrões de conteúdo ocultos
Estender os analisadores sintáticos para que procurem por:
- Correspondência de cores de primeiro plano/fundo
- Opacidade próxima de zero
- Tamanhos de fonte abaixo de 5px
- Posicionamento fora da tela
- Alta densidade de conteúdo oculto
Trate as fontes como uma superfície de ameaça potencial.
- Recupere o arquivo de fonte
- Inspecione as tabelas de mapeamento Unicode/glifos.
- Detectar padrões anormais de substituição de glifos
Avaliação de risco baseada na discrepância de superfície
Atribua uma pontuação de risco elevada quando:
- O texto renderizado visível não se assemelha ao texto DOM.
- O texto DOM parece inofensivo, enquanto o texto renderizado inclui instruções executáveis.
- A manipulação de CSS é usada para ocultar grandes blocos de conteúdo.
Calibração de Confiança
Se um assistente não puder:
- Renderize a página
- Analise as fontes personalizadas
- Compare o conteúdo visual com o conteúdo do DOM.
Então, deve evitar afirmações categóricas como: "A página é segura".
Conclusão
A web não é apenas HTML. O significado pode ser incorporado ao processo de renderização, e qualquer sistema que analise apenas texto é, por natureza, cego.



