TGViewer
Похек AI Похек AI @poxek_ai · 3.11K subscribers
Post #230 1.07K
Invisible Token Smuggling — payload, который не видно [14/14]
#promptinjection #unicode #smuggling #invisible

Три техники встраивания невидимых инструкций через Unicode. Текст выглядит безобидно. Модель читает скрытый payload. Человек не видит ничего.

SneakyBits (Johann Rehberger, 2025)
Побитовое кодирование через два невидимых символа:
- Бит 0 → U+2062 (Invisible Times)
- Бит 1 → U+2064 (Invisible Plus)

Каждый байт = 8 невидимых символов. "A" (0x41) → ⁢⁤⁢⁢⁢⁢⁢⁤. Работает с любыми данными, не только ASCII. Минус — раздувает текст в 8 раз.

Variation Selector Smuggling (Paul Butler, 2025)
Кодирование 1:1 через Unicode Variation Selectors (U+FE00-FE0F + U+E0100-E01EF = 256 значений). Один байт маппится на один codepoint. Payload цепляется к базовому символу (по умолчанию эмодзи 😊).

Эмодзи выглядит нормально, но тащит за собой невидимый хвост из данных. В 8 раз компактнее SneakyBits. PyRIT (Microsoft) реализовал как VariationSelectorSmugglerConverter.

ASCII Smuggler (Unicode Tags Block U+E0000)
Каждый ASCII-символ → U+E0000 + код. A (0x41) → U+E0041. Символы отрисовываются как zero-width. 1 codepoint на 1 символ, но ограничен ASCII (0x01-0x7F).

Тот самый вектор, через который EchoLeak (пост [3/14]) эксфильтрировал данные из Microsoft Copilot в 2024.

Сравнение
| Техника             | Компактность       | Что кодирует                |
|---------------------|--------------------|-----------------------------|
| SneakyBits | 8 codepoints/байт | Любые данные |
| Variation Selectors | 1 codepoint/байт | Любые данные (256 значений) |
| ASCII Smuggler | 1 codepoint/символ | Только ASCII |


Защита
➡️ Unicode нормализация на входе — стриппинг U+2062-2064, U+FE00-FE0F, U+E0100-E01EF, U+E0001-E007F
➡️ Визуальный индикатор — показывать пользователю количество невидимых символов
➡️ Content Security Policy для Unicode — whitelist разрешённых блоков
➡️ Token-level инспекция в inference pipeline

Моё мнение
Invisible smuggling — не атака сама по себе. Это канал доставки. EchoLeak, document injection, RAG poisoning — все используют невидимые символы как транспорт.

Три техники, три уровня компактности. SneakyBits — универсальный, но громоздкий. Variation Selectors — оптимальный баланс. ASCII Smuggler — простой и уже обкатанный на реальных CVE.

Unicode нормализация на входе решает проблему для всех трёх. Одна строчка кода. Но пока её нет в большинстве продакшн-систем — эти техники будут работать.

14 постов, 14 классов prompt injection. И это только одна категория из шести в нашей KB.

🔗Источники:
▪️ SneakyBits — Embrace The Red
▪️ Variation Selectors — Paul Butler
▪️ PyRIT — Microsoft Azure
▪️ OWASP LLM01

❤️ @poxek_ai / Чат канала
More from @poxek_ai
  1. Sep 22, 2026Краткий дайджест новостей на вечер 22.09.2026: 1. Сделали нейронку Jev, которая вместо тек…
  2. Sep 20, 2026Чек-листы по составлению корпоративных политик MLSecOps и AI Governance MLSecOps: https://…
  3. Sep 18, 2026Post #568
  4. Sep 17, 2026Kimi K2.8 релизнулась на https://www.kimi.ai/
  5. Sep 17, 2026RAG-червю достаточно текста и приложения, которое помогает ему размножаться. В статье VXHE…
  6. Sep 15, 2026🇨🇳360 научила мультимодальную ИИ-модель анализировать миллионные EDR-журналы как «видео»…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →