TanodTools
IT

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.

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 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

  1. Incolla il testo da controllare, oppure scegli Carica un esempio per vedere cosa trova lo strumento.
  2. Leggi i conteggi per ogni tipo di carattere, il testo evidenziato e la tabella con riga, colonna e punto di codice di ogni risultato.
  3. 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

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.