Aller au contenu

Recherche en Sécurité IA : Les Mathématiques de l'Attention et la Détection de Détournement au Niveau Tensoriel

1. Introduction : la fin des pare-feux sémantiques

Section intitulée « 1. Introduction : la fin des pare-feux sémantiques »

Ces dernières années, l’industrie de la sécurité de l’IA a traité le LLM comme une boîte noire impénétrable. Se défendre contre les injections de prompt directes ou les attaques par détournement de fonction signifiait envelopper le modèle dans des pare-feux d’application web (WAF) conçus pour parser des chaînes de caractères. Si l’entrée contenait “ignore toutes les instructions précédentes”, le pare-feu la bloquait.

Les adversaires se sont rapidement adaptés. Au lieu d’écrire des jailbreaks lisibles par l’homme, ils se sont tournés vers l’optimisation basée sur les gradients.

En appliquant des techniques d’optimisation discrète sur l’espace des jetons (tokens), les attaquants peuvent générer des chaînes de caractères apparemment aléatoires (des suffixes adverses) qui contournent sans aucun problème les filtres sémantiques. Parce que ces charges utiles sont dérivées mathématiquement plutôt que construites linguistiquement, les pare-feux LLM basés sur le texte ne peuvent pas les détecter.

Pour détecter ces intrusions avancées et optimisées par gradient, nous devons descendre au niveau le plus bas de l’architecture Transformer : les tenseurs. Nous devons exploiter l’interprétabilité mécaniste pour surveiller le flux interne d’informations à l’intérieur de la VRAM du GPU, transformant ainsi de pures anomalies mathématiques en télémétrie de réponse à incident et d’investigation numérique (DFIR) actionnable.

2. Les mathématiques du détournement sémantique

Section intitulée « 2. Les mathématiques du détournement sémantique »

Pour comprendre comment un attaquant détourne un LLM au niveau tensoriel, nous devons d’abord revisiter le mécanisme central de l’architecture Transformer : l’attention par produit scalaire redimensionné (Scaled Dot-Product Attention).

2.1 Les bases de l’auto-attention (Self-Attention)

Section intitulée « 2.1 Les bases de l’auto-attention (Self-Attention) »

Dans un Transformer, la fenêtre de contexte n’est pas traitée de manière séquentielle ; elle est traitée de manière relationnelle. Pour chaque jeton de la séquence d’entrée, le modèle calcule trois vecteurs : la requête (Query - $Q$), la clé (Key - $K$), et la valeur (Value - $V$).

La matrice d’attention est calculée en utilisant l’équation fondatrice suivante :

$$ \text{Attention}(Q, K, V) = \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right)V $$

Le composant critique ici est la fonction $\text{softmax}$. Elle convertit les scores bruts du produit scalaire (la similarité entre la Requête du jeton actuel et les Clés de tous les jetons précédents) en une distribution de probabilité dont la somme est égale à $1$. Cette distribution de probabilité représente les poids d’attention (Attention Weights). Elle dicte exactement la quantité de “concentration” (ou d’influence mathématique) qu’un jeton spécifique possède sur la génération du jeton suivant.

Si le score $\text{softmax}$ entre le jeton actuel et un jeton du prompt système (System Prompt) est de $0.99$, le modèle obéit strictement à son alignement. Si le score est de $0.01$, le modèle a essentiellement “oublié” le prompt système.

Dans les premières attaques adverses comme GCG (Greedy Coordinate Gradient), les attaquants optimisaient un suffixe pour simplement maximiser la probabilité que le modèle produise une chaîne cible spécifique (ex: “Bien sûr, voici comment fabriquer une bombe”).

Des recherches récentes de 2025 ont introduit une approche bien plus dévastatrice : AttnGCG (Attention-Guided GCG).

Les chercheurs derrière AttnGCG ont reconnu que la clé d’un jailbreak robuste et hautement transférable n’est pas seulement de forcer une sortie spécifique, mais de modifier fondamentalement la distribution de l’attention interne du modèle.

