FreeToGenerate.com

1 277 imposteurs venus de 43 écritures — et la plupart ne sont pas un alphabet.

Texte à vérifier

Vérifié dans votre navigateur contre la table des confusables d'Unicode elle-même. Rien n'est envoyé.

Des sosies ont été trouvés, et une vérification de mélange d'écritures n'aurait rien à redire à ce texte.

Soit tous les caractères viennent d'une seule écriture, soit les imposteurs relèvent de Common, qu'Unicode tient pour compatible avec tout. C'est ce cas-là qui passe.

Se lit: paypal.com

Les caractères qui ne sont pas ce qu'ils paraissent

EnCaractèreNom UnicodeÉcritureImite
0𝐩 U+1D429MATHEMATICAL BOLD SMALL PCommonp
1𝐚 U+1D41AMATHEMATICAL BOLD SMALL ACommona
2𝐲 U+1D432MATHEMATICAL BOLD SMALL YCommony
3𝐩 U+1D429MATHEMATICAL BOLD SMALL PCommonp
4𝐚 U+1D41AMATHEMATICAL BOLD SMALL ACommona
5𝐥 U+1D425MATHEMATICAL BOLD SMALL LCommonl
7𝐜 U+1D41CMATHEMATICAL BOLD SMALL CCommonc
8𝐨 U+1D428MATHEMATICAL BOLD SMALL OCommono

La table derrière tout cela

imposteurs
1 277
écritures
43
de Common
823
du cyrillique
43
du grec
38

L'attaque porte le nom du cyrillique, et l'essentiel du matériel n'est pas cyrillique. Common — alphanumériques mathématiques, formes pleine chasse, lettres encerclées — fournit plus d'imposteurs que tous les alphabets réunis, et comme Unicode le tient pour neutre, aucune vérification de mélange d'écritures n'y trouve à redire.

Toutes les lettres latines ont au moins un imposteur d'un seul caractère, sauf deux. Le I majuscule n'est pas une cible, car Unicode range I, l et 1 sous un même représentant. Le m minuscule est imité par la séquence de deux caractères rn. Les deux manques correspondent exactement aux deux tromperies célèbres qui fonctionnent autrement.

Nos pages de l'alphabet cyrillique et de l'alphabet grec comportent chacune un détecteur bâti sur une table écrite à la main pour cet alphabet : 22 caractères chacune. Elles restent utiles comme références par alphabet ; cette page est la table entière.

Données issues du confusables.txt d'Unicode, la table derrière UTS 39, avec les noms d'écriture de Scripts.txt. Les positions sont comptées en points de code, car plusieurs imposteurs se situent au-delà du plan de base.

Aussi disponible en : English · Español · Português · العربية

Caractères sosies : détecter les homoglyphes d'un texte

Quels caractères de votre texte se font passer pour des lettres latines, de quelle écriture ils viennent, et si la défense habituelle les attraperait.

Qu'est-ce qu'un caractère sosie ?

Un caractère sosie — un homoglyphe — est un caractère d'une écriture dessiné presque à l'identique d'un caractère d'une autre. Le а cyrillique et le a latin sont deux points de code distincts que la plupart des polices rendent de la même façon. Glissez-en un dans un nom de domaine et vous obtenez une adresse qui se lit correctement et mène ailleurs.

Unicode publie la liste de référence sous le nom confusables.txt, les données derrière son rapport de sécurité UTS 39. C'est ce fichier que consultent les registres et les navigateurs pour décider si deux noms se ressemblent trop pour coexister. Réduit aux caractères uniques tenant lieu d'une seule lettre latine, il contient 1 277 imposteurs issus de 43 écritures.

Cette page confronte votre texte à cette table, nomme chaque imposteur trouvé, et vous dit ce que presque aucun outil ne dit : si la défense standard l'aurait attrapé.

