Phase 18 - Lesson 14

Arte ASCII e Jailbreaks Visuais

Jiang, Xu, Niu, Xiang, Ramasubramanian, Li, Poovendran, "ArtPrompt: ASCII Art-based Jailbreak Attacks against Aligned LLMs" (ACL 2024, arXiv:2402.11753). Mascare os tokens relevantes para a segurança em uma solicitação prejudicial, substitua-os por representações em arte ASCII das mesmas letras e envie o prompt ocultado. GPT-3.5, GPT-4, Gemini, Claude e Llama-2 falham em reconhecer tokens de arte ASCII de forma robusta. O ataque contorna filtros de perplexidade (PPL), defesas de paráfrase e retokenização. Relacionado: o benchmark ViTC mede o reconhecimento de prompts visuais não semânticos; o StructuralSleight generaliza para Estruturas Codificadas em Texto Incomuns (árvores, grafos, JSON aninhado) como uma família de ataques de codificação.

Tipo: Build Idiomas: Python (stdlib, ArtPrompt token-masking harness) Pré-requisitos: Phase 18 · 12 (PAIR), Phase 18 · 13 (MSJ) Tempo: ~60 minutos

Objetivos de Aprendizado

  • Descrever o ataque ArtPrompt: etapa de identificação de palavras, substituição por arte ASCII, prompt ocultado final.
  • Explicar por que as defesas padrão (PPL, Paráfrase, Retokenização) falham no ArtPrompt.
  • Definir ViTC e descrever o que ele mede.
  • Descrever o StructuralSleight como uma generalização para Estruturas Codificadas em Texto Incomuns arbitrárias.

O Problema

Ataques via paráfrase e roleplay (Lição 12) e via contexto longo (Lição 13) operam no padrão de nível de texto. O ArtPrompt opera no nível de reconhecimento: o modelo não analisa o token proibido. Ele analisa uma imagem renderizada em caracteres. O filtro de segurança vê apenas pontuação inofensiva. O modelo vê uma palavra.

O Conceito

ArtPrompt, duas etapas

Etapa 1. Identificação de Palavras. Diante de uma solicitação prejudicial, o invasor usa um LLM para identificar as palavras relevantes para a segurança (por exemplo, "bomb" em "how to make a bomb").

Etapa 2. Geração de Prompt Ocultado. Substituir cada palavra identificada por sua renderização em arte ASCII (um bloco de caracteres de 7x5 ou 7x7 que forma o formato da letra). O modelo recebe uma grade de pontuações e espaços que um modelo suficientemente capaz consegue reconhecer como a palavra; um filtro de segurança vê apenas a grade.

Resultado: GPT-4, Gemini, Claude, Llama-2 e GPT-3.5 falham. Taxa de sucesso do ataque acima de 75% no subconjunto de benchmark deles.

Por que as defesas padrão falham

  • PPL (filtro de perplexidade). A arte ASCII tem alta perplexidade — mas o mesmo vale para qualquer entrada nova. As escolhas de limite que bloqueiam o ArtPrompt também bloqueiam entradas estruturadas legítimas.
  • Paráfrase. Parafrasear o prompt destrói a arte ASCII. Na prática, LLMs de paráfrase frequentemente preservam ou reconstroem a arte.
  • Retokenização. Dividir tokens de maneira diferente não altera o fato de que a visão do modelo está reconhecendo formatos de letras.

O problema subjacente é que os filtros de segurança estão no nível semântico ou de token; o ArtPrompt opera no nível de reconhecimento visual.

Benchmark ViTC

Reconhecimento de prompts visuais não semânticos. Mede a capacidade do modelo de ler arte ASCII, wingdings e outros conteúdos visuais semânticos que não sejam texto direto. A eficácia do ArtPrompt correlaciona-se com a precisão do ViTC: quanto melhor o modelo lê texto visual, melhor o ArtPrompt funciona nele. Este é um trade-off de capacidade-segurança.

StructuralSleight