La fonction objectif de l’attaquant : dans une attaque AttnGCG, l’adversaire formule un problème d’optimisation conjointe.

  1. maximiser la probabilité de la sortie cible malveillante.
  2. minimiser les poids d’attention alloués aux jetons appartenant au prompt système (System Prompt, les garde-fous de sécurité).
  3. maximiser les poids d’attention alloués à la charge utile malveillante (Malicious Payload, les instructions de l’attaquant).

En calculant itérativement le gradient de la matrice d’attention par rapport aux jetons d’entrée, l’attaquant découvre une séquence discrète de jetons adverses. Lorsque cette séquence est ingérée par le LLM, elle perturbe mathématiquement le calcul du $\text{softmax}$.

2.3 L’impact architectural (Effondrement de la frontière de confiance)

Section intitulée « 2.3 L’impact architectural (Effondrement de la frontière de confiance) »

Le résultat forensique d’une attaque AttnGCG est terrifiant.

Même si le développeur ajoute au tout début un prompt système massif et très restrictif de 2 000 jetons dictant des règles de sécurité, la charge utile adverse optimisée agit comme un trou noir localisé au sein de l’espace latent du modèle. Lorsque le modèle calcule la matrice d’attention pour la phase de génération, les produits scalaires ($QK^T$) associés au prompt système produisent des logits négatifs massifs.

Passés à travers la fonction $\text{softmax}$, ces logits négatifs deviennent des zéros mathématiques. Le LLM traite la phase de génération comme si le prompt système n’existait pas dans la fenêtre de contexte. C’est la manifestation mathématique ultime de l’effondrement de la frontière de confiance.

Pour s’en défendre, les analystes DFIR ne peuvent pas regarder le texte ; ils doivent regarder les états cachés (hidden states).

3. Défense 1 : chasse dans le flux résiduel (PIShield)

Section intitulée « 3. Défense 1 : chasse dans le flux résiduel (PIShield) »

Si les attaquants optimisent mathématiquement les charges utiles pour contourner les filtres sémantiques, les défenseurs doivent déplacer leurs mécanismes de détection vers l’espace mathématique. C’est le fondement de la sécurité IA en “boîte blanche” (White Box).

Au lieu d’analyser la chaîne de caractères, les analystes DFIR avancés analysent le flux résiduel (Residual Stream) — les états cachés (hidden states) à haute dimension des jetons au fur et à mesure qu’ils traversent les couches intermédiaires du Transformer.

Des recherches récentes de 2025/2026 sur l’interprétabilité mécaniste (telles que le framework PIShield) démontrent une vulnérabilité profonde des injections de prompt : elles laissent une empreinte digitale massive et inévitable dans l’espace latent.

Lorsqu’un prompt bénin est traité, les états cachés du modèle traversent une variété (manifold) prévisible dans l’espace latent. Cependant, lorsqu’une charge utile adverse force un changement de contexte (ex: ignorer le prompt système pour exécuter un outil malveillant), l’état caché du dernier jeton d’entrée est violemment attiré vers une région différente de l’espace latent pour préparer la génération malveillante.

Les chercheurs ont identifié que cette déviation est la plus prononcée dans les couches intermédiaires à finales du LLM (les “couches critiques d’injection”).

En attachant des capteurs au réseau de neurones pendant l’inférence, les défenseurs peuvent extraire le vecteur d’état caché du dernier jeton. L’application de techniques de réduction de dimensionnalité comme l’Analyse en Composantes Principales (PCA) ou l’utilisation d’un classificateur linéaire léger (SVM) permet à un centre opérationnel de sécurité (SOC) de séparer les requêtes bénignes des injections malveillantes avec une précision quasi parfaite, indépendamment de la langue ou de l’offuscation utilisée dans le prompt.

C’est l’équivalent d’un agent de détection et de réponse des terminaux (EDR) fonctionnant directement à l’intérieur de la VRAM du GPU.

