Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
confusable-vision — 793 путаемые пары, отсутствующие в Unicode TR39, первый в мире межскриптовый набор данных, шрифтозависимая оценка SSIM для 230 шрифтов и более 22 000 символов | Kitploit
Инструменты/GitHubGitHub/paultendo/confusable-vision
OSINT (Разведка открытых источников)РазведкаВеб-безопасностьРазведка угрозБезопасность Цепочки ПоставокСтатьи и ИсследованияОбучение и ОбразованиеПодобранные Ресурсы
GitHubpaultendo/confusable-vision

confusable-vision

793 путаемые пары, отсутствующие в Unicode TR39, первый в мире межскриптовый набор данных, шрифтозависимая оценка SSIM для 230 шрифтов и более 22 000 символов

11215 дней назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
Репозиторий

confusable-vision

Эмпирическая оценка сходства глифов с помощью векторного рейкастинга. Визуализирует конфьюзабельные пары символов Unicode на 245 системных шрифтах, измеряет структурное сходство напрямую по контурам шрифта (без растеризации) и создает оценённые JSON-артефакты с непрерывными показателями расстояния для каждого шрифта.

Ключевые результаты из 52,6 миллионов односимвольных и 190 миллионов многосимвольных сравнений для 22 581 символа и 12 систем письма:

  • 249 976 уникальных односимвольных конфьюзабельных пар для 245 шрифтов, 12 систем письма, 66 межсистемных пар. 764 395 открытий на уровне шрифта.
  • 2 524 275 уникальных многосимвольных (биграммных) конфьюзабельных пар, включая rn/m для 95 шрифтов (33 из них с расстоянием ниже 0,40) и oy/кириллическая uk для 16 шрифтов.
  • Непрерывные показатели расстояния для каждого шрифта, а не бинарные списки. Каждая пара имеет измеренное расстояние луча для каждого шрифта, что обеспечивает осведомлённость о шрифте при последующем использовании в инструментах безопасности.
  • На 305% больше открытий, чем SDF, на 29% быстрее. Обогащённая пятислойная сигнатура луча является строгим надмножеством результатов SDF; пары, найденные исключительно SDF, не подтвердились при ручной проверке.

Выходные данные напрямую подаются в namespace-guard для обнаружения конфьюзабельных символов во время выполнения в именах пакетов, доменных именах и идентификаторах.

Принцип работы

RaySpace испускает параллельные лучи через контуры шрифта под 36 углами и захватывает пять слоёв информации для каждого глифа: количество пересечений, позиции пересечений, углы пересечений, ping-расстояния (ширина штриха в каждом пересечении) и ping max (ширина промежутка между пересечениями). Это создаёт компактную сигнатуру для каждого символа в каждом шрифте. Две сигнатуры сравниваются с помощью взвешенного L1-расстояния по всем пяти слоям.

Трёхступенчатый каскад фильтров делает полное сравнение осуществимым:

  1. Фильтр ширины упреждения (допуск 15%) отсеивает пары с разной шириной символов. Удаляет 63% кандидатов.
  2. Сравнение лучей (порог 2,0, ужесточён до 1,0 для больших пар систем письма). Удаляет ещё 33%.
  3. Только 3,3% кандидатов выживают и становятся открытиями.

Банк сигнатур (294 646+ записей для 245 шрифтов; больше с --include-uppercase) предварительно вычисляется один раз. Затем обнаружение выполняется как однопоточные арифметические операции над банком, завершая 52,6 миллиона сравнений пар за 31 минуту без рабочих потоков или GPU.

Быстрый старт

npm install

# 1. Построить банк лучевых сигнатур (обязательно, ~24 мин)
npx tsx scripts/build-signature-bank.ts

# 1b. Включить заглавные буквы латиницы A–Z (опционально)
#     По умолчанию банк включает только IDNA PVALID кодовые точки (строчные,
#     цифры, символы). Используйте --include-uppercase для добавления заглавных A-Z, полезно
#     для идентификации шрифтов и визуального сравнения товарных знаков, где важны
#     формы заглавных глифов. Сборщик возобновляем, поэтому будут вычисляться только
#     дополнительные кодовые точки.
npx tsx scripts/build-signature-bank.ts --include-uppercase

# 1c. Включить произвольные диапазоны кодовых точек (опционально)
npx tsx scripts/build-signature-bank.ts --extra-range=0041-005A

# 2. Обнаружение односимвольных пар (22 581 символ, 12 систем письма, ~36 мин)
npx tsx scripts/discover-singlechar-sdf.ts --scorer=ray

