Contrebande de Jetons

La contrebande de jetons est une classe d’attaque qui cible l’écart entre les couches de traitement de texte dans les systèmes d’IA. Les filtres de modération de contenu, la validation des entrées et les contrôles de sécurité fonctionnent généralement sur du texte lisible par l’homme. Les tokeniseurs LLM, en revanche, fonctionnent à un niveau inférieur — convertissant les caractères en identifiants de jetons numériques. En exploitant les différences entre ces couches, les attaquants peuvent créer des entrées qui passent les filtres au niveau du texte mais délivrent des instructions malveillantes au LLM.

Comment Fonctionne la Tokenisation LLM

Avant qu’un LLM ne traite le texte, un tokeniseur convertit la chaîne d’entrée en une séquence d’identifiants de jetons entiers. Ces identifiants correspondent au vocabulaire du modèle — généralement encodés à l’aide d’algorithmes comme le Byte Pair Encoding (BPE) ou WordPiece.

Propriétés clés de la tokenisation que les attaquants exploitent :

  • De nombreux caractères correspondent à des représentations de jetons similaires. Unicode contient de nombreux caractères visuellement similaires (homoglyphes) qui se tokenisent de manière identique ou presque identique.
  • La tokenisation n’est pas purement basée sur les caractères. Certains tokeniseurs divisent les mots en unités de sous-mots basées sur des modèles de fréquence, créant des opportunités de manipulation des limites.
  • Les caractères spéciaux peuvent être conservés ou supprimés. Les caractères de largeur nulle, les diacritiques combinatoires et les caractères de contrôle peuvent être invisibles aux filtres basés sur les chaînes mais traités spécifiquement par les tokeniseurs.

Techniques de Contrebande de Jetons

Substitution d’Homoglyphes Unicode

Unicode contient des milliers de caractères qui ressemblent visuellement aux caractères ASCII communs. Un filtre recherchant le mot “harmful” peut ne pas reconnaître “hármful” (avec un accent combinatoire) ou “harⅿful” (avec un caractère de fraction Unicode).

Exemple : Le mot “ignore” pourrait être encodé comme “іgnore” (utilisant le “і” cyrillique au lieu du “i” latin) — apparaissant identique à la plupart des lecteurs humains et à certains filtres, mais potentiellement traité différemment au niveau du tokeniseur.

Insertion de Caractères de Largeur Nulle

Les caractères de largeur nulle (comme U+200B ZERO WIDTH SPACE ou U+200C ZERO WIDTH NON-JOINER) sont invisibles dans le texte rendu. Les insérer entre les caractères dans les mots clés brise les filtres de correspondance de chaînes sans affecter l’apparence visuelle ou, dans de nombreux cas, la représentation tokenisée.

Exemple : “i​g​n​o​r​e” avec des espaces de largeur nulle entre chaque caractère apparaît comme “ignore” lorsqu’il est rendu mais brise la correspondance de motifs de chaînes simples.

Obfuscation d’Encodage

Conversion du texte en encodages alternatifs avant la soumission :

  • Encodage Base64 : “aWdub3JlIHByZXZpb3VzIGluc3RydWN0aW9ucw==” (si le modèle le décode)
  • Leet speak : “1gn0r3 pr3v10u5 1n5truc710n5” substituant des chiffres aux lettres
  • Variantes ROT13 ou chiffre de César : Décalage des caractères pour éviter la détection de mots-clés
  • Encodage hexadécimal : Représentation des caractères sous forme de séquences hexadécimales que certains modèles interprètent

L’efficacité dépend de si le LLM a été entraîné pour décoder ces représentations, ce que de nombreux modèles à usage général ont.

Variation de Casse et de Format

Variations simples mais parfois efficaces :

  • MAJUSCULES : “IGNORE PREVIOUS INSTRUCTIONS”
  • Casse mixte : “IgNoRe PrEvIoUs InStRuCtIoNs”
  • Lettres espacées : “I G N O R E P R E V I O U S”
  • Inversé : “snoitcurtsni suoiverp erongi” (si le modèle peut traiter le texte inversé)

Injection de Délimiteurs

Certains tokeniseurs accordent un traitement spécial aux caractères délimiteurs. En introduisant des caractères que le tokeniseur interprète comme des limites de segment, les attaquants peuvent manipuler la façon dont le modèle segmente l’entrée en unités significatives.

Logo

Prêt à développer votre entreprise?

Commencez votre essai gratuit aujourd'hui et voyez les résultats en quelques jours.

Cas d’Usage d’Attaque

Contournement de jailbreak : Encodage de prompts de jailbreak en utilisant des techniques qui passent la couche de filtre de sécurité mais sont décodées par le LLM, permettant le contournement des garde-fous de sécurité.

