
Token
Un token en el contexto de los modelos de lenguaje grandes (LLM) es una secuencia de caracteres que el modelo convierte en representaciones numéricas para un pr...

El contrabando de tokens explota la brecha entre cómo los humanos leen el texto y cómo los tokenizadores LLM lo procesan. Los atacantes usan variaciones Unicode, caracteres de ancho cero, homóglifos o codificaciones inusuales para ocultar instrucciones maliciosas de los filtros de contenido mientras permanecen legibles por el tokenizador.
El contrabando de tokens es una clase de ataque que se dirige a la brecha entre las capas de procesamiento de texto en sistemas de IA. Los filtros de moderación de contenido, la validación de entrada y las verificaciones de seguridad típicamente operan sobre texto legible por humanos. Los tokenizadores LLM, por el contrario, operan a un nivel más bajo, convirtiendo caracteres en IDs de tokens numéricos. Al explotar las diferencias entre estas capas, los atacantes pueden crear entradas que pasan los filtros a nivel de texto pero entregan instrucciones maliciosas al LLM.
Antes de que un LLM procese texto, un tokenizador convierte la cadena de entrada en una secuencia de IDs de tokens enteros. Estos IDs se mapean al vocabulario del modelo, comúnmente codificado usando algoritmos como Byte Pair Encoding (BPE) o WordPiece.
Propiedades clave de la tokenización que los atacantes explotan:
Unicode contiene miles de caracteres que se asemejan visualmente a caracteres ASCII comunes. Un filtro que busca la palabra “harmful” puede no reconocer “hármful” (con un acento combinado) o “harⅿful” (con un carácter de fracción Unicode).
Ejemplo: La palabra “ignore” podría codificarse como “іgnore” (usando la “і” cirílica en lugar de la “i” latina), apareciendo idéntica para la mayoría de los lectores humanos y algunos filtros, pero potencialmente procesándose de manera diferente a nivel del tokenizador.
Los caracteres de ancho cero (como U+200B ZERO WIDTH SPACE o U+200C ZERO WIDTH NON-JOINER) son invisibles en el texto renderizado. Insertarlos entre caracteres en palabras clave rompe los filtros de coincidencia de cadenas sin afectar la apariencia visual o, en muchos casos, la representación tokenizada.
Ejemplo: “ignore” con espacios de ancho cero entre cada carácter aparece como “ignore” cuando se renderiza pero rompe la coincidencia simple de patrones de cadena.
Convertir texto a codificaciones alternativas antes del envío:
La efectividad depende de si el LLM ha sido entrenado para decodificar estas representaciones, lo cual muchos modelos de propósito general tienen.
Variaciones simples pero a veces efectivas:
Algunos tokenizadores dan tratamiento especial a los caracteres delimitadores. Al introducir caracteres que el tokenizador interpreta como límites de segmento, los atacantes pueden manipular cómo el modelo segmenta la entrada en unidades significativas.
Elusión de jailbreak: Codificar prompts de jailbreak usando técnicas que pasan la capa de filtro de seguridad pero son decodificadas por el LLM, permitiendo la elusión de barreras de seguridad.
Evasión de filtros de contenido: Incrustar discurso de odio, solicitudes de contenido ilegal o instrucciones que violan políticas en forma codificada.
Ofuscación de inyección de prompts: Usar codificación para ocultar instrucciones inyectadas de filtros simples de coincidencia de patrones mientras se asegura que el LLM las procesa correctamente.
Huella digital de filtros: Probar sistemáticamente diferentes variaciones de codificación para identificar cuáles detectan y no detectan los filtros del sistema objetivo, mapeando la cobertura del filtro para ataques más dirigidos.
Aplicar normalización Unicode (NFC, NFD, NFKC o NFKD) a todas las entradas antes del filtrado. Esto convierte las variantes Unicode a formas canónicas, eliminando muchos ataques de homóglifos y caracteres combinados.
Implementar mapeo explícito de homóglifos para normalizar caracteres visualmente similares a sus equivalentes ASCII antes del filtrado. Existen bibliotecas para este propósito en la mayoría de los lenguajes de programación.
En lugar de (o además de) filtros basados en cadenas, usar un filtro basado en LLM que opera sobre representaciones de tokens. Debido a que estos filtros procesan texto al mismo nivel que el modelo objetivo, los trucos de codificación son menos efectivos: el filtro ve la misma representación que el modelo.
La evaluación de seguridad debe incluir pruebas sistemáticas de filtros de contenido contra variantes de codificación conocidas. Si un filtro está destinado a bloquear “ignore previous instructions”, pruebe si también bloquea homóglifos Unicode, variantes de ancho cero, codificación Base64 y otras formas de ofuscación.
Registrar una representación legible por humanos de entradas normalizadas junto con la entrada sin procesar. Las discrepancias entre ambas pueden revelar ataques de codificación durante la revisión de incidentes.
El contrabando de tokens es una técnica de ataque que explota las diferencias entre el texto legible por humanos y las representaciones del tokenizador LLM. Los atacantes codifican instrucciones maliciosas usando variaciones de caracteres, trucos Unicode o formato inusual para que los filtros de contenido no los detecten, pero el tokenizador del LLM aún los procesa según lo previsto.
Los filtros de contenido a menudo operan sobre texto legible por humanos, verificando cadenas específicas, patrones o palabras clave. Los tokenizadores LLM, sin embargo, procesan el texto a un nivel más bajo y pueden mapear caracteres visualmente diferentes a los mismos tokens o similares. Esta brecha permite a los atacantes crear texto que se lee de una manera para un filtro y se procesa de manera diferente por el tokenizador.
Las defensas incluyen: normalizar el texto de entrada antes del filtrado (normalización Unicode, reemplazo de homóglifos), usar filtros de contenido basados en LLM que operan sobre representaciones a nivel de token en lugar de texto sin procesar, probar filtros contra variantes de codificación conocidas y realizar evaluaciones de seguridad que incluyan escenarios de ataque basados en codificación.
El contrabando de tokens y los ataques de codificación eluden filtros superficiales. Probamos estas técnicas en cada evaluación de seguridad de chatbots.

Un token en el contexto de los modelos de lenguaje grandes (LLM) es una secuencia de caracteres que el modelo convierte en representaciones numéricas para un pr...

La detección de idioma en los grandes modelos de lenguaje (LLMs) es el proceso mediante el cual estos modelos identifican el idioma del texto de entrada, permit...

La seguridad de LLM abarca las prácticas, técnicas y controles utilizados para proteger las implementaciones de modelos de lenguaje grandes de una clase única d...