Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
confusable-vision — 793 paires ambiguës manquantes dans Unicode TR39, premier jeu de données inter-écritures au monde, notation SSIM tenant compte de la police parmi 230 polices et plus de 22 000 caractères | Kitploit
Outils/GitHubGitHub/paultendo/confusable-vision
OSINT (Renseignement de Sources Ouvertes)ReconnaissanceSécurité WebRenseignement sur les MenacesSécurité de la Chaîne LogistiqueArticles et RechercheApprentissage et ÉducationRessources Organisées
GitHubpaultendo/confusable-vision

confusable-vision

793 paires ambiguës manquantes dans Unicode TR39, premier jeu de données inter-écritures au monde, notation SSIM tenant compte de la police parmi 230 polices et plus de 22 000 caractères

1121il y a 5 joursPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
Voir le dépôt

confusable-vision

Évaluation empirique de la similarité des glyphes par raycasting vectoriel des contours. Rend les paires de caractères Unicode confusables dans 245 polices système, mesure la similarité structurelle directement à partir des contours (sans pixellisation), et produit des artefacts JSON notés avec des scores de distance continue par police.

Résultats clés issus de 52,6 millions de comparaisons mono-caractère et 190 millions de comparaisons multi-caractères sur 22 581 caractères et 12 systèmes d'écriture :

  • 249 976 paires confusables mono-caractère uniques sur 245 polices, 12 écritures, 66 paires inter-écritures. 764 395 découvertes au total au niveau des polices.
  • 2 524 275 paires confusables multi-caractères (bigrammes) uniques incluant rn/m sur 95 polices (33 en dessous d'une distance de 0,40) et oy/uk cyrillique sur 16 polices.
  • Scores de distance continue par police, pas des listes binaires. Chaque paire possède une distance de rayon mesurée par police, offrant une confiance tenant compte de la police pour les outils de sécurité en aval.
  • 305% de découvertes en plus que le SDF, 29% plus rapide. La signature enrichie à cinq couches est un sur-ensemble strict des découvertes SDF ; les paires exclusives au SDF ne se sont pas reproduites lors d'une vérification manuelle.

La sortie alimente directement namespace-guard pour la détection de confusables à l'exécution dans les noms de paquets, les noms de domaine et les identifiants.

Fonctionnement

RaySpace projette des rayons parallèles à travers les contours des polices à 36 angles et capture cinq couches d'information par glyphe : nombre d'intersections, positions des intersections, angles d'intersection, distances de ping (épaisseur de trait à chaque intersection) et ping max (largeur de contre-forme entre les intersections). Cela produit une signature compacte par caractère et par police. Deux signatures sont comparées avec une distance L1 pondérée sur les cinq couches.

Un filtre en cascade à trois étapes rend la comparaison exhaustive réalisable :

  1. Filtre de largeur d'avance (tolérance 15%) élimine les paires de largeurs différentes. Supprime 63% des candidats.
  2. Comparaison de rayons (seuil 2.0, resserré à 1.0 pour les grandes paires d'écritures). Supprime encore 33%.
  3. Seulement 3,3% des candidats survivent pour devenir des découvertes.

La banque de signatures (294 646+ entrées sur 245 polices ; plus avec --include-uppercase) est précalculée une fois. La découverte s'effectue ensuite par arithmétique mono-thread sur la banque, réalisant 52,6 millions de comparaisons en 31 minutes sans threads ouvriers ni GPU.

Démarrage rapide

npm install

# 1. Construire la banque de signatures de rayons (prérequis, ~24 min)
npx tsx scripts/build-signature-bank.ts

# 1b. Inclure les lettres majuscules latines A-Z (optionnel)
#     Par défaut la banque n'inclut que les points de code IDNA PVALID (minuscules,
#     chiffres, symboles). Utilisez --include-uppercase pour ajouter A-Z majuscules,
#     utile pour l'identification de polices et la comparaison visuelle de marques
#     où les formes des majuscules comptent. Le constructeur est repréable, donc
#     seuls les points de code supplémentaires sont calculés.
npx tsx scripts/build-signature-bank.ts --include-uppercase

# 1c. Inclure des plages arbitraires de points de code (optionnel)
npx tsx scripts/build-signature-bank.ts --extra-range=0041-005A

# 2. Découverte mono-caractère (22 581 caractères, 12 écritures, ~36 min)
npx tsx scripts/discover-singlechar-sdf.ts --scorer=ray

# 3. Découverte multi-caractère (bigrammes) (676 bigrammes, ~63 min)
npx tsx scripts/discover-multichar-sdf.ts --scorer=ray

# 4. Noter les confusables multi-caractères TR39 connus (~5 min)
npx tsx scripts/score-multichar-sdf.ts --scorer=ray
Pipeline SSIM hérité

Le pipeline d'origine basé sur SSIM a noté 26,5 millions de comparaisons sur 230 polices. Il reste fonctionnel mais est remplacé par RaySpace pour toutes les tâches de découverte et de notation.

# Notation des paires confusables TR39
npx tsx scripts/build-index.ts          # Construire l'index (~160s, 11 370 PNG)
npx tsx scripts/score-all-pairs.ts      # Noter toutes les paires (~65s, 235 000 comparaisons)

# Découverte de nouveaux confusables
npx tsx scripts/build-candidates.ts          # Ensemble candidat (~23 000 caractères)
npx tsx scripts/build-index.ts --candidates  # Rendre les candidats (~40min, 89 000 PNG)
npx tsx scripts/score-candidates.ts          # Noter par rapport aux cibles latines (~15min, 2,9 millions de comparaisons)

# Extraire les découvertes les mieux notées des deux pipelines
npx tsx scripts/extract-discoveries.ts

Ce qui a été trouvé

Principales paires confusables (mono-caractère, distance moyenne < 0,10)

SourceCibleÉcrituresMoyennePolicesZéros
w U+0077ԝ U+051DLatin-Cyrillique0,0001919
j U+006Aϳ U+03F3Latin-Grec0,0132118
i U+0069і U+0456Latin-Cyrillique0,0186250
s U+0073ѕ U+0455Latin-Cyrillique0,0186246
c U+0063с U+0441Latin-Cyrillique0,0196145
o U+006Fо U+043ELatin-Cyrillique0,0206144
j U+006Aј U+0458Latin-Cyrillique0,0216048
x U+0078х U+0445Latin-Cyrillique0,0235950
p U+0070р U+0440Latin-Cyrillique0,0246146
e U+0065е U+0435Latin-Cyrillique0,0326144
a U+0061а U+0430Latin-Cyrillique0,0426145

« Zéros » = polices où les contours produisent des signatures de rayons bit-identiques (distance 0,000). Le w latin / ԝ cyrillique est identique dans les 19 polices contenant les deux glyphes.

Percées inter-écritures (mono-caractère)

SourceCibleÉcrituresMoyennePolices
ο U+03BFჿ U+10FFGrec-Géorgien0,0572
ヘ U+30D8へ U+3078Katakana-Hiragana0,12211
丶 U+4E36ヽ U+30FDHan-Katakana0,1259
二 U+4E8Cニ U+30CBHan-Katakana0,24911
口 U+53E3ロ U+30EDHan-Katakana0,26811

La codavie géorgienne (U+10FF) forme un anneau de confusables à quatre avec le o latin, le o cyrillique et l'omicron grec, tous en dessous d'une distance de 0,08.

Résultats clés multi-caractères

BigrammeCibleMoyennePolicesNotes
ll॥ U+0965 (double danda devanagari)0,1768Inter-écriture
oyѹ U+0479 (uk cyrillique)0,32216Nouveau bigramme confusable inter-écriture
rnm U+006D0,5319533 polices en dessous de 0,40
blы U+044B (yeru cyrillique)0,79749Inter-écriture

La découverte oy/uk cyrillique est le résultat le plus marquant : le bigramme latin « oy » est visuellement identique à la lettre digraphe cyrillique uk (ѹ) à une distance de 0,000 dans Helvetica et 0,0005 dans Arial Unicode MS.

Calibration des seuils

Seuil moyenPaires mono-caractère uniquesPaires multi-caractère uniques
< 0,5013813
< 1,004 1741 631
< 1,5059 700(bruit)
< 2,00249 9762 524 275

Trois niveaux d'exploitation recommandés :

  • Strict (< 0,50): 138 paires mono-caractère, quasi aucun faux positif. Convient au blocage automatisé (enregistrement IDN, validation de noms de paquets) où les faux positifs ont un coût réel.
  • Standard (< 1,00): 4 174 paires mono-caractère, bon équilibre couverture/précision. Convient au signalement et à la révision manuelle dans les outils de sécurité.
  • Exploratoire (< 2,00): Ensemble complet des découvertes. Contient du bruit en haut de l'échelle mais utile pour la recherche, l'audit de polices et la construction d'ensembles d'entraînement.

Interrogation par police

Télécharger l’outil