Поиск невидимых символов и декодер ASCII smuggling
Вставьте текст, чтобы найти символы, которых не видно, и прочитать текст, спрятанный в невидимых символах-тегах Unicode: пробелы нулевой ширины, символы направления текста, скрытые символы-теги Unicode и слова, где латинские буквы смешаны с похожими кириллическими или греческими.
Работает в браузере; введённые вами данные не покидают устройство
Вставьте текст для проверки.
Скрытый текст, расшифрованный из символов-тегов
Эти невидимые символы складываются в читаемый текст ниже. Относитесь к нему как к недоверенному, особенно если текст отправляется ИИ-ассистенту.
- Символы нулевой ширины
- 0
- Символы направления текста
- 0
- Символы-теги Unicode
- 0
- Управляющие символы
- 0
- Прочие невидимые символы
- 0
- Необычные пробелы
- 0
- Слова со смешанными алфавитами
- 0
Выделенный текст
Очищенный текст
Находки
| Строка:столбец | № символа | Кодовая точка | Что это | Вид |
|---|
Текст до нескольких миллионов символов. Проверка смотрит на кодовые точки Unicode: она находит скрытые символы, но не может определить, безвреден ли конкретный символ в вашем тексте. Настоящие последовательности эмодзи, например флаги и семейные эмодзи, не помечаются.
Как найти невидимые символы
- Вставьте текст для проверки или выберите Загрузить пример, чтобы увидеть, что находит инструмент.
- Посмотрите количество символов каждого вида, выделенный текст и таблицу со строкой, столбцом и кодовой точкой каждой находки.
- Выберите Скопировать очищенный текст, чтобы получить текст без невидимых символов.
Как находят скрытые символы
В Unicode есть много символов, которые ничего не печатают: пробелы и соединители нулевой ширины, метки, меняющие направление текста, мягкие переносы, пробелы необычной ширины и символы-теги, повторяющие ASCII. На своём месте они полезны, не на своём — досадная помеха или оружие. Этот инструмент читает текст по одной кодовой точке и относит каждую находку к определённому виду, чтобы вы видели, что там есть, прежде чем решать, что с этим делать.
Сообщается о семи видах. К символам нулевой ширины относятся пробел нулевой ширины, соединители и метка порядка байтов. Символы направления текста — это вложения, переопределения, изоляты и метки, которые используют в атаках Trojan Source на исходный код. Символы-теги Unicode — блок U+E0000, с помощью которого в текст для ИИ-ассистентов тайно вставляют невидимые инструкции; каждая последовательность расшифровывается, и вы читаете ASCII, который она образует. Управляющие символы — коды C0 и C1, кроме табуляции и переводов строки. Прочие невидимые символы — это мягкий перенос, невидимые математические операторы, символы-заполнители и селекторы вариантов, а необычные пробелы — неразрывный пробел, пробелы em и en и идеографический пробел. Наконец, слова со смешанными алфавитами — слова, где латинские буквы сочетаются с кириллическими, греческими или армянскими; так обычно подделывают доменные имена и имена пользователей.
Пробелы нулевой ширины встречаются и в текстах, созданных ИИ. Чат-ассистенты и конвейеры обработки текста иногда оставляют в результате пробелы или соединители нулевой ширины, а те же символы можно использовать как невидимый водяной знак, так что вставленный ответ может нести больше, чем видно. Проверка текста этим инструментом показывает, что именно в нём спрятано.
Некоторые из этих символов законно встречаются в обычном тексте, поэтому инструмент не трогает их там, где они уместны. Полный флаг Англии, Шотландии или Уэльса (чёрный флаг, за ним несколько букв-тегов и отменяющий тег), соединитель нулевой ширины между двумя эмодзи и селектор представления эмодзи после эмодзи — это норма. Соединитель или разделитель внутри персидских слов, слов на хинди или арабском тоже норма, но о нём сообщается, потому что инструмент не знает язык вашего текста.
Очищенная копия не содержит символов нулевой ширины, направления, тегов, управляющих и прочих невидимых символов. Слова со смешанными алфавитами инструмент никогда не меняет, потому что замена буквы изменила бы текст; исправьте их вручную, проверив выделенное слово.
Советы
- Подсчитайте оставшееся в счётчике символов: он считает символы, байты и строки.
- Сравните оригинал с очищенным текстом в инструменте Сравнение текстов.
- Чтобы удалить один конкретный символ везде, используйте Найти и заменить.
Вопросы и ответы
Что такое символы нулевой ширины?
Это символы, которые не занимают места на экране: пробел нулевой ширины (U+200B), разделитель нулевой ширины (U+200C), соединитель слов (U+2060) и метка порядка байтов (U+FEFF). Они попадают в текст, скопированный с веб-страниц и из мессенджеров, и без всяких видимых признаков ломают поиск, пароли, код и имена файлов. Соединитель и разделитель также используются намеренно в некоторых письменностях, например в персидской и хинди, поэтому проверяйте, прежде чем удалять.
Что такое атака Trojan Source?
В Unicode есть управляющие символы, меняющие направление отображения текста, например переопределение справа налево (U+202E). В исходном коде они могут сделать так, что строка выглядит не так, как её читает компилятор, и безобидный на вид комментарий скроет настоящий код. Инструмент перечисляет все двунаправленные управляющие символы, чтобы вы их увидели.
Что такое символы-теги Unicode и почему они важны?
Символы-теги (от U+E0000 до U+E007F) повторяют ASCII, но ничего не отображают. Текст, написанный ими, невидим для читателя, но его может прочитать программа, в том числе ИИ-ассистент, поэтому через них можно тайно передать скрытые инструкции в промпте или документе. Инструмент расшифровывает каждую последовательность символов-тегов в ASCII-текст, который она образует, и показывает его на видном месте. Это называется ASCII smuggling. Флаг Англии, Шотландии или Уэльса намеренно строится из нескольких символов-тегов, поэтому полная последовательность флага не помечается.
Почему слово помечено как написанное смешанными алфавитами?
В кириллице и греческом есть буквы, неотличимые от латинских, например кириллическая а и латинская a. Слово, где они смешаны, как pаypal с кириллической а, может сойти за настоящее имя и вести совсем в другое место. Инструмент перечисляет слова, сочетающие латинские буквы с кириллическими, греческими или армянскими, и показывает, какие буквы там лишние.
Помечает ли он эмодзи?
Нет. Соединитель нулевой ширины между двумя эмодзи, как в семейных эмодзи или эмодзи профессий, и селектор вариантов после эмодзи входят в устройство эмодзи, поэтому их не трогают. Те же символы в других местах, например между двумя буквами, отмечаются.
Загружается ли мой текст?
Нет. Текст проверяется в вашем браузере и никогда не покидает устройство.