# 3. Обнаружение многосимвольных пар (биграммы) (676 биграмм, ~63 мин)
npx tsx scripts/discover-multichar-sdf.ts --scorer=ray

# 4. Оценка известных многосимвольных конфьюзабельных пар из TR39 (~5 мин)
npx tsx scripts/score-multichar-sdf.ts --scorer=ray
Устаревший конвейер SSIM

Исходный конвейер на основе SSIM оценил 26,5 миллионов сравнений для 230 шрифтов. Он остаётся работоспособным, но заменён RaySpace для всех задач обнаружения и оценки.

# Оценка конфьюзабельных пар из TR39
npx tsx scripts/build-index.ts          # Построить индекс (~160 с, 11 370 PNG)
npx tsx scripts/score-all-pairs.ts      # Оценить все пары (~65 с, 235 000 сравнений)

# Обнаружение новых конфьюзабельных пар
npx tsx scripts/build-candidates.ts          # Набор кандидатов (~23 000 символов)
npx tsx scripts/build-index.ts --candidates  # Визуализировать кандидатов (~40 мин, 89 000 PNG)
npx tsx scripts/score-candidates.ts          # Оценить по отношению к латинским целям (~15 мин, 2,9 млн сравнений)

# Извлечь высокооценённые открытия из обоих конвейеров
npx tsx scripts/extract-discoveries.ts

Что было найдено

Лучшие конфьюзабельные пары (односимвольные, среднее расстояние < 0,10)

ИсточникЦельСистемы письмаСреднееШрифтыНули
w U+0077ԝ U+051DLatin-Cyrillic0,0001919
j U+006Aϳ U+03F3Latin-Greek0,0132118
i U+0069і U+0456Latin-Cyrillic0,0186250
s U+0073ѕ U+0455Latin-Cyrillic0,0186246
c U+0063с U+0441Latin-Cyrillic0,0196145
o U+006Fо U+043ELatin-Cyrillic0,0206144
j U+006Aј U+0458Latin-Cyrillic0,0216048
x U+0078х U+0445Latin-Cyrillic0,0235950
p U+0070р U+0440Latin-Cyrillic0,0246146
e U+0065е U+0435Latin-Cyrillic0,0326144
a U+0061а U+0430Latin-Cyrillic0,0426145

«Нули» = шрифты, в которых контуры дают побитно идентичные лучевые сигнатуры (расстояние 0,000). Латинская w и кириллическая ԝ идентичны во всех 19 шрифтах, содержащих оба глифа.

Межсистемные прорывы (односимвольные)

ИсточникЦельСистемы письмаСреднееШрифты
ο U+03BFჿ U+10FFGreek-Georgian0,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

Грузинская Coda (U+10FF) образует четырёхстороннее кольцо конфьюзабельности с латинской o, кириллической o и греческим омикроном — все с расстоянием ниже 0,08.

Многосимвольные заглавные результаты

БиграммаЦельСреднееШрифтыПримечания
ll॥ U+0965 (деванагари двойная данда)0,1768Межсистемная
oyѹ U+0479 (кириллическая uk)0,32216Новая межсистемная биграммная конфьюзабельная
rnm U+006D0,5319533 шрифта ниже 0,40
blы U+044B (кириллическая ы)0,79749Межсистемная

Открытие oy/кириллическая uk является выдающимся новым результатом: латинская биграмма «oy» визуально идентична кириллической букве-диграфу uk (ѹ) с расстоянием 0,000 в Helvetica и 0,0005 в Arial Unicode MS.

Калибровка порогов

Средний порогОдносимвольные уникальные парыМногосимвольные уникальные пары
< 0,5013813
< 1,004 1741 631
< 1,5059 700(шум)
< 2,00249 9762 524 275

Три рекомендуемых рабочих уровня:

  • Строгий (< 0,50): 138 односимвольных пар, почти нулевой уровень ложных срабатываний. Подходит для автоматической блокировки (регистрация IDN, проверка имён пакетов), где ложные срабатывания имеют реальную стоимость.
  • Стандартный (< 1,00): 4 174 односимвольных пар, хороший баланс охвата и точности. Подходит для пометки и ручной проверки в инструментах безопасности.
  • Исследовательский (< 2,00): Полный набор обнаружений. Содержит шум на верхнем конце, но полезен для исследований, аудита шрифтов и создания обучающих наборов.

Запросы по шрифтам

Узнайте, какие конфьюзабельные пары существуют для конкретного шрифта. Полезно для дизайнеров шрифтов, выпускающих новый гарнитур, вендоров браузеров, оценивающих смену системного шрифта, или любого, кто выбирает экранный шрифт для чувствительных к безопасности контекстов, таких как IDN-домены.

Скачать инструмент