Comment l'utiliser

  1. Collez le texte : un domaine, un identifiant, un nom de paquet, une adresse e-mail — tout ce à quoi vous vous apprêtez à faire confiance. La vérification a lieu dans votre navigateur et rien n'est envoyé.
  2. Lisez le verdict : vous obtenez l'orthographe latine à laquelle le texte se ramène réellement, et une phrase claire indiquant si une vérification de mélange d'écritures y trouverait à redire.
  3. Puis regardez le tableau : chaque imposteur y figure avec sa position, son point de code, son nom Unicode officiel, l'écriture dont il vient et la lettre qu'il imite.

L'attaque porte le nom du cyrillique et n'est presque pas cyrillique

Le cyrillique fournit 43 des 1 277 imposteurs et le grec 38 autres. La plus grosse source, de loin, est l'écriture qu'Unicode appelle Common : 823 d'entre eux. C'est là que vivent les alphanumériques mathématiques, aux côtés des formes pleine chasse, des lettres encerclées et de bien d'autres choses qui n'appartiennent à aucun alphabet.

Ce n'est pas une curiosité, à cause du fonctionnement de la défense habituelle. La vérification bon marché et quasi universelle consiste à demander si une chaîne mélange les écritures, au motif qu'un mot latin authentique n'a aucune raison de contenir une lettre cyrillique. Or Unicode tient Common pour compatible avec toutes les écritures — les symboles mathématiques doivent pouvoir voisiner avec n'importe quelle langue — si bien qu'un a mathématique gras au milieu d'un texte latin ne soulève aucune objection.

Il existe une seconde façon de passer la même vérification, et c'est de là que vient la réputation du cyrillique : écrire le mot entier dans une seule écriture. Un mot écrit intégralement en caractères cyrilliques est parfaitement cohérent, donc rien n'est mélangé et la vérification n'a rien à dire. L'outil signale explicitement les deux cas plutôt que de vous laisser deviner lequel vous avez sous les yeux.

Deux lettres que personne ne peut falsifier avec un seul caractère

Toutes les lettres latines ont au moins un imposteur d'un seul caractère, sauf deux, et les raisons diffèrent — toutes deux consignées dans le fichier lui-même.

Le I majuscule n'en a aucun parce qu'il n'est pas une cible. Unicode range le I majuscule, le l minuscule et le chiffre 1 sous un même représentant : la table mène donc le I vers le l et non l'inverse, 79 caractères pointant vers le l minuscule et aucun vers le I majuscule. Le m minuscule n'en a aucun parce que son imposteur n'est pas un caractère : la table mène le m vers rn, la séquence de deux lettres qui trompe les lecteurs bien avant l'existence d'Unicode.

Les deux manques de la liste correspondent donc exactement aux deux tromperies célèbres qui opèrent autrement. C'est un joli résultat, et le générateur qui construit ces données refuse de les produire si cela venait à ne plus tenir.

Ce que cette page ne peut pas vous dire

Elle ne peut pas vous dire qu'un texte est malveillant. Nombre de ces caractères ont des usages parfaitement légitimes : les alphanumériques mathématiques appartiennent aux mathématiques, les formes pleine chasse à la composition japonaise, et un а cyrillique dans un mot russe est tout simplement la lettre a. Ce que la page signale, c'est qu'un caractère n'est pas la lettre latine à laquelle il ressemble : un fait, non une accusation.

Elle ne vérifie pas non plus le sens inverse. Unicode recense 2 103 caractères dont le sosie est une séquence plutôt qu'un caractère unique — m pour rn est le plus connu — et c'est une autre forme du problème qu'un examen caractère par caractère ne peut pas voir.

Enfin, elle ne traite que de l'apparence. Un texte peut tromper par des voies sans rapport avec le dessin des caractères, notamment en dissimulant des caractères qui ne s'affichent pas du tout. C'est une autre vérification, et il existe une autre page sur ce site pour elle.

Pourquoi est-ce gratuit ?

La table tient en quelques kilo-octets livrés avec la page, et la vérification s'exécute dans votre navigateur. Rien de ce que vous collez n'est envoyé, rien n'est journalisé, et il n'y a aucun compte à créer.

Sans inscription, sans limite, et sans filigrane sur ce que vous copiez.