Generaliza o ArtPrompt: Estruturas Codificadas em Texto Incomuns (UTES - Uncommon Text-Encoded Structures). Árvores, grafos, JSON aninhado, CSV em JSON, blocos de código no estilo diff. Se uma estrutura for rara nos dados de treinamento de segurança, mas analisável pelo modelo, ela pode ocultar conteúdo prejudicial.

A implicação para a defesa: a segurança deve se generalizar através das representações estruturadas que o modelo consegue analisar. O conjunto é grande e está crescendo.

Análogo na modalidade de imagem

LLMs visuais (GPT-5.2, Gemini 3 Pro, Claude Opus 4.5, Grok 4.1) estendem a superfície de ataque. Ataques no estilo ArtPrompt com imagens reais são mais fortes do que os análogos em arte ASCII porque os codificadores de imagem produzem um sinal mais rico.

Onde isso se encaixa na Fase 18

As Lições 12 a 14 descrevem três vetores de ataque ortogonais: refinamento iterativo (PAIR), comprimento do contexto (MSJ) e codificação (ArtPrompt/StructuralSleight). A Lição 15 muda de ataques centrados no modelo para ataques de fronteira do sistema (injeção indireta de prompt). A Lição 16 descreve a resposta de ferramentas de defesa.

Pratique

code/main.py constrói um ArtPrompt de brinquedo. Você pode ocultar palavras específicas em uma consulta prejudicial com glifos de arte ASCII, verificar se a string ocultada passa por um filtro de palavras-chave e (opcionalmente) decodificar a string ocultada de volta usando um reconhecedor simples.

Entregue

Esta lição produz outputs/skill-encoding-audit.md. Diante de um relatório de defesa contra jailbreak, ela enumera as famílias de ataques de codificação cobertas (arte ASCII, base64, leet-speak, homóglifos UTF-8, UTES) e a camada de defesa que detecta cada uma.

Exercícios

  1. Execute code/main.py. Verifique se a string ocultada passa por um filtro simples de palavras-chave. Relate a alteração necessária no nível de caractere.

  2. Implemente uma segunda codificação: base64 para a mesma palavra-alvo. Compare a taxa de contorno do filtro com a do ArtPrompt e a dificuldade de recuperação.

  3. Leia Jiang et al. 2024 Seção 4.3 (resultados de cinco modelos). Proponha um motivo pelo qual a resistência do Claude ao ArtPrompt é maior do que a do Gemini no mesmo benchmark.

  4. Projete uma defesa de pré-geração que detecte regiões com formato de arte ASCII no prompt. Meça a taxa de falsos positivos em códigos legítimos, tabelas e notação matemática.

  5. O StructuralSleight lista 10 estruturas de codificação. Esboce uma defesa generalizada que lide com todas as 10 e estime o custo de computação por prompt defendido.

Termos-Chave

Termo O que as pessoas dizem O que realmente significa
ArtPrompt "o ataque de arte ASCII" Jailbreak em duas etapas que mascara palavras de segurança com renderizações em arte ASCII
Ocultamento "esconder a palavra" Substituir um token proibido por uma representação visual que o modelo lê, mas o filtro não
UTES "estrutura incomum" Estrutura Codificada em Texto Incomum (Uncommon Text-Encoded Structure) — árvore, grafo, JSON aninhado, etc., usada para contrabandear conteúdo
ViTC "capacidade de texto visual" Benchmark para a capacidade do modelo de ler codificação visual não semântica
Filtro de perplexidade "defesa PPL" Rejeitar prompts com alta perplexidade; falha porque entradas estruturadas legítimas também pontuam alto
Retokenização "defesa de mudança de tokenizador" Pré-processar o prompt com um tokenizador diferente; falha porque o reconhecimento é visual
Homóglifo "caracteres semelhantes" Caracteres Unicode que parecem idênticos a letras latinas; contornam verificações de substring

Leituras Adicionais

0 lifetime access. Curriculum based on AI Engineering from Scratch by Rohit Ghumare (MIT, used under attribution).