Aller au contenu
Ghostchars

Forçages bidirectionnels

RIGHT-TO-LEFT OVERRIDE (U+202E)

Un contrôle invisible qui force la mise en page de tous les caractères suivants de droite à gauche, quelle que soit leur écriture.

Point de code
U+202E
Supprimé par défaut
Oui
Option qui le régit
Aucune option nécessaire
Peut être porteur
Non

D’où il vient

Presque jamais d’un texte légitime. Sa notoriété vient de l’attaque par forçage de droite à gauche dans les noms de fichier : `facture‮fdp.exe` s’affiche « factureexe.pdf », et l’utilisateur double-clique sur un exécutable en croyant ouvrir un document.

Pourquoi il compte

Il change ce que le lecteur voit sans changer ce que la machine lit. C’est la définition même d’un caractère d’usurpation : l’ordre affiché et l’ordre logique divergent, si bien qu’un nom de fichier, une URL ou un identifiant de code peuvent être maquillés en autre chose.

Avant et après

AvantfactureU+202Efdp.exe
Aprèsfacturefdp.exe

Avant nettoyage, la plupart des logiciels affichent « factureexe.pdf ». Les octets n’ont jamais dit cela.

Le caractère est affiché sous forme de pastille étiquetée, pour que vous voyiez où il se place. Dans votre texte, il ne dessine absolument rien.

Quand il est légitime

À peu près jamais en prose. Un texte bidirectionnel correct est produit par l’algorithme bidi d’Unicode à partir des caractères eux-mêmes et, là où une indication explicite est nécessaire, les isolants (U+2066–U+2069) sont le choix moderne et sûr.

Comment le supprimer

La passe par défaut le supprime, dans tous les contextes, sans option pour le conserver. Ghostchars traite de la même façon les cinq contrôles d’incorporation et de forçage.

Est-ce un filigrane d’IA ?

Ce n’est pas un filigrane

Non. C’est un outil d’usurpation, pas une marque de provenance. Si vous en trouvez un dans un nom de fichier, un nom de paquet ou un fichier source, traitez-le comme hostile plutôt que comme une curiosité.

Aucun lien avec un texte généré par une machine. Il vient d’un logiciel, d’un clavier ou d’une personne.

Questions

Qu’est-ce que l’attaque du nom de fichier par forçage RTL ?

Placer U+202E dans un nom de fichier inverse l’affichage de tout ce qui suit : un exécutable peut ainsi se montrer avec une extension de document. Le fichier sur le disque est inchangé ; seul le rendu ment.

Est-ce que cela compte dans du code source ?

Oui. Des contrôles bidi dans les commentaires et les chaînes littérales peuvent faire afficher un code relu autrement qu’il ne se compile. La plupart des compilateurs émettent désormais un avertissement.

Y a-t-il une raison de le garder ?

Pas dans un texte que vous nettoyez. Un vrai texte bidirectionnel n’en a pas besoin, et les caractères isolants font le même travail sans réordonner du texte qui n’a rien à voir.

Vérifier votre propre texte

Collez n’importe quoi dans le nettoyeur pour voir tous les caractères invisibles qu’il contient, avec leur position, leur point de code et ce qui arrive à chacun. Rien n’est envoyé.

Vérifier votre propre texteTous les caractères