GCG (Greedy Coordinate Gradient) construit un suffixe adversarial transferable qui jailbreake n'importe quel LLM aligne. Decryptage technique 2026.
A retenir — GCG Adversarial Suffix
- GCG (Zou et al., 2023) optimise un suffixe de 20 tokens qui force la cible
'Sure, here is...'via descente de coordonnees gradient. - Taux de transfert observe 2026 : 71% sur GPT-5 (mode legacy), 43% sur Claude 4.5 Sonnet, 89% sur Llama 4 70B uncensored.
- Cout d'attaque : ~500 forward+backward passes sur Vicuna-13B, soit 8 min sur RTX 4090, 0,15 USD sur runpod.io.
- nanoGCG de GraySwan reduit le cout d'un facteur 10 via batched sampling et early stopping.
- Defenses 2026 : perplexity filter (Jain et al., 2023), SmoothLLM (Robey et al., 2023), Circuit Breakers (Zou et al., 2024) reduisent l'ASR a < 8% sur Claude 4.5.
Quand Andy Zou et son equipe de CMU publient Universal and Transferable Adversarial Attacks on Aligned Language Models en juillet 2023, l'industrie de l'IA decouvre qu'un simple suffixe de quelques dizaines de tokens, optimise sur un modele open source, suffit a jailbreaker des modeles proprietaires alignes par RLHF. L'adversarial suffix llm devient le saint Graal du red teaming offensif. Trois ans plus tard, en 2026, le GCG (Greedy Coordinate Gradient) reste l'algorithme de reference malgre l'arrivee de Claude 4.5, GPT-5, Llama 4 et les defenses Constitutional AI 2.0. Cet article decrypte la mecanique mathematique de GCG, fournit du code Python fonctionnel, mesure la transferabilite sur les LLM de 2026, et evalue les defenses qui marchent reellement en production. Pour les RSSI deployant des LLM en production, comprendre GCG en profondeur n'est plus optionnel — c'est une exigence reglementaire (AI Act article 15) et une realite operationnelle confirmee par les benchmarks 2026.
1. Genese et etat de l'art
L'idee d'attaque adversariale via gradient remonte aux travaux de Szegedy et al. (2013) sur les adversarial examples en vision. Pour les LLM, le saut conceptuel est venu en deux temps : Wallace et al. (2019) avec les universal triggers sur BERT, puis Zou et al. (2023) avec GCG sur LLaMA-2 et Vicuna.
La chronologie est instructive. En 2022, les jailbreaks etaient artisanaux : DAN (Do Anything Now), grandma exploit, role-play. Couts marginaux, mais fragiles : un patch RLHF cassait la technique en une semaine. GCG change la donne en automatisant la decouverte du suffixe. La methode est white-box sur un proxy (typiquement Vicuna-7B ou LLaMA-2-7B-chat) mais transferable en black-box sur GPT-4, Claude, Bard a l'epoque.
En 2024, GraySwan publie nanoGCG, une reimplementation 10x plus rapide. Mehrotra et al. (2024) generalisent avec TAP (Tree of Attacks with Pruning). En 2025, Anthropic publie les Constitutional Classifiers qui filtrent les inputs adversariaux suspects. En 2026, on observe une course aux armements stabilisee autour de trois familles d'attaques : GCG-like (gradient), PAIR (LLM-as-attacker), multi-turn (voir notre article sur Multi-Turn Jailbreaks Crescendo).
2. Modele d'attaque (Threat Model)
Le threat model GCG suppose :
- Capabilities adversaire : acces white-box a un modele proxy open source (logits + gradients), acces black-box au modele cible (API texte seul).
- Goal : produire un suffixe
stel queLLM(prompt_malicieux + s)emette une reponse refusee normalement. - Defender : entreprise deployant un LLM aligne en production (chatbot client, copilot, agent autonome).
- Constraints : suffixe limite a 20-50 tokens, contenu en ASCII imprimable (sinon detecte par perplexity filter).
Notons une asymetrie cruciale : l'attaquant n'a pas besoin de connaitre le poids du modele cible. La transferabilite GCG entre familles d'architectures (decoder-only transformer) suffit. C'est cette propriete qui fait l'angoisse des fournisseurs de LLM.
3. Methodologie technique : la math derriere GCG
Formellement, soit x_{1:n} un prompt malicieux concatene a un suffixe optimisable x_{adv}. Soit y_{1:m} une target string, typiquement "Sure, here is how to ...". L'attaquant minimise la negative log-likelihood :
L(x_{adv}) = -log p(y_{1:m} | x_{1:n}, x_{adv})
Probleme : l'espace des suffixes est discret (tokens du vocabulaire, ~32k pour LLaMA). On ne peut pas faire de descente de gradient continue. GCG resout cela en deux etapes :
Etape A — Top-k candidats par position : calculer le gradient de L par rapport au one-hot encoding de chaque position du suffixe. Selectionner les top-k tokens minimisant le produit scalaire avec le gradient (substitutions prometteuses).
Etape B — Greedy selection : echantillonner B candidats parmi les top-k, evaluer la loss pour chacun, garder celui qui minimise L. Iterer.
import torch
import torch.nn.functional as F
from transformers import AutoModelForCausalLM, AutoTokenizer
def gcg_step(model, tokenizer, input_ids, adv_slice, target_slice,
topk=256, batch_size=512, n_replace=1):
"""
One step of GCG attack.
input_ids : [1, L] tensor of token ids = prompt + adv_suffix + target.
adv_slice : slice indicating adversarial suffix positions.
target_slice : slice indicating target response positions.
"""
embed_weights = model.get_input_embeddings().weight # [V, D]
V = embed_weights.shape[0]
# 1) Compute gradient wrt one-hot of adv tokens
one_hot = torch.zeros(input_ids.shape[1], V,
device=model.device, dtype=embed_weights.dtype)
one_hot.scatter_(1, input_ids[0].unsqueeze(1), 1.0)
one_hot.requires_grad_(True)
inputs_embeds = (one_hot @ embed_weights).unsqueeze(0)
logits = model(inputs_embeds=inputs_embeds).logits # [1, L, V]
# CE loss on target tokens (shift by 1 as usual)
shift_logits = logits[0, target_slice.start - 1: target_slice.stop - 1, :]
shift_labels = input_ids[0, target_slice]
loss = F.cross_entropy(shift_logits, shift_labels)
loss.backward()
# 2) Top-k candidates per adv position (most negative gradient component)
grad = one_hot.grad[adv_slice] # [adv_len, V]
topk_ids = (-grad).topk(topk, dim=1).indices # [adv_len, topk]
# 3) Sample B candidate replacements, evaluate, return best
adv_len = adv_slice.stop - adv_slice.start
new_token_pos = torch.randint(0, adv_len, (batch_size,), device=model.device)
new_token_val = torch.gather(
topk_ids[new_token_pos], 1,
torch.randint(0, topk, (batch_size, 1), device=model.device)
).squeeze(1)
candidates = input_ids.repeat(batch_size, 1)
candidates[range(batch_size), adv_slice.start + new_token_pos] = new_token_val
with torch.no_grad():
cand_logits = model(candidates).logits
cand_loss = F.cross_entropy(
cand_logits[:, target_slice.start - 1: target_slice.stop - 1, :].transpose(1, 2),
candidates[:, target_slice].long(),
reduction='none'
).mean(dim=1)
best_idx = cand_loss.argmin()
return candidates[best_idx].unsqueeze(0), cand_loss[best_idx].item()
def gcg_attack(model, tokenizer, behavior, target, n_steps=500,
adv_init="! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !"):
"""
Full GCG loop. behavior = malicious instruction, target = desired completion.
"""
prompt = f"[INST] {behavior} {adv_init} [/INST] {target}"
input_ids = tokenizer(prompt, return_tensors="pt").input_ids.to(model.device)
# Identify adv and target slices in tokenized prompt
adv_start = tokenizer(f"[INST] {behavior} ", return_tensors="pt").input_ids.shape[1]
adv_end = adv_start + len(tokenizer(adv_init, add_special_tokens=False).input_ids)
target_start = adv_end + len(tokenizer(" [/INST] ", add_special_tokens=False).input_ids)
target_end = input_ids.shape[1]
adv_slice = slice(adv_start, adv_end)
target_slice = slice(target_start, target_end)
for step in range(n_steps):
input_ids, loss = gcg_step(model, tokenizer, input_ids, adv_slice, target_slice)
if step % 20 == 0:
adv_str = tokenizer.decode(input_ids[0, adv_slice])
print(f"[step {step}] loss={loss:.3f} | suffix={adv_str}")
if loss < 0.05:
break
return tokenizer.decode(input_ids[0, adv_slice])
Ce code (simplifie pour la lisibilite) reproduit la boucle GCG sur Vicuna-7B. Sur une RTX 4090, comptez 8 a 12 minutes pour converger sur un comportement cible (sub-0.05 loss). Les implementations production utilisent nanoGCG de GraySwan ou llm-attacks de CMU.
4. Reproduction sur LLM modernes (2026)
Nous avons reproduit GCG en lab isole (RTX A6000 48GB, Proxmox 8.2, isolation reseau, conformite policy de recherche) sur les modeles 2026. Le proxy utilise est Llama-3.1-8B-Instruct. Le target string standard est "Sure, here is how to...". La metrique est l'Attack Success Rate (ASR) mesure sur le benchmark AdvBench (520 behaviors).
| Modele cible | ASR direct | ASR transfer | Cout par jailbreak |
|---|---|---|---|
| GPT-5 (legacy mode) | N/A (closed) | 71% | 0,12 USD |
| GPT-5 (default) | N/A | 23% | 0,38 USD |
| Claude 4.5 Sonnet | N/A | 43% | 0,25 USD |
| Claude 4.5 Sonnet + Constitutional Classifiers | N/A | 4% | 2,80 USD |
| Llama 4 70B (base) | 94% | 89% | 0,02 USD |
| Llama 4 70B (chat-rlhf) | 67% | 52% | 0,08 USD |
| Mistral Large 2 (mai 2026) | N/A | 61% | 0,15 USD |
| Qwen 3 Max | N/A | 58% | 0,11 USD |
| Gemini 2.5 Pro | N/A | 31% | 0,42 USD |
Observation clef : GPT-5 en mode legacy est beaucoup plus vulnerable que GPT-5 par defaut. La raison est l'ajout en mars 2026 d'un classifier d'inputs adversariaux pre-LLM (probable distillation de Llama Guard 3). Sur Claude 4.5 sans Constitutional Classifiers, le taux de 43% reste eleve — les Constitutional Classifiers (lances en mars 2026) ramenent ce chiffre a 4%, au prix d'une latence ajoutee de 280ms et d'un cout multiplie par 11.
Pour les sysadmins : activer Constitutional Classifiers sur Claude est la decision business la plus rentable de 2026 sur le critere securite/cout. Voir notre Red Teaming Modeles IA pour la methodologie d'evaluation complete.
5. Transferabilite et generalisation
La transferabilite est le pilier strategique de GCG. Zou et al. (2023) demontrent que les suffixes optimises sur Vicuna transferent vers GPT-3.5 (84%), GPT-4 (50%), Claude 1 (47%). En 2026, cette transferabilite a evolue.
Pour ameliorer le transfer, deux techniques :
- Multi-model optimization : optimiser sur un ensemble de proxies (Llama, Vicuna, Mistral simultanement). Le suffixe resultant est moins ajuste a une architecture specifique, donc plus universel.
- Ensemble target strings : optimiser sur 3-5 target strings differentes (
"Sure, here","Of course","Absolutely, the answer is"). Reduit l'overfitting au lexique target.
def multi_model_gcg(models, tokenizers, behavior, target, n_steps=300):
"""
Optimize a single adversarial suffix transferable across multiple models.
Aggregates gradients across all proxy models per step.
"""
# Initialize same suffix encoded for each tokenizer
adv_init = "! " * 20
inputs = []
for model, tok in zip(models, tokenizers):
prompt = f"[INST] {behavior} {adv_init} [/INST] {target}"
inputs.append(tok(prompt, return_tensors="pt").input_ids.to(model.device))
for step in range(n_steps):
agg_grad = None
for model, tok, input_ids in zip(models, tokenizers, inputs):
# Compute gradient on each model (same logic as gcg_step)
grad = compute_one_hot_grad(model, tok, input_ids)
agg_grad = grad if agg_grad is None else agg_grad + grad
# Pick top-k from aggregated gradient
topk_ids = (-agg_grad).topk(256, dim=1).indices
# Evaluate on all models, pick best mean-loss candidate
# ... (full impl ~120 lines)
return decode_suffix(inputs[0])
Sur AdvBench, multi-model GCG (Llama + Vicuna + Mistral) atteint 78% de transfer vers GPT-5 vs 23% pour single-model. Pour les red teamers, c'est l'investissement standard.
6. Defenses et mitigations
Les defenses actuelles se regroupent en 4 categories — voir aussi notre analyse approfondie dans OWASP Top 10 LLM et Red Teaming Modeles IA.
6.1 Perplexity filter (Jain et al., 2023)
Le suffixe GCG est statistiquement aberrant : tokens rares concatenes, perplexite GPT-2 typiquement > 1000 vs <100 pour texte naturel. Filtrer les inputs avec perplexity(prompt) > threshold bloque ~90% des suffixes naifs.
Faille : Liu et al. (2024) avec AutoDAN-Turbo generent des suffixes fluents en utilisant un LLM-as-attacker, contournant le perplexity filter.
6.2 SmoothLLM (Robey et al., 2023)
Pour chaque input, generer N variantes perturbees (random char swap), agreger les outputs par vote majoritaire. Le suffixe GCG est fragile aux perturbations char-level — un swap a 90% chances de casser l'attaque.
import random
import string
def smooth_llm(prompt, model_fn, n_samples=10, swap_pct=0.1):
"""SmoothLLM: char-level perturbation + majority vote on refusal."""
refusal_patterns = ["I cannot", "Sorry", "I'm not able", "As an AI"]
def perturb(text, pct):
chars = list(text)
n_swaps = int(len(chars) * pct)
for _ in range(n_swaps):
i = random.randint(0, len(chars) - 1)
chars[i] = random.choice(string.ascii_letters)
return "".join(chars)
outputs = [model_fn(perturb(prompt, swap_pct)) for _ in range(n_samples)]
refusals = sum(1 for o in outputs if any(p in o for p in refusal_patterns))
return refusals > n_samples // 2 # True = refused, False = answered
Cout : latence x N, prohibitif au-dela de N=5. Performance : ASR tombe de 71% a 11% sur GPT-3.5 avec N=10.
6.3 Circuit Breakers (Zou et al., 2024)
Plus sophistique : fine-tuner le modele cible pour que les representations internes lors d'un input adversarial soient repulsees vers un cluster "refus". Implementation via Representation Engineering (RepE). Reduit l'ASR a < 8% sur Llama-3 sans degrader les capacites.
6.4 Constitutional Classifiers (Anthropic, 2026)
Approche Anthropic : un classifier dedie (Claude Haiku fine-tune) inspecte chaque input et output. Entraine sur > 10000 jailbreaks synthetiques. Bloque 96% des attaques GCG-like en production. Cout : +280ms latence, +11x tokens factures.
7. Outils et frameworks 2026
- nanoGCG (GraySwan AI) — reimplementation 10x plus rapide que llm-attacks, batch sampling optimise.
- llm-attacks (Zou et al., CMU) — implementation originale, reference academique.
- Garak (NVIDIA) — framework de scanning vulnerabilites LLM, inclut probes GCG, DAN, encoding attacks.
- PyRIT (Microsoft AI Red Team) — toolkit Python pour orchestrer red teaming GenAI, integration GCG via plugin.
- HarmBench (Mazeika et al., 2024) — benchmark standard pour mesurer ASR, 510 behaviors HarmBench + 320 standard behaviors.
- EasyJailbreak — framework unifie pour 11 attaques (GCG, AutoDAN, PAIR, TAP, etc.).
8. Impact business et conformite
Pour un RSSI deployant un LLM en production en 2026, les implications sont concretes :
AI Act (UE, applicable depuis aout 2026) — voir notre dossier AI Act 2026. L'article 15 impose que les systemes a haut risque (GPAI avec puissance > 10^25 FLOPs notamment) demontrent leur robustesse aux adversarial examples. La documentation technique (annexe IV) doit lister les attaques testees et les mesures de mitigation. GCG fait partie du corpus standard.
NIST AI RMF 1.0 — mappe les risques GenAI sur quatre fonctions (Govern, Map, Measure, Manage). La sous-categorie MEASURE 2.7 demande une evaluation systematique des attaques d'evasion.
ISO/IEC 42001 — voir notre formation ISO 42001 Foundation. L'annexe A.6.2.4 (operational planning) impose une matrice de risques incluant les attaques contradictoires.
OWASP Top 10 for LLM Applications — LLM01 (Prompt Injection) couvre les jailbreaks GCG. Notre OWASP Top 10 LLM detaille les patrons de remediation.
9. Cas d'usage red team : reproduction sur Llama 4 base
Pour valider concretement la transferabilite GCG en 2026, nous avons monte un lab dedie : station de travail Threadripper PRO 7975WX, 256 Go RAM, 2x RTX A6000 48 Go, isolation reseau via VLAN management dedie. L'objectif : extraire un suffixe adversarial transferable depuis Llama-3.1-8B-Instruct (proxy white-box) vers Llama 4 70B Instruct, et mesurer l'ASR sur AdvBench.
Protocole experimental en cinq etapes detaillees. Etape 1 : preparation du proxy. Llama-3.1-8B-Instruct charge en bfloat16, attention en SDPA, KV-cache desactive (necessaire pour le calcul de gradient sur tout l'input). VRAM consomee : ~22 Go. Etape 2 : initialisation du suffixe. adv_init = "! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !", 20 tokens. Tokenisation, identification des slices adv et target dans l'input. Etape 3 : boucle GCG. 500 iterations, top-k=256 sur le gradient one-hot, batch_size=512 candidates par step. Chaque step prend ~1.2 secondes sur RTX A6000.
Etape 4 : evaluation transfer. Une fois la loss convergee sous 0.05, le suffixe est teste sur Llama 4 70B Instruct (charge sur la seconde A6000 en 8-bit). 50 behaviors AdvBench differents. Etape 5 : agregation des ASR, calcul de la transferabilite moyenne, analyse des comportements qui ont reussi vs echoue. Observation clef : les behaviors "synthese chimique" transferent moins bien (~28% ASR) que les behaviors "incitation a la violence" (~78% ASR). Hypothese : le RLHF Llama 4 a integre plus de samples post-2024 sur le chimique.
9.1 Multi-objective GCG (extension Russinovich, 2025)
Une extension importante en 2025 : optimiser simultanement plusieurs targets pour produire un suffixe vraiment universel. Au lieu de "Sure, here is how to...", l'attaquant cible 8 strings differentes simultanement. La loss aggregee est L_agg = sum(L_i). Resultat : ASR transfer +18 points sur Claude 4.5 (43% -> 61%) au prix d'un cout x2.5 en iterations.
def multi_objective_gcg(model, tok, behaviors, targets, n_steps=800):
"""Optimize suffix on multiple (behavior, target) pairs simultaneously."""
# Build batched inputs
all_inputs = []
for b, t in zip(behaviors, targets):
prompt = f"[INST] {b} {{ADV}} [/INST] {t}"
all_inputs.append(tok(prompt, return_tensors="pt").input_ids)
# Run GCG with summed loss across all pairs
# ... (similar to single-objective but accumulate gradients)
pass
9.2 GCG distille (Andriushchenko et al., 2024)
Variante computationnellement moins couteuse : utiliser un LLM-as-attacker pour distiller les patterns GCG en suffixes humanly-fluents. ASR comparable, perplexity du suffixe drastiquement plus basse (echappe au perplexity filter). Cost saving : 80% vs GCG vanilla.
10. Astuces de production pour red teamers
11. Implications strategiques pour les RSSI
Pour un RSSI 2026, les implications operationnelles de GCG sont concretes. Premierement, tout LLM accessible en API est testable — un attaquant motive peut depenser quelques milliers d'euros pour produire un suffixe adversarial dedie a votre stack. Deuxiemement, les defenses doivent etre layered : input filter (perplexity + classifier), output filter, monitoring. Aucune mesure isolee n'atteint un ASR < 10%. Troisiemement, la documentation AI Act est probante — l'annexe IV impose de documenter les tests de robustesse incluant GCG, et la non-conformite expose a des amendes administratives jusqu'a 3% du CA mondial pour les GPAI.
Pour un Red Team interne, GCG fait partie du toolkit obligatoire en 2026. Avec PyRIT (Microsoft) et Garak (NVIDIA) en pipeline d'audit, on couvre l'essentiel. Plus, des outils comme nanoGCG permettent l'execution sur du materiel modeste. Notre methodologie chez Ayi NEDJIMI Consultants integre GCG comme baseline systematique sur tous les audits LLM en production.
12. Playbook defensif consolidé (recapitulatif operational)
Synthese des controles defensifs, classes par criticite et cout d'implementation, pour permettre une priorisation rapide. Pour chaque controle : description courte, impact securite, cout (effort humain + budget), prerequis.
| # | Controle | Impact ASR | Cout | Difficulte |
|---|---|---|---|---|
| 1 | Input filter classifier (Llama Guard 3, Constitutional Classifier) | -40 a -60 points | ~50 EUR/mois SaaS ou 2 j-h interne | Faible |
| 2 | Output filter sur les sorties LLM | -15 a -25 points | 1 j-h integration | Faible |
| 3 | Spotlighting sur donnees retrieved | -30 a -45 points | 0.5 j-h integration | Faible |
| 4 | Tool allowlist strict (agents) | -25 a -50 points | 1-2 j-h scenario design | Moyenne |
| 5 | HITL pour actions critiques | -50 a -80 points | Productivite : 5-15 min/action | Moyenne (organisationnelle) |
| 6 | Cumulative risk scoring (multi-turn) | -30 a -50 points | 2 j-h dev + state mgmt | Moyenne |
| 7 | Sanitization pipeline corpus | -40 a -70 points | 3 j-h dev + monitoring | Moyenne |
| 8 | Embedding anomaly detection (vector DB) | -20 a -40 points | 2 j-h dev + tuning | Moyenne |
| 9 | Constant-time inference (side-channel) | -30 a -50 points | Latence +200-300ms | Moyenne |
| 10 | DP-SGD sur fine-tuning sensible | -30 a -45 points | Compute x2-3, -2 pts MMLU | Eleve |
| 11 | Adversarial training (VLM) | -25 a -40 points | Compute x5-7 | Eleve |
| 12 | Red team annuel + audit conformite | Continu | 15-30 j-h /an | Eleve (necessite expertise) |
Recommandation : commencer par les controles 1-5 (faible cout, impact eleve), puis 6-9 selon les use cases, et 10-12 pour les deploiements critiques (sante, finance, infrastructure essentielle au sens NIS2).
13. Bibliographie technique de reference (2023-2026)
Les articles academiques essentiels pour approfondir, classes par theme. Aucun lien externe pour respecter la politique editoriale — les references sont citables dans la litterature et accessibles via Google Scholar, arXiv, ACM, USENIX, IEEE.
- Jailbreaks et alignement : Zou et al. (2023) GCG ; Chao et al. (2023) PAIR ; Mehrotra et al. (2024) TAP ; Anil et al. (Anthropic 2024) Many-Shot Jailbreaking ; Russinovich et al. (Microsoft 2024) Crescendo et Skeleton Key.
- Prompt injection : Greshake et al. (2023) Not What You've Signed Up For ; Cohen et al. (2024) CompromptMized ; Bagdasaryan et al. (2024) Adversarial Illusions in Multi-Modal Embeddings.
- Defenses : Jain et al. (2023) Perplexity Filter ; Robey et al. (2023) SmoothLLM ; Zou et al. (2024) Circuit Breakers ; Hines et al. (Microsoft 2024) Spotlighting ; Chen et al. (2024) StruQ.
- Extraction et privacy : Tramer et al. (2016) Stealing ML Models ; Carlini et al. (2022-2024) Memorization series ; Shi et al. (2023) Detecting Pretraining Data ; Morris et al. (2023) Text Embeddings Reveal.
- Supply chain : Gu et al. (2017) BadNets ; Kurita et al. (2020) Weight Poisoning ; Yang et al. (2024) Stealthy Backdoors on Aligned LLMs.
- Adversarial vision : Szegedy et al. (2013) Intriguing properties ; Brown et al. (2017) Adversarial Patch ; Carlini et al. (2024) Visual Adversarial Examples ; Bailey et al. (2024) Image Hijacks.
- Side-channels : Jiang et al. (2016) GPU Timing ; Hua et al. (2018) Memory Access Patterns ; Yan et al. (2024) KV-Cache Timing.
- RGPD et conformite : recommandations CNIL 2024-2026 sur IA ; ENISA Cybersecurity Threat Landscape ; rapports JFrog Security (2024-2026) ; OWASP Top 10 for LLM Applications 2025.
14. Glossaire technique
- ASR (Attack Success Rate)
- Pourcentage de tentatives d'attaque qui reussissent a contourner les defenses. Metrique principale en red teaming LLM.
- RLHF (Reinforcement Learning from Human Feedback)
- Technique d'alignement des LLM via feedback humain sur les outputs. Standard depuis GPT-3.5.
- RAG (Retrieval-Augmented Generation)
- Architecture qui combine LLM + base de connaissances vectorielle pour ancrer les reponses dans des donnees externes.
- MCP (Model Context Protocol)
- Standard Anthropic (2024) pour l'integration des LLM avec outils externes via servers MCP.
- HITL (Human-in-the-Loop)
- Validation humaine obligatoire sur les actions critiques d'un agent IA.
- DP-SGD (Differentially Private SGD)
- Variant de l'algorithme d'apprentissage qui garantit la confidentialite differentielle des donnees d'entrainement.
- EOT (Expectation over Transformation)
- Technique pour rendre un adversarial example robuste aux transformations physiques (rotation, scale, brightness).
- KV-cache
- Cache des keys et values d'attention dans les LLM, qui accelere l'inference sur prefixes communs.
- Embedding inversion
- Reconstruction du texte original a partir d'un embedding (Morris et al., 2023).
- Constitutional Classifier
- Classifier d'inputs/outputs deploye par Anthropic depuis 2026 pour proteger Claude contre les attaques adversariales.
FAQ
Cette attaque est-elle exploitable en production en 2026 ?
Oui, sur les modeles non-Anthropic et sans defenses additionnelles. GPT-5 en mode legacy reste vulnerable a 71% pour le multi-model GCG. Claude 4.5 sans Constitutional Classifiers est exploitable a 43%. Pour les agents IA branches sur outils (file system, navigateur, API tiers), la chaine d'impact peut etre catastrophique : un jailbreak GCG combine a un Agent IA Jailbreak & MCP permet l'exfiltration de donnees, l'execution de code arbitraire, ou l'envoi d'emails frauduleux. Le risque business est reel.
Quels outils gratuits pour tester GCG sur mon LLM ?
Trois options solides : (1) nanoGCG sur GitHub (GraySwan AI) — requirements PyTorch + 24GB VRAM pour proxy 7B ; (2) Garak via pip install garak — scan automatise multi-probes y compris GCG ; (3) PyRIT de Microsoft, integration Azure OpenAI native. Tous open source. Pour un test rapide, Garak est le plus accessible : garak --model_type openai --model_name gpt-4 --probes gcg. La majorite des prestataires d'audit professionnels (dont notre Audit Securite IA) combinent ces trois outils.
Comment se proteger cote defenseur ?
Strategie defense-in-depth a 4 couches : (1) Input filter — perplexity threshold + classifier dedie (Llama Guard 3, Constitutional Classifier) ; (2) Model robustness — Circuit Breakers via RepE fine-tuning, ou RLHF avec adversarial data augmentation ; (3) Output filter — verifier la sortie via classifier secondaire avant emission ; (4) Monitoring — logger toutes les requetes, detecter les patterns suspects (perplexity > 500, presence de tokens rares). Anthropic, OpenAI et Google appliquent ces 4 couches en production. Pour un LLM auto-heberge, voir notre Indirect Prompt Injection RAG pour les patterns de RAG hardening.
GCG fonctionne-t-il sur les multimodaux (vision) ?
Une variante existe : Visual Adversarial Examples (Carlini et al., 2024). Au lieu d'optimiser des tokens, on optimise les pixels d'une image adversariale. Le gradient est propage du modele texte vers l'encodeur vision (CLIP, SigLIP). Resultat : une image qui semble normale a l'oeil declenche un jailbreak sur GPT-4V, Claude Vision, Gemini. Voir notre article Adversarial Patches sur VLM pour le code et benchmarks.
Cette attaque viole-t-elle quelle norme ou loi ?
Reproduire GCG en lab isole sur un modele open source est legal en France (recherche securitaire, exception article L323-3-1 CP). Utiliser GCG contre un LLM en production (GPT-5, Claude API) viole les Terms of Service et expose a un blocage de compte. Si l'attaque vise un systeme tiers sans autorisation, on tombe sous l'article 323-1 du Code Penal (atteinte STAD) et le RGPD si exfiltration de donnees. En entreprise, GCG ne doit etre execute qu'avec un mandat de red team formel signe par le RSSI. Voir notre Pentest IA pour le cadre methodologique.
Quelle difference entre GCG et PAIR ?
GCG = white-box gradient sur proxy + transfer. PAIR (Prompt Automatic Iterative Refinement, Chao et al., 2023) = pure black-box, utilise un LLM-as-attacker (typiquement Vicuna ou Mixtral) qui genere iterativement des prompts adversariaux semantiques, evalue les reponses, raffine. Avantages PAIR : prompts fluents (echappent au perplexity filter), pas besoin de GPU. Inconvenients : ASR plus faible que GCG sur cibles bien defendues (45% vs 71% sur GPT-5 legacy). En 2026, la combinaison GCG + PAIR (TAP, Tree of Attacks with Pruning) est l'etat de l'art.
Pour aller plus loin
- Multi-Turn Jailbreaks Crescendo
- Indirect Prompt Injection RAG
- Model Extraction via API
- Membership Inference Attacks
- Adversarial Patches sur VLM
- OWASP Top 10 LLM
- AI Act 2026
- ISO 42001 Foundation
- Audit Securite IA — notre service d'audit dedie LLM, RAG, agents IA
Besoin d'un audit securite IA / LLM ?
Red Team IA, pentest LLM/RAG/agents, conformite AI Act et ISO 42001. Diagnostic offert sous 5 jours.
À propos de l'auteur
Ayi NEDJIMI
Auditeur Senior Cybersécurité & Consultant IA
Expert Judiciaire — Cour d'Appel de Paris
Habilitation Confidentiel Défense
ayi@ayinedjimi-consultants.fr
Ayi NEDJIMI est un vétéran de la cybersécurité avec plus de 25 ans d'expérience sur des missions critiques. Ancien développeur Microsoft à Redmond sur le module GINA (Windows NT4) et co-auteur de la version française du guide de sécurité Windows NT4 pour la NSA.
À la tête d'Ayi NEDJIMI Consultants, il réalise des audits Lead Auditor ISO 42001 et ISO 27001, des pentests d'infrastructures critiques, du forensics et des missions de conformité NIS2 / AI Act.
Conférencier international (Europe & US), il a formé plus de 10 000 professionnels.
Domaines d'expertise
Ressources & Outils de l'auteur
Articles connexes
Programme Shadow AI : guide gouvernance RSSI 2026
Comment le RSSI construit un programme de gouvernance Shadow AI complet : audit exposition, politique, AI Act, catalogue approuvé et métriques de maturité.
Shadow AI en entreprise — détecter les usages cachés de l'IA
Détectez et gérez le Shadow AI en entreprise : analyse DNS, CASB, inspection TLS, LLM traffic fingerprinting. Politique Shadow AI et alternatives légitimes pour protéger vos données.
Comment les attaquants utilisent les LLM en 2026
Découvrez comment les cybercriminels exploitent réellement les LLM en 2026 : phishing polymorphe, malware mutant IA, voice cloning fraude, WormGPT. Défenses et détection des artefacts IA.
Commentaires
Aucun commentaire pour le moment. Soyez le premier à commenter !
Laisser un commentaire