Detector de caracteres invisíveis e decodificador de ASCII smuggling
Cole um texto para encontrar os caracteres que você não vê e ler qualquer texto escondido em caracteres de tag Unicode invisíveis: espaços de largura zero, controles de direção do texto, caracteres de tag Unicode ocultos e palavras que misturam letras latinas com letras cirílicas ou gregas parecidas.
Funciona no seu navegador; nada do que você digita sai do seu dispositivo
Cole um texto para verificá-lo.
Texto oculto decodificado de caracteres de tag
Estes caracteres invisíveis formam o texto legível abaixo. Trate-o como não confiável, principalmente se o texto for para um assistente de IA.
- Caracteres de largura zero
- 0
- Controles de direção do texto
- 0
- Caracteres de tag Unicode
- 0
- Caracteres de controle
- 0
- Outros caracteres invisíveis
- 0
- Espaços incomuns
- 0
- Palavras com escritas misturadas
- 0
Texto destacado
Texto limpo
Achados
| Linha:coluna | N.º do caractere | Ponto de código | O que é | Tipo |
|---|
Texto de até alguns milhões de caracteres. A verificação analisa pontos de código Unicode, então encontra caracteres ocultos, mas não consegue saber se um deles é inofensivo no seu texto. Sequências de emoji reais, como bandeiras e emojis de família, não são sinalizadas.
Como encontrar caracteres invisíveis
- Cole o texto que você quer verificar ou escolha Carregar um exemplo para ver o que a ferramenta encontra.
- Leia as contagens de cada tipo de caractere, o texto destacado e a tabela com a linha, a coluna e o ponto de código de cada achado.
- Escolha Copiar texto limpo para obter o texto sem os caracteres invisíveis.
Como os caracteres ocultos são encontrados
O Unicode define muitos caracteres que não imprimem nada: espaços e unidores de largura zero, marcas que invertem a direção do texto, hifens suaves, espaços de larguras incomuns e os caracteres de tag que espelham o ASCII. Eles são úteis no lugar certo e um incômodo ou uma arma no lugar errado. Esta ferramenta lê seu texto ponto de código por ponto de código e classifica cada achado em um tipo, para você ver o que há ali antes de decidir o que fazer.
São reportados sete tipos. Os caracteres de largura zero incluem o espaço de largura zero, os unidores e a marca de ordem de bytes. Os controles de direção do texto são as incorporações, substituições, isolamentos e marcas usados em ataques Trojan Source ao código-fonte. Os caracteres de tag Unicode são o bloco U+E0000, usado para esconder instruções invisíveis em textos para assistentes de IA; cada sequência é decodificada para que você leia o ASCII que ela forma. Os caracteres de controle são os códigos C0 e C1, exceto tabulação e quebras de linha. Outros caracteres invisíveis cobrem o hífen suave, os operadores matemáticos invisíveis, os preenchimentos e os seletores de variação, e os espaços incomuns são o espaço sem quebra, os espaços em e en e o espaço ideográfico. Por fim, as palavras com escritas misturadas são palavras que combinam letras latinas com letras cirílicas, gregas ou armênias, a forma usual de falsificar um nome de domínio ou de usuário.
Espaços de largura zero também aparecem em textos gerados por IA. Assistentes de chat e fluxos de processamento de texto às vezes deixam espaços ou unidores de largura zero na saída, e os mesmos caracteres podem servir como marca-d'água invisível, então uma resposta colada pode levar mais do que você vê. Passar o texto por esta verificação mostra exatamente o que há escondido nele.
Alguns desses caracteres pertencem ao texto real, então a ferramenta os deixa em paz onde cabem. A bandeira completa da Inglaterra, da Escócia ou do País de Gales (uma bandeira preta seguida de algumas letras de tag e uma tag de cancelamento), um unidor de largura zero entre dois emojis e um seletor de apresentação de emoji depois de um emoji são normais. Um unidor ou não-unidor dentro de palavras em persa, hindi ou árabe também é normal, mas é reportado, porque a ferramenta não sabe o idioma do seu texto.
A cópia limpa remove os caracteres de largura zero, de direção, de tag, de controle e outros invisíveis. Ela nunca altera palavras com escritas misturadas, porque trocar uma letra mudaria o texto; corrija-as à mão depois de conferir a palavra destacada.
Dicas
- Conte o que sobrou com o contador de caracteres, que conta caracteres, bytes e linhas.
- Compare o original com o texto limpo em Comparar textos.
- Para remover um caractere específico em todo o texto, use Localizar e substituir.
Perguntas frequentes
O que são caracteres de largura zero?
São caracteres que não ocupam espaço na tela, como o espaço de largura zero (U+200B), o não-unidor de largura zero (U+200C), o unidor de palavras (U+2060) e a marca de ordem de bytes (U+FEFF). Eles entram no texto copiado de páginas da web e de apps de chat e podem quebrar buscas, senhas, código e nomes de arquivo sem nenhum sinal visível. O unidor e o não-unidor também são usados de propósito em algumas escritas, como o persa e o hindi, então confira antes de removê-los.
O que é um ataque Trojan Source?
O Unicode tem controles que mudam a direção em que o texto é exibido, como a substituição da direita para a esquerda (U+202E). No código-fonte, eles podem fazer uma linha parecer diferente do que o compilador lê, de modo que um comentário aparentemente inofensivo esconda código de verdade. A ferramenta lista todos os controles bidirecionais para que você possa vê-los.
O que são caracteres de tag Unicode e por que importam?
Os caracteres de tag (U+E0000 a U+E007F) espelham o ASCII, mas não aparecem na tela. Um texto escrito com eles é invisível para quem lê, mas pode ser lido por software, inclusive por assistentes de IA, o que permite esconder instruções em um prompt ou documento. A ferramenta decodifica cada sequência de caracteres de tag para o texto ASCII que ela forma e o mostra em destaque. Isso é conhecido como ASCII smuggling. A bandeira da Inglaterra, da Escócia ou do País de Gales é feita de propósito com alguns caracteres de tag, então uma sequência de bandeira completa não é sinalizada.
Por que uma palavra é marcada como de escritas misturadas?
O cirílico e o grego têm letras iguais às latinas, como o а cirílico e o a latino. Uma palavra que as mistura, como pаypal com um а cirílico, pode passar por um nome verdadeiro e levar a outro lugar. A ferramenta lista as palavras que combinam letras latinas com letras cirílicas, gregas ou armênias e mostra quais letras não pertencem.
Ela sinaliza emojis?
Não. Um unidor de largura zero entre dois emojis, como nos emojis de família ou de profissões, e o seletor de variação que vem depois de um emoji fazem parte de como os emojis são construídos, então são deixados em paz. Os mesmos caracteres em outros lugares, como entre duas letras, são reportados.
Meu texto é enviado para algum servidor?
Não. O texto é verificado no seu navegador e nunca sai do seu dispositivo.