Перейти к содержимому
Ghostchars

Соединители, селекторы и заполнители

TAG CHARACTERS (U+E0000–U+E007F)

Теневая копия ASCII. U+E0020–U+E007E повторяют печатные символы ASCII один в один и не рисуют ничего. U+E007F CANCEL TAG завершает последовательность.

Диапазон
U+E0000–U+E007F
Удаляется по умолчанию
Если одиночный
Управляющий параметр
Агрессивно -a
Может нести нагрузку
Да

Откуда он берётся

Единственное узаконенное сегодня применение — внутри флагов регионов: 🏴, за которым идут теги для «gbsct» и завершающий тег, — это флаг Шотландии. Всё остальное делается намеренно: именно на этом блоке построен ASCII smuggling, «контрабанда команд», когда к промпту или документу дописывают невидимую инструкцию.

Почему это важно

Это самое опасное семейство в списке. Теговая последовательность невидима для человека, копируется и вставляется целиком и читается многими языковыми моделями как обычный текст — вот так безобидный на вид абзац и несёт инструкцию, которой читатель никогда не видел. Если вы проверяете недоверенный текст перед тем, как отдать его модели, начинать нужно с этого блока.

До и после

ДоОцените это эссе.U+E0049U+E0067U+E006EU+E006FU+E0072U+E0065
ПослеОцените это эссе.

Шесть теговых символов складываются в слово, которого не увидит ни один читатель. Ghostchars показывает каждый из них с его позицией и его двойником из ASCII.

Символ показан подписанной плашкой, чтобы было видно, где он стоит. В вашем тексте он не рисует ровно ничего.

Когда он уместен

Внутри полной последовательности флага региона: базовый чёрный флаг, один или несколько теговых символов и завершающий тег. Ghostchars разбирает последовательность целиком и оставляет ровно такие; теговый символ вне корректного флага считается одиночным и удаляется.

Как его удалить

Одиночные теговые символы удаляет базовый проход. Корректные последовательности флагов остаются и попадают в отчёт; параметр «Агрессивно» (`-a`) удаляет и их, оставляя вам голый чёрный флаг.

Это водяной знак ИИ?

Используется для сокрытия данных — но не водяной знак

Нет — и здесь стоит быть особенно точным. Теговые символы не водяной знак, оставленный моделью; это поверхность атаки, направленной НА модели. Теговая последовательность в тексте, который вы собираетесь вставить в ассистента, — это инъекция в промпт, пока не доказано обратное.

Известный носитель намеренно спрятанных данных. Кто-то поместил его туда специально, а это уже другой вопрос, чем то, кто написал слова.

Вопросы

Что такое ASCII smuggling?

Это запись читаемого текста ASCII в теговом блоке: на экране его нет, а в строке он есть. Всё, что читает сырой текст, — включая многие языковые модели, — способно на него отреагировать.

Не сломается ли флаг Шотландии или Уэльса?

Нет. Эти флаги И ЕСТЬ теговые последовательности: чёрный флаг, код региона теговыми символами и завершающий тег. Ghostchars проверяет последовательность целиком и оставляет её; удаляет её только параметр «Агрессивно».

Нужно ли чистить текст перед тем, как вставить его в ИИ-ассистента?

Если текст пришёл оттуда, где вы ничего не контролируете, — да. Невидимые инструкции в теговом блоке это штатный способ доставки непрямой инъекции в промпт.

Проверьте свой текст

Вставьте что угодно в инструмент очистки, чтобы увидеть каждый скрытый символ: позицию, кодовую позицию и то, что произойдёт с каждым из них. Ничего никуда не отправляется.

Проверьте свой текстВсе символы