TanodTools
FR

Détecteur de caractères invisibles et décodeur d'ASCII smuggling

Collez un texte pour trouver les caractères que vous ne voyez pas et lire tout texte caché dans des caractères de balise Unicode invisibles : espaces de largeur nulle, contrôles de direction du texte, caractères de balise Unicode cachés et mots qui mélangent des lettres latines avec des lettres cyrilliques ou grecques d'apparence identique.

Fonctionne dans votre navigateur ; rien de ce que vous saisissez ne quitte votre appareil

Collez un texte pour le vérifier.

Caractères de largeur nulle
0
Contrôles de direction du texte
0
Caractères de balise Unicode
0
Caractères de contrôle
0
Autres caractères invisibles
0
Espaces inhabituels
0
Mots à écritures mélangées
0

Texte jusqu'à quelques millions de caractères. La vérification examine les points de code Unicode : elle trouve les caractères cachés, mais ne peut pas savoir si l'un d'eux est inoffensif dans votre texte. Les vraies séquences d'emoji, comme les drapeaux et les emoji de famille, ne sont pas signalées.

Comment trouver les caractères invisibles

  1. Collez le texte à vérifier, ou choisissez Charger un exemple pour voir ce que l'outil détecte.
  2. Lisez le nombre de caractères de chaque type, le texte surligné et le tableau indiquant la ligne, la colonne et le point de code de chaque résultat.
  3. Choisissez Copier le texte nettoyé pour obtenir le texte sans les caractères invisibles.

Comment les caractères cachés sont repérés

Unicode définit de nombreux caractères qui n'impriment rien : espaces et liants de largeur nulle, marques qui inversent le sens du texte, traits d'union conditionnels, espaces de largeurs inhabituelles et caractères de balise qui reproduisent l'ASCII. Ils sont utiles à leur place, et gênants ou dangereux ailleurs. Cet outil lit votre texte point de code par point de code et range chaque résultat dans un type, pour que vous voyiez ce qui s'y trouve avant de décider quoi en faire.

Sept types sont signalés. Les caractères de largeur nulle comprennent l'espace de largeur nulle, les liants et la marque d'ordre des octets. Les contrôles de direction du texte sont les incorporations, forçages, isolats et marques utilisés dans les attaques Trojan Source contre le code source. Les caractères de balise Unicode forment le bloc U+E0000, utilisé pour glisser des instructions invisibles dans des textes destinés aux assistants IA ; chaque suite est décodée pour que vous lisiez l'ASCII qu'elle écrit. Les caractères de contrôle sont les codes C0 et C1 autres que la tabulation et les sauts de ligne. Les autres caractères invisibles couvrent le trait d'union conditionnel, les opérateurs mathématiques invisibles, les caractères de remplissage et les sélecteurs de variante, et les espaces inhabituels sont l'espace insécable, les espaces cadratin et demi-cadratin et l'espace idéographique. Enfin, les mots à écritures mélangées sont des mots qui combinent des lettres latines avec des lettres cyrilliques, grecques ou arméniennes, la méthode habituelle pour imiter un nom de domaine ou un nom d'utilisateur.

Les espaces de largeur nulle apparaissent aussi dans les textes générés par IA. Les assistants de chat et les chaînes de traitement de texte laissent parfois des espaces ou des liants de largeur nulle dans leur sortie, et ces mêmes caractères peuvent servir de filigrane invisible : une réponse collée peut donc contenir plus que ce que vous voyez. Passer le texte dans cette vérification montre exactement ce qui s'y cache.

Certains de ces caractères ont leur place dans un vrai texte ; l'outil les laisse donc tranquilles là où ils sont normaux. Un drapeau complet de l'Angleterre, de l'Écosse ou du pays de Galles (un drapeau noir suivi de quelques lettres de balise et d'une balise d'annulation), un lieur de largeur nulle entre deux emoji et un sélecteur de présentation emoji après un emoji sont tous normaux. Un liant ou un antiliant à l'intérieur de mots persans, hindis ou arabes est aussi normal mais il est signalé, car l'outil ne peut pas connaître la langue de votre texte.

La copie nettoyée supprime les caractères de largeur nulle, de direction, de balise, de contrôle et les autres caractères invisibles. Elle ne modifie jamais les mots à écritures mélangées, car remplacer une lettre changerait le texte ; corrigez-les à la main après avoir examiné le mot surligné.

Astuces

Questions fréquentes

Que sont les caractères de largeur nulle ?

Ce sont des caractères qui n'occupent aucune place à l'écran, comme l'espace de largeur nulle (U+200B), l'antiliant de largeur nulle (U+200C), le lieur de mots (U+2060) et la marque d'ordre des octets (U+FEFF). Ils s'infiltrent dans le texte copié depuis des pages web et des applis de messagerie, et peuvent casser des recherches, des mots de passe, du code et des noms de fichier sans le moindre signe visible. Le liant et l'antiliant sont aussi utilisés volontairement dans certaines écritures, comme le persan et l'hindi : vérifiez avant de les supprimer.

Qu'est-ce qu'une attaque Trojan Source ?

Unicode comporte des contrôles qui modifient le sens d'affichage du texte, comme le forçage de droite à gauche (U+202E). Dans du code source, ils peuvent faire qu'une ligne s'affiche autrement que ce que lit le compilateur : un commentaire d'apparence anodine peut alors cacher du vrai code. L'outil liste tous les contrôles bidirectionnels pour que vous puissiez les voir.

Que sont les caractères de balise Unicode et pourquoi comptent-ils ?

Les caractères de balise (U+E0000 à U+E007F) reproduisent l'ASCII mais ne s'affichent pas. Un texte écrit avec eux est invisible pour un lecteur, mais un logiciel peut le lire, y compris les assistants IA : c'est un moyen de glisser des instructions cachées dans un prompt ou un document. L'outil décode chaque suite de caractères de balise en texte ASCII et l'affiche en évidence. On parle d'ASCII smuggling. Le drapeau de l'Angleterre, de l'Écosse ou du pays de Galles est construit exprès avec quelques caractères de balise : une séquence de drapeau complète n'est donc pas signalée.

Pourquoi un mot est-il signalé comme à écritures mélangées ?

Le cyrillique et le grec ont des lettres identiques aux lettres latines, comme le а cyrillique et le a latin. Un mot qui les mélange, comme pаypal avec un а cyrillique, peut passer pour un vrai nom tout en menant ailleurs. L'outil liste tout mot qui combine des lettres latines avec des lettres cyrilliques, grecques ou arméniennes et montre quelles lettres n'ont rien à y faire.

Les emoji sont-ils signalés ?

Non. Un lieur de largeur nulle entre deux emoji, comme dans les emoji de famille ou de métiers, et le sélecteur de variante qui suit un emoji font partie de la construction des emoji ; ils sont donc ignorés. Les mêmes caractères ailleurs, par exemple entre deux lettres, sont signalés.

Mon texte est-il envoyé quelque part ?

Non. Le texte est vérifié dans votre navigateur et ne quitte jamais votre appareil.