Caracteres invisíveis no código
No código-fonte, caracteres invisíveis não são só um incômodo: são um risco de segurança. Um controle bidirecional pode fazer uma linha aparecer numa ordem e compilar em outra, e um caractere de largura zero pode quebrar um identificador que parece idêntico a outro. Esta ferramenta os expõe e remove sem tocar em nenhum caractere visível.
Mais: o que foi encontrado, visão de raio-X e opções
Visão de raio-X
Seu texto com cada caractere oculto exposto como uma etiqueta. Passe o mouse para ver o nome Unicode.
O que foi encontrado
| Ponto de código | Caractere | Quantidade | Ação |
|---|
O ataque de reordenação (Trojan Source)
Os caracteres de sobreposição bidirecional (como U+202E) reordenam como o texto seguinte é exibido. Num comentário ou string, podem fazer o revisor ver uma lógica e o compilador executar outra. O ataque foi documentado em 2021 (Boucher e Anderson) e afeta a maioria das linguagens. Carregue o exemplo na ferramenta e abra a visão de raio-X: os chips vermelhos marcam os caracteres de sobreposição e isolamento.
Outros riscos no código
- Códigos de controle de sessões de terminal (ESC, U+001B) que quebram os analisadores.
- Espaços sem quebra que se infiltram na indentação e quebram linguagens sensíveis a espaços.
- BOM (U+FEFF) no início de um arquivo, que corrompe o parsing de JSON e cabeçalhos CSV.
Perguntas frequentes
Como esses caracteres entram no meu código?
Ao copiar de páginas web, PDFs, chats de IA ou documentos. Também podem ser inseridos de propósito num ataque de reordenação.
A limpeza muda a lógica do meu código?
Não. Só remove caracteres invisíveis e normaliza espaços estranhos; cada caractere visível fica igual, na mesma ordem.