Manipulation de la Fenêtre de Contexte

La fenêtre de contexte est l’une des limites de sécurité les plus importantes et les moins comprises dans les déploiements de grands modèles de langage. Elle définit quelles informations le LLM peut accéder lors d’un seul appel d’inférence — et c’est une ressource finie que les attaquants peuvent délibérément exploiter.

Qu’est-ce que la Fenêtre de Contexte ?

Un grand modèle de langage traite le texte sous forme de tokens (environ 3/4 de mot par token). La fenêtre de contexte définit le nombre maximum de tokens que le modèle peut traiter en une seule fois. Les modèles modernes vont de 4K à plus d'1M de tokens, mais tous ont des limites.

Dans la fenêtre de contexte, le LLM traite :

  • Prompt système : Instructions définies par le développeur établissant le rôle et les contraintes du chatbot
  • Historique de conversation : Tours précédents dans la session actuelle
  • Contenu récupéré : Documents, résultats de base de données et sorties d’outils retournés par RAG ou recherche
  • Entrée utilisateur : Le message utilisateur actuel

Tout cela apparaît comme un flux unifié pour le modèle. Le modèle n’a aucun mécanisme inhérent pour traiter différemment les instructions provenant de sources différentes — et son attention à des parties spécifiques du contexte n’est pas uniforme.

Techniques d’Attaque de la Fenêtre de Contexte

Bourrage de Contexte / Inondation de Contexte

L’attaquant soumet une entrée extrêmement volumineuse — souvent un long document, un bloc de code ou un dump de texte — pour pousser le contenu antérieur (particulièrement le prompt système) plus loin de la position actuelle du modèle.

La recherche démontre que les LLM présentent un comportement de “perte au milieu” : ils prêtent plus d’attention au contenu au début et à la fin de longs contextes, et moins d’attention aux informations au milieu. En inondant le contexte, un attaquant peut positionner stratégiquement sa charge utile malveillante (typiquement à la fin) tandis que les instructions de sécurité antérieures dérivent dans la zone de faible attention au milieu.

Exemple pratique : Le prompt système d’un chatbot établit qu’il ne peut pas discuter des produits concurrents. Un attaquant soumet un document de 50 000 tokens suivi d’un prompt demandant des informations sur les concurrents. L’instruction du prompt système a été effectivement diluée.

Débordement de Contexte / Exploitation de la Troncature

Lorsque le contexte se remplit, le LLM ou son infrastructure doit décider quoi supprimer. Si la troncature privilégie la récence (supprimant d’abord le contenu le plus ancien), un attaquant peut faire déborder le contexte pour éliminer entièrement le prompt système — laissant le modèle fonctionner uniquement avec le contexte fourni par l’utilisateur.

La séquence d’attaque :

  1. Établir une conversation avec de nombreux tours
  2. Générer de longues réponses pour maximiser la consommation de contexte
  3. Continuer jusqu’à ce que le contenu du prompt système soit tronqué
  4. Émettre maintenant des instructions malveillantes sans prompt système concurrent

Empoisonnement du Contexte via le Contenu Récupéré

Dans les systèmes RAG, les documents récupérés consomment un espace de contexte significatif. Un attaquant qui peut influencer ce qui est récupéré (par empoisonnement RAG ) peut remplir sélectivement le contexte avec du contenu qui sert ses objectifs tout en évincant les informations légitimes.

Injection Positionnelle

La recherche a identifié que les instructions à des positions spécifiques dans le contexte ont une influence disproportionnée. Les attaquants qui comprennent l’assemblage du contexte peuvent créer des entrées conçues pour atterrir à des positions de haute attention par rapport à leur charge utile.

Injection Multi-Exemples

Dans les modèles qui supportent des contextes très longs (centaines de milliers de tokens), les attaquants peuvent intégrer des centaines d’exemples de “démonstration” montrant le modèle produisant des sorties violant les politiques avant la demande malveillante réelle. Le modèle, conditionné par ces démonstrations, est significativement plus susceptible de se conformer.

Logo

Prêt à développer votre entreprise?

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

Défenses Contre la Manipulation de la Fenêtre de Contexte

Ancrer les Instructions Critiques

Ne placez pas toutes les instructions critiques pour la sécurité uniquement au début du prompt système. Répétez les contraintes clés à la fin du prompt système et envisagez d’injecter de brefs rappels à des points clés dans de longues conversations.

Limites de Taille de Contexte

Implémentez des limites de longueur d’entrée maximales appropriées à votre cas d’usage. Un chatbot de service client a rarement besoin de traiter des entrées de 100 000 tokens — limiter cela réduit le risque d’attaque par inondation.

Surveillance du Contexte

Enregistrez et surveillez les tailles et la composition du contexte. Des entrées inhabituellement volumineuses, une croissance rapide du contexte ou une composition de contexte inattendue sont des indicateurs d’attaque potentiels.

Synthèse pour les Longues Conversations

Pour les conversations de longue durée, implémentez une synthèse de contexte qui conserve les faits et contraintes clés plutôt que l’historique de conversation brut. Cela résiste aux attaques par débordement tout en maintenant la continuité conversationnelle.

Tests de Contexte Adversariaux

Incluez des scénarios de manipulation de contexte dans les engagements de tests de pénétration IA . Testez si les comportements de sécurité se maintiennent à travers de longs contextes et si les prompts système restent efficaces après une inondation de contexte.

Questions fréquemment posées

Qu'est-ce que la fenêtre de contexte dans un LLM ?

La fenêtre de contexte est la quantité de texte (mesurée en tokens) qu'un grand modèle de langage peut traiter en une seule fois. Elle inclut le prompt système, l'historique de conversation, les documents récupérés et les sorties d'outils. Tout ce que le modèle 'connaît' pendant une session doit tenir dans cette fenêtre.

Comment les attaquants peuvent-ils exploiter la fenêtre de contexte ?

Les attaquants peuvent inonder le contexte avec du contenu non pertinent pour pousser les instructions initiales (y compris les garde-fous de sécurité) hors de l'attention effective du modèle, injecter des charges utiles malveillantes enfouies dans de longs contextes et négligées par les filtres, ou exploiter les comportements de troncature de contexte pour s'assurer que le contenu malveillant survive tandis que les instructions légitimes ne le font pas.

Comment se protéger contre la manipulation de la fenêtre de contexte ?

Les défenses incluent : ancrer les instructions critiques à plusieurs points dans le contexte (pas seulement au début), implémenter des limites de taille de contexte, surveiller les charges utiles de contexte inhabituellement grandes, utiliser la synthèse de contexte pour les longues conversations, et tester les scénarios de manipulation de contexte dans les évaluations de sécurité.

Testez Votre Chatbot Contre les Attaques Basées sur le Contexte

La manipulation de la fenêtre de contexte est une surface d'attaque sous-estimée. Nos tests de pénétration incluent des scénarios de débordement de contexte et d'empoisonnement stratégique.

En savoir plus

Fuite de Prompt
Fuite de Prompt

Fuite de Prompt

La fuite de prompt est la divulgation involontaire du prompt système confidentiel d'un chatbot via les sorties du modèle. Elle expose les instructions opération...

5 min de lecture
AI Security Prompt Leaking +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
Contexte LLM
Contexte LLM

Contexte LLM

Boostez votre développement assisté par l’IA en intégrant le Contexte LLM de FlowHunt. Injectez sans effort le code et le contexte documentaire pertinents dans ...

6 min de lecture
AI LLM +4