
Token
Um token, no contexto de grandes modelos de linguagem (LLMs), é uma sequência de caracteres que o modelo converte em representações numéricas para processamento...

Token smuggling explora a lacuna entre como os humanos leem texto e como os tokenizadores de LLM o processam. Os atacantes usam variações Unicode, caracteres de largura zero, homóglifos ou codificações incomuns para ocultar instruções maliciosas dos filtros de conteúdo, mantendo-se legíveis pelo tokenizador.
Token smuggling é uma classe de ataque que visa a lacuna entre camadas de processamento de texto em sistemas de IA. Filtros de moderação de conteúdo, validação de entrada e verificações de segurança normalmente operam em texto legível por humanos. Os tokenizadores de LLM, em contraste, operam em um nível mais baixo — convertendo caracteres em IDs de token numéricos. Ao explorar diferenças entre essas camadas, os atacantes podem criar entradas que passam pelos filtros de nível de texto, mas entregam instruções maliciosas ao LLM.
Antes de um LLM processar texto, um tokenizador converte a string de entrada em uma sequência de IDs de token inteiros. Esses IDs mapeiam para o vocabulário do modelo — comumente codificados usando algoritmos como Byte Pair Encoding (BPE) ou WordPiece.
Propriedades-chave da tokenização que os atacantes exploram:
O Unicode contém milhares de caracteres que se assemelham visualmente a caracteres ASCII comuns. Um filtro procurando pela palavra “harmful” pode não reconhecer “hármful” (com acento combinado) ou “harⅿful” (com um caractere de fração Unicode).
Exemplo: A palavra “ignore” pode ser codificada como “іgnore” (usando “і” cirílico em vez de “i” latino) — aparecendo idêntica para a maioria dos leitores humanos e alguns filtros, mas potencialmente processando de forma diferente no nível do tokenizador.
Caracteres de largura zero (como U+200B ZERO WIDTH SPACE ou U+200C ZERO WIDTH NON-JOINER) são invisíveis em texto renderizado. Inseri-los entre caracteres em palavras-chave quebra filtros de correspondência de string sem afetar a aparência visual ou, em muitos casos, a representação tokenizada.
Exemplo: “ignore” com espaços de largura zero entre cada caractere aparece como “ignore” quando renderizado, mas quebra a correspondência simples de padrões de string.
Converter texto para codificações alternativas antes do envio:
A eficácia depende de se o LLM foi treinado para decodificar essas representações, o que muitos modelos de propósito geral têm.
Variações simples, mas às vezes eficazes:
Alguns tokenizadores dão tratamento especial a caracteres delimitadores. Ao introduzir caracteres que o tokenizador interpreta como limites de segmento, os atacantes podem manipular como o modelo segmenta a entrada em unidades significativas.
Bypass de jailbreak: Codificar prompts de jailbreak usando técnicas que passam pela camada de filtro de segurança, mas são decodificadas pelo LLM, permitindo o bypass de proteções de segurança.
Evasão de filtro de conteúdo: Incorporar discurso de ódio, solicitações de conteúdo ilegal ou instruções que violam políticas em forma codificada.
Ofuscação de injeção de prompt: Usar codificação para ocultar instruções injetadas de filtros simples de correspondência de padrões, garantindo que o LLM as processe corretamente.
Fingerprinting de filtro: Testar sistematicamente diferentes variações de codificação para identificar quais o sistema de filtros do alvo detecta e quais não — mapeando a cobertura do filtro para ataques mais direcionados.
Aplicar normalização Unicode (NFC, NFD, NFKC ou NFKD) a todas as entradas antes da filtragem. Isso converte variantes Unicode em formas canônicas, eliminando muitos ataques de homóglifos e caracteres combinados.
Implementar mapeamento explícito de homóglifos para normalizar caracteres visualmente similares aos seus equivalentes ASCII antes da filtragem. Bibliotecas existem para esse propósito na maioria das linguagens de programação.
Em vez de (ou além de) filtros baseados em string, use um filtro baseado em LLM que opere em representações de token. Como esses filtros processam texto no mesmo nível que o modelo alvo, truques de codificação são menos eficazes — o filtro vê a mesma representação que o modelo.
A avaliação de segurança deve incluir testes sistemáticos de filtros de conteúdo contra variantes de codificação conhecidas. Se um filtro deve bloquear “ignore previous instructions”, teste se ele também bloqueia homóglifos Unicode, variantes de largura zero, codificação Base64 e outras formas de ofuscação.
Registrar uma renderização legível por humanos de entradas normalizadas junto com a entrada bruta. Discrepâncias entre as duas podem revelar ataques de codificação durante a revisão de incidentes.
Token smuggling é uma técnica de ataque que explora diferenças entre texto legível por humanos e representações de tokenizador de LLM. Os atacantes codificam instruções maliciosas usando variações de caracteres, truques Unicode ou formatação incomum para que os filtros de conteúdo não as detectem, mas o tokenizador do LLM ainda as processe conforme pretendido.
Os filtros de conteúdo geralmente operam em texto legível por humanos — verificando strings, padrões ou palavras-chave específicas. Os tokenizadores de LLM, no entanto, processam texto em um nível mais baixo e podem mapear caracteres visualmente diferentes para os mesmos tokens ou tokens similares. Essa lacuna permite que os atacantes criem texto que é lido de uma maneira por um filtro e processado de forma diferente pelo tokenizador.
As defesas incluem: normalizar o texto de entrada antes da filtragem (normalização Unicode, substituição de homóglifos), usar filtros de conteúdo baseados em LLM que operam em representações de nível de token em vez de texto bruto, testar filtros contra variantes de codificação conhecidas e realizar avaliações de segurança que incluam cenários de ataque baseados em codificação.
Token smuggling e ataques de codificação contornam filtros superficiais. Testamos essas técnicas em cada avaliação de segurança de chatbot.

Um token, no contexto de grandes modelos de linguagem (LLMs), é uma sequência de caracteres que o modelo converte em representações numéricas para processamento...

A segurança de LLM abrange as práticas, técnicas e controles usados para proteger implementações de modelos de linguagem grandes contra uma classe única de amea...

A detecção de idioma em grandes modelos de linguagem (LLMs) é o processo pelo qual esses modelos identificam o idioma do texto de entrada, permitindo o processa...