Rilevatore di caratteri invisibili e decodificatore di ASCII smuggling
Incolla un testo per trovare i caratteri che non vedi e leggere l'eventuale testo nascosto in caratteri tag Unicode invisibili: spazi a larghezza zero, controlli della direzione del testo, caratteri tag Unicode nascosti e parole che mescolano lettere latine con lettere cirilliche o greche identiche all'aspetto.
Funziona nel browser; nulla di ciò che scrivi lascia il tuo dispositivo
Incolla un testo per controllarlo.
Testo nascosto decodificato dai caratteri tag
Questi caratteri invisibili compongono il testo leggibile qui sotto. Consideralo non attendibile, soprattutto se il testo sta per essere dato a un assistente IA.
- Caratteri a larghezza zero
- 0
- Controlli della direzione del testo
- 0
- Caratteri tag Unicode
- 0
- Caratteri di controllo
- 0
- Altri caratteri invisibili
- 0
- Spazi insoliti
- 0
- Parole con alfabeti misti
- 0
Testo evidenziato
Testo pulito
Risultati
| Riga:colonna | N. del carattere | Punto di codice | Che cos'è | Tipo |
|---|
Testo fino a qualche milione di caratteri. Il controllo esamina i punti di codice Unicode: trova i caratteri nascosti, ma non può dire se uno di essi sia innocuo nel tuo testo. Le vere sequenze di emoji, come le bandiere e gli emoji di famiglia, non vengono segnalate.
Come trovare i caratteri invisibili
- Incolla il testo da controllare, oppure scegli Carica un esempio per vedere cosa trova lo strumento.
- Leggi i conteggi per ogni tipo di carattere, il testo evidenziato e la tabella con riga, colonna e punto di codice di ogni risultato.
- Scegli Copia il testo pulito per ottenere il testo senza i caratteri invisibili.
Come vengono trovati i caratteri nascosti
Unicode definisce molti caratteri che non stampano nulla: spazi e joiner a larghezza zero, marcatori che invertono la direzione del testo, trattini opzionali, spazi di larghezza insolita e i caratteri tag che rispecchiano l'ASCII. Al posto giusto sono utili, in quello sbagliato sono un fastidio o un'arma. Questo strumento legge il testo un punto di codice alla volta e assegna ogni risultato a un tipo, così puoi vedere cosa c'è prima di decidere che cosa fare.
Vengono segnalati sette tipi. I caratteri a larghezza zero comprendono lo spazio a larghezza zero, i joiner e il byte order mark. I controlli della direzione del testo sono gli embedding, gli override, gli isolate e i marcatori usati negli attacchi Trojan Source al codice sorgente. I caratteri tag Unicode sono il blocco U+E0000, usato per infilare istruzioni invisibili nei testi destinati agli assistenti IA; ogni sequenza viene decodificata così puoi leggere l'ASCII che compone. I caratteri di controllo sono i codici C0 e C1 diversi da tabulazione e interruzioni di riga. Gli altri caratteri invisibili comprendono il trattino opzionale, gli operatori matematici invisibili, i caratteri di riempimento e i selettori di variazione, mentre gli spazi insoliti sono lo spazio non separabile, gli spazi em ed en e lo spazio ideografico. Infine, le parole con alfabeti misti sono parole che combinano lettere latine con lettere cirilliche, greche o armene, il modo consueto per falsificare un nome di dominio o un nome utente.
Gli spazi a larghezza zero compaiono anche nei testi generati dall'IA. Gli assistenti di chat e le pipeline di testo a volte lasciano nell'output spazi o joiner a larghezza zero, e gli stessi caratteri possono servire come filigrana invisibile, quindi una risposta incollata può portare con sé più di quanto vedi. Passare il testo da questo controllo mostra esattamente cosa vi è nascosto.
Alcuni di questi caratteri appartengono al testo vero, quindi lo strumento li lascia stare dove sono normali. Una bandiera completa di Inghilterra, Scozia o Galles (una bandiera nera seguita da alcune lettere tag e da un tag di annullamento), uno zero width joiner tra due emoji e un selettore di presentazione emoji dopo un emoji sono tutti normali. Un joiner o un non-joiner dentro parole persiane, hindi o arabe è normale anch'esso, ma viene segnalato, perché lo strumento non può conoscere la lingua del tuo testo.
La copia pulita rimuove i caratteri a larghezza zero, di direzione, tag, di controllo e gli altri caratteri invisibili. Non modifica mai le parole con alfabeti misti, perché sostituire una lettera cambierebbe il testo; correggile a mano dopo aver controllato la parola evidenziata.
Consigli
- Conta ciò che resta con il conta caratteri, che conta caratteri, byte e righe.
- Confronta l'originale con il testo pulito in Confronta testi.
- Per rimuovere ovunque un carattere specifico, usa Trova e sostituisci.
Domande frequenti
Cosa sono i caratteri a larghezza zero?
Sono caratteri che non occupano spazio sullo schermo, come lo spazio a larghezza zero (U+200B), il non-joiner a larghezza zero (U+200C), il word joiner (U+2060) e il byte order mark (U+FEFF). Si infilano nel testo copiato da pagine web e app di chat e possono rompere ricerche, password, codice e nomi di file senza alcun segno visibile. Il joiner e il non-joiner sono usati di proposito anche in alcune scritture, come il persiano e l'hindi, quindi controlla prima di rimuoverli.
Cos'è un attacco Trojan Source?
Unicode ha controlli che cambiano la direzione di visualizzazione del testo, come l'override da destra a sinistra (U+202E). Nel codice sorgente possono far apparire una riga diversa da quella che legge il compilatore, così un commento dall'aria innocua può nascondere codice vero. Lo strumento elenca ogni controllo bidirezionale così puoi vederlo.
Cosa sono i caratteri tag Unicode e perché sono importanti?
I caratteri tag (da U+E0000 a U+E007F) rispecchiano l'ASCII ma non si vedono. Il testo scritto con questi caratteri è invisibile per chi legge, ma può essere letto dal software, compresi gli assistenti IA, ed è quindi un modo per infilare istruzioni nascoste in un prompt o in un documento. Lo strumento decodifica ogni sequenza di caratteri tag nel testo ASCII che compone e lo mostra in evidenza. Questo si chiama ASCII smuggling. La bandiera di Inghilterra, Scozia o Galles è costruita di proposito con alcuni caratteri tag, quindi una sequenza di bandiera completa non viene segnalata.
Perché una parola è segnata come ad alfabeti misti?
Il cirillico e il greco hanno lettere identiche a quelle latine, come la а cirillica e la a latina. Una parola che le mescola, come pаypal con una а cirillica, può passare per un nome vero e portare altrove. Lo strumento elenca ogni parola che combina lettere latine con lettere cirilliche, greche o armene e mostra quali lettere non c'entrano.
Segnala gli emoji?
No. Uno zero width joiner tra due emoji, come negli emoji di famiglia o di professione, e il selettore di variazione che segue un emoji fanno parte del modo in cui sono costruiti gli emoji, quindi vengono ignorati. Gli stessi caratteri in altri punti, ad esempio tra due lettere, vengono segnalati.
Il mio testo viene caricato?
No. Il testo viene controllato nel tuo browser e non lascia mai il tuo dispositivo.