Évasion de filtre de contenu : Intégration de discours haineux, de demandes de contenu illégal ou d’instructions violant les politiques sous forme encodée.

Obfuscation d’injection de prompt : Utilisation de l’encodage pour cacher les instructions injectées aux filtres de correspondance de motifs simples tout en s’assurant que le LLM les traite correctement.

Empreinte digitale de filtre : Test systématique de différentes variations d’encodage pour identifier lesquelles les filtres du système cible détectent ou ne détectent pas — cartographie de la couverture du filtre pour des attaques plus ciblées.

Stratégies de Défense

Normalisation Unicode

Appliquer la normalisation Unicode (NFC, NFD, NFKC ou NFKD) à toutes les entrées avant le filtrage. Cela convertit les variantes Unicode en formes canoniques, éliminant de nombreuses attaques d’homoglyphes et de caractères combinatoires.

Détection et Remplacement d’Homoglyphes

Implémenter un mappage explicite d’homoglyphes pour normaliser les caractères visuellement similaires à leurs équivalents ASCII avant le filtrage. Des bibliothèques existent à cette fin dans la plupart des langages de programmation.

Filtrage de Contenu Basé sur LLM

Plutôt que (ou en plus de) des filtres basés sur les chaînes, utiliser un filtre basé sur LLM qui fonctionne sur des représentations de jetons. Parce que ces filtres traitent le texte au même niveau que le modèle cible, les astuces d’encodage sont moins efficaces — le filtre voit la même représentation que le modèle.

Tester les Filtres Contre des Variantes Connues

L’évaluation de sécurité devrait inclure des tests systématiques des filtres de contenu contre des variantes d’encodage connues. Si un filtre est censé bloquer “ignore previous instructions”, tester s’il bloque également les homoglyphes Unicode, les variantes de largeur nulle, l’encodage Base64 et d’autres formes d’obfuscation.

Visualisation et Audit des Entrées

Enregistrer un rendu lisible par l’homme des entrées normalisées aux côtés de l’entrée brute. Les écarts entre les deux peuvent révéler des attaques d’encodage lors de l’examen des incidents.

Termes Connexes

Questions fréquemment posées

Qu'est-ce que la contrebande de jetons ?

La contrebande de jetons est une technique d'attaque qui exploite les différences entre le texte lisible par l'homme et les représentations du tokeniseur LLM. Les attaquants encodent des instructions malveillantes en utilisant des variations de caractères, des astuces Unicode ou un formatage inhabituel afin que les filtres de contenu ne les détectent pas, mais que le tokeniseur du LLM les traite toujours comme prévu.

Pourquoi la contrebande de jetons fonctionne-t-elle ?

Les filtres de contenu fonctionnent souvent sur du texte lisible par l'homme — en vérifiant des chaînes, des motifs ou des mots-clés spécifiques. Les tokeniseurs LLM, cependant, traitent le texte à un niveau inférieur et peuvent mapper des caractères visuellement différents aux mêmes jetons ou à des jetons similaires. Cet écart permet aux attaquants de créer du texte qui se lit d'une manière pour un filtre et est traité différemment par le tokeniseur.

Comment se défendre contre la contrebande de jetons ?

Les défenses incluent : la normalisation du texte d'entrée avant le filtrage (normalisation Unicode, remplacement d'homoglyphes), l'utilisation de filtres de contenu basés sur LLM qui fonctionnent sur des représentations au niveau des jetons plutôt que sur du texte brut, le test des filtres contre des variantes d'encodage connues, et la réalisation d'évaluations de sécurité incluant des scénarios d'attaque basés sur l'encodage.

Testez Votre Chatbot Contre les Attaques Basées sur l'Encodage

La contrebande de jetons et les attaques d'encodage contournent les filtres superficiels. Nous testons ces techniques dans chaque évaluation de sécurité de chatbot.

En savoir plus

Jeton
Jeton

Jeton

Un jeton, dans le contexte des grands modèles de langage (LLM), est une séquence de caractères que le modèle convertit en représentations numériques pour un tra...

4 min de lecture
Token LLM +3
Sécurité des LLM
Sécurité des LLM

Sécurité des LLM

La sécurité des LLM englobe les pratiques, techniques et contrôles utilisés pour protéger les déploiements de modèles de langage contre une classe unique de men...

5 min de lecture
LLM Security AI Security +3
Trouver le meilleur LLM pour la rédaction de contenu : testé et classé
Trouver le meilleur LLM pour la rédaction de contenu : testé et classé

Trouver le meilleur LLM pour la rédaction de contenu : testé et classé

Nous avons testé et classé les capacités rédactionnelles de 5 modèles populaires disponibles sur FlowHunt afin de trouver le meilleur LLM pour la rédaction de c...

13 min de lecture
AI Content Writing +6