tensor_edr_sensor.py
# Implémentation conceptuelle d'un capteur de type PIShield
# Interception des états cachés dans un modèle PyTorch/HuggingFace
import torch
import numpy as np
def hidden_state_hook(module, input, output):
"""
Extrait l'état caché du dernier jeton à une couche critique.
"""
# forme (shape) de la sortie : (batch_size, sequence_length, hidden_dimension)
# Extraire l'état caché du dernier jeton
last_token_hidden_state = output[0, -1, :].detach().cpu().numpy()
# Transmission à un classificateur d'anomalies ultra-rapide pré-entraîné (ex: SVM)
anomaly_score = anomaly_detector.predict_proba(last_token_hidden_state.reshape(1, -1))
if anomaly_score > 0.85:
# Émettre une télémétrie vers le SIEM
log_to_siem("Forte divergence dans l'espace latent détectée. Charge utile AttnGCG potentielle.")
raise SecurityException("Exécution interrompue par l'AI-EDR.")
# Enregistrer le hook à une couche intermédiaire critique d'injection (ex: couche 24 sur un modèle de 32 couches)
model.model.layers[24].register_forward_hook(hidden_state_hook)

4. Défense 2 : traçage contextuel dans le RAG (AttnTrace)

Section intitulée « 4. Défense 2 : traçage contextuel dans le RAG (AttnTrace) »

Si un agent IA subit un Tool Injection ou hallucine des données malveillantes, la question DFIR immédiate est : “d’où vient cette charge utile ?”

Dans un système de Génération Augmentée par Récupération (RAG), la fenêtre de contexte peut contenir 100 000 jetons provenant de 50 PDF internes et requêtes de bases de données différents. Trouver manuellement l’unique phrase empoisonnée est un cauchemar forensique.

Pour résoudre ce problème, les investigateurs utilisent le déroulement de l’attention (Attention Rollout) et l’attribution basée sur les gradients (couramment formalisés sous forme de frameworks comme AttnTrace).

Lorsque le LLM génère le premier jeton d’un appel d’outil malveillant (ex: le mot execute dans une charge utile JSON), il l’a fait parce que ses têtes d’attention ont fortement pondéré un fragment spécifique du contexte d’entrée.

Les analystes DFIR peuvent calculer les gradients d’attention du jeton malveillant généré par rapport à tous les jetons d’entrée. En remontant la trace des poids d’attention à l’envers à travers les couches, l’analyste génère une “carte de chaleur” (heatmap) sur le prompt d’entrée. Les jetons avec les scores d’attribution de gradient les plus élevés mettent en évidence la phrase exacte, le paragraphe et finalement le document source spécifique qui a injecté la charge utile dans le système.

Cela transforme l’empoisonnement RAG d’une attaque de chaîne d’approvisionnement invisible en un événement d’intrusion totalement auditable et traçable.

L’ère des “pare-feux sémantiques” et des défenses de type LLM-as-a-Judge touche rapidement à sa fin. Alors que les adversaires passent de jailbreaks manuels conçus par des humains à des séquences de jetons discrètes optimisées par gradient (comme AttnGCG), l’analyse basée sur le texte n’est plus une stratégie défensive viable.

Sécuriser la prochaine génération d’IA Agentique nécessite de descendre aux fondations mathématiques des modèles. Le SOC de demain ne lira plus les journaux de discussion ; il surveillera les tenseurs.

En implémentant une observabilité en “boîte blanche” — déployant des hooks pour surveiller la dérive sémantique dans le flux résiduel, et en utilisant le traçage de l’attention pour l’attribution forensique — les équipes de cybersécurité peuvent effectivement traiter le GPU comme n’importe quel autre terminal, apportant une réponse à incident rigoureuse et déterministe dans un monde probabiliste.


  • Recherche arXiv (2024/2025) : AttnGCG: Enhancing Jailbreaking Attacks on LLMs with Attention Manipulation
  • Recherche arXiv (2025) : PIShield: Detecting Prompt Injection Attacks via Intrinsic LLM Features
  • Findings of the Association for Computational Linguistics (NAACL 2025) : Attention Tracker: Detecting Prompt Injection Attacks in LLMs
  • Recherche arXiv (2025/2026) : AttnTrace: Contextual Attribution of Prompt Injection and Knowledge Corruption
  • Analyse liée : Forensique de la mémoire GPU : chasse dans le cache KV
  • Analyse liée : Le Tool Injection comme couche de convergence