ASCII smuggling burlou filtros — normalize Unicode antes de ligar a IA

Em 3 de setembro de 2026, a Microsoft revelou uma campanha de phishing que inseriu caracteres Unicode invisíveis dentro de palavras ligadas a crédito e financiamento. A alteração fazia o texto parecer normal para o destinatário, mas rompia correspondências literais e podia modificar a tokenização usada pelos filtros.
A resposta defensiva é inspecionar o texto bruto, registrar os caracteres anômalos e criar uma cópia saneada antes das assinaturas antiphishing e da entrada em agentes de IA. A cobertura da ITPro de 7 de setembro descreveu o uso do bloco Unicode Tags e reiterou que a normalização deve ocorrer antes da análise, sem depender apenas da aparência renderizada da mensagem.
O caractere invisível que separou as palavras

O ataque explorou a diferença entre o texto exibido e a sequência processada pelo software. Uma isca que mostrava “funding” podia conter o caractere TAG SPACE U+E0020 entre “fun” e “ding”: a palavra continuava legível na caixa de entrada, mas deixava de ser uma cadeia contínua para uma regra literal.
A pesquisa do Microsoft Security Research informa que a assinatura de caça saltou de cerca de 21 mil ocorrências em 8 de fevereiro para mais de 1,3 milhão no dia seguinte; o volume diário chegou a 2,37 milhões em 26 de fevereiro. Cerca de 96% das mensagens acionadas pela assinatura pertenciam ao padrão de domínios financeiros, e a fase de alto volume caiu abruptamente depois de 15 de maio, deixando atividade residual até meados de junho.
Esses números medem mensagens que corresponderam à assinatura, não entregas bem-sucedidas na caixa de entrada. Mais de 99% do volume observado no Defender for Office 365 também foi marcado por outras camadas, como reputação de remetente, IP, URL e domínio, autenticação e modelos antiphishing. O caso demonstra uma brecha em comparações literais e em pipelines que tokenizam antes de tratar caracteres invisíveis, não uma derrota universal dos filtros modernos.
Detecção precisa distinguir anomalia de veredicto

O primeiro controle deve procurar caracteres do bloco Unicode Tags, de U+E0000 a U+E007F, no assunto e no corpo decodificados. A ocorrência precisa ser registrada com o ponto de código, a posição e a representação em que apareceu — HTML, texto simples ou outra parte MIME — antes de qualquer transformação que apague a evidência.
Encontrar um desses caracteres é um sinal forte, mas não basta para bloquear a mensagem. As bandeiras de Inglaterra, Escócia e País de Gales usam sequências legítimas do mesmo bloco; uma regra inicial que marcava qualquer ponto desse intervalo produziu falsos positivos justamente nesses emojis. A exceção deve reconhecer a sequência completa admitida, sem liberar caracteres Tags isolados ou inseridos no meio de palavras.
A decisão fica mais precisa ao combinar a anomalia textual com o comportamento observado: remetentes financeiros descartáveis e rotativos, grandes remessas durante a semana e discrepância entre o texto bruto e o texto visível. Infraestrutura compartilhada de envio, endereço IP ou domínio de rastreamento servem como elementos de contexto, não como indicadores maliciosos isolados.
Normalizar não é o mesmo que bloquear
Detecção, normalização e bloqueio cumprem funções diferentes. A detecção preserva o sinal de que houve manipulação; a normalização produz uma representação adequada para assinaturas e classificadores; o bloqueio depende da avaliação conjunta do conteúdo, do remetente e da infraestrutura.
Aplicar apenas NFC ou NFKC não constitui uma política completa para o bloco Tags. O pipeline precisa definir explicitamente quais pontos invisíveis serão removidos ou dobrados, quais sequências legítimas serão preservadas e quais ocorrências elevarão o risco.
Um fluxo verificável segue esta ordem:
- guardar de forma protegida o assunto, o corpo e os metadados originais;
- decodificar MIME, HTML e entidades antes de inspecionar os pontos de código;
- registrar caracteres invisíveis inesperados e validar somente exceções completas conhecidas;
- gerar uma cópia saneada conforme a política definida;
- aplicar assinaturas, expressões regulares, tokenização, classificação e extração de URLs à cópia saneada;
- associar ao alerta as diferenças encontradas e uma referência segura ao original.
As duas representações têm finalidades distintas. A versão saneada recompõe os termos que o atacante tentou fragmentar; o original conserva a prova necessária para investigação e ajuste das regras. Preservar o original não significa permitir que ele retorne sem controle ao fluxo de classificação ou automação.
A barreira também deve ficar antes do agente de IA

Uma caixa conectada a um agente amplia o impacto possível porque a mensagem pode ser resumida, classificada ou usada para iniciar ações. O bloco Unicode Tags já era empregado para esconder instruções de prompt injection; na campanha observada, os caracteres foram usados como separadores de palavras, mas a mesma diferença entre texto visível e texto processado justifica um controle comum.
O agente deve receber a cópia normalizada e os metadados de risco, não o texto bruto sem tratamento. Mensagens com divergências relevantes podem ser isoladas ou submetidas a validação adicional, enquanto sistemas de arquivamento e descoberta eletrônica preservam o original e o registro da transformação.
A limpeza do conteúdo não limita o que uma automação pode fazer caso outra defesa falhe. Por isso, também é necessário restringir o acesso do agente, separar leitura de execução e exigir autorização adicional para ações externas.
O alcance confirmado da campanha
A atividade com caracteres Tags foi uma fase de uma campanha mais ampla, não uma técnica presente durante toda a sua duração. A inserção de caracteres invisíveis em spam é antiga; o elemento incomum foi o emprego do bloco associado ao ASCII smuggling em escala de milhões de mensagens diárias e dentro de iscas financeiras.
A reportagem da TechRadar de 7 de setembro também registrou o pico superior a 2,3 milhões de mensagens e a concentração do padrão em cerca de 150 domínios remetentes no início da atividade. A telemetria pública, porém, não demonstra comportamento uniforme entre todos os gateways, bibliotecas e conectores: cada pipeline ainda precisa verificar se preserva o original, trata as exceções legítimas e entrega somente a representação saneada às etapas seguintes.
Leia também:
Assine nossa newsletter
Receba as últimas notícias sobre Web3, IA e cripto diretamente no seu e-mail.