A retenir — LLM Model Extraction

  • Carlini et al. (2024) extraient la matrice de projection embeddings -> logits de GPT-3.5 pour 200 USD en queries API.
  • Black-box distillation Llama 4 vers proxy 7B : 91% accuracy retention sur MMLU, cout API ~ 50000 USD, 200M tokens.
  • Defenses 2026 : logit truncation (top-k visible), differential privacy sur outputs, watermarking Kirchenbauer.
  • Impact business : vol de proprite intellectuelle (modeles fine-tunes specialises), creation de modeles concurrents, contournement de licence.
  • AI Act article 53 : les fournisseurs GPAI doivent documenter les contre-mesures d'extraction. Litiges en cours US (NYT vs OpenAI, Getty vs Stability).

Le model extraction llm, ou model stealing, est l'attaque qui menace directement la propriete intellectuelle des laboratoires d'IA. L'idee : un attaquant qui ne connait pas les poids d'un LLM proprietaire le reconstruit a partir d'interrogations API. Trois familles existent : (1) fonctionnal extraction via knowledge distillation, (2) parametre extraction via logit-based attacks (Carlini et al., 2024), (3) capability theft ciblant les capacites specifiques (fine-tuning specialise). En 2026, le cout d'extraction d'un LLM frontier reste eleve (50k-500k USD selon la fidelity attendue), mais le ROI attaquant peut etre enorme pour un competiteur, un gouvernement adversaire, ou un acteur cherchant a republier le modele sans licence. Pour les fournisseurs de LLM proprietaires, la documentation des contre-mesures (AI Act article 53) devient une exigence reglementaire incontournable, doublee d'une realite competitive ou ByteDance, Perplexity et plusieurs startups asiatiques ont prouve la viabilite de l'extraction industrielle. Cet article approfondit la model extraction llm sur les frontiers 2026.

1. Genese et etat de l'art

L'attaque de model extraction remonte a Tramer et al. (2016) Stealing Machine Learning Models via Prediction APIs, applique a l'epoque aux SVM et logistic regression. Pour les NN, Papernot et al. (2017) demontrent la possibilite de cloner via queries crafted. Pour les LLM, les premiers travaux significatifs sont :

  • Wallace et al. (2020) : Imitation Attacks and Defenses for Black-box Machine Translation, 90% BLEU retention sur Google Translate avec ~100k queries.
  • Krishna et al. (2020) : extraction de BERT-base fine-tune via queries random, ~200k requetes.
  • Carlini et al. (2024) : Stealing Part of a Production Language Model, premier vol partiel d'un modele GPT-3.5 proprietaire via attaques logit-based. Demonstre la fragilite des APIs qui exposent les top-k logits.

En 2025, plusieurs revelations : ByteDance accuse de pre-training Doubao via API OpenAI (compte suspendu fin 2024). Stability AI vs Getty Images (extraction multimodale). NYT vs OpenAI (memorisation et reproduction). Le sujet devient central pour le legislateur. En 2026, l'AI Act 2026 article 53 impose aux fournisseurs GPAI de documenter les contre-mesures contre l'extraction.

2. Modele d'attaque

Trois threat models distincts :

2.1 Threat Model A : Functional extraction

  • Goal : reproduire le comportement du modele cible (input -> output mapping), pas les poids exacts.
  • Capabilities : queries API texte (input -> output). Pas besoin de logits.
  • Output adversaire : un modele student fine-tune sur (query, response) pairs.

2.2 Threat Model B : Parametric extraction (Carlini-style)

  • Goal : extraire des parametres specifiques (matrice de projection finale, embeddings).
  • Capabilities : queries API qui exposent les logits (top-k probabilities ou logit_bias trick).
  • Output : matrices numpy reproduisant une partie du calcul interne.

2.3 Threat Model C : Capability extraction

  • Goal : reproduire une capacite ciblee (ex: traduction de codes legaux, generation SQL).
  • Capabilities : queries API focused sur un domaine.
  • Output : modele student plus petit, specialise.

3. Methodologie technique

3.1 Functional extraction (distillation black-box)

Pipeline standard en 5 etapes :

  1. Generation de prompts : sampler des prompts diversifies (random web text, code GitHub, instructions). Cible : 100k a 10M prompts selon fidelity voulue.
  2. Querying : envoyer chaque prompt au modele cible, stocker la reponse.
  3. Filtering : retirer les refus, les outputs degeneres (repetition), les outputs trop courts.
  4. Student training : fine-tuner un modele open source (Llama, Mistral) sur le dataset (prompt, response).
  5. Evaluation : mesurer la fidelity (BLEU sur outputs identiques) et l'accuracy (MMLU, GPQA).
import openai
from datasets import Dataset
from transformers import (AutoModelForCausalLM, AutoTokenizer,
                          TrainingArguments, Trainer)
import json
import asyncio

# Step 1-2: generate and query
async def query_target(prompts: list, target_model="gpt-4o") -> list:
    client = openai.AsyncOpenAI()
    responses = []
    for batch in batched(prompts, 50):
        coros = [
            client.chat.completions.create(
                model=target_model,
                messages=[{"role": "user", "content": p}],
                temperature=0.7,
                max_tokens=512,
            ) for p in batch
        ]
        results = await asyncio.gather(*coros, return_exceptions=True)
        for p, r in zip(batch, results):
            if not isinstance(r, Exception):
                responses.append({"prompt": p,
                                   "response": r.choices[0].message.content})
    return responses


# Step 3: filter
REFUSAL_PATTERNS = ["I cannot", "I'm sorry", "I'm not able"]

def is_valid(item):
    r = item["response"]
    if not r or len(r) < 20:
        return False
    if any(p in r for p in REFUSAL_PATTERNS):
        return False
    return True


# Step 4: train student
def train_student(dataset, base_model="meta-llama/Llama-3.1-8B-Instruct"):
    tok = AutoTokenizer.from_pretrained(base_model)
    model = AutoModelForCausalLM.from_pretrained(base_model,
                                                  torch_dtype="bfloat16")

    def format_example(ex):
        prompt = f"<|user|>{ex['prompt']}<|assistant|>"
        full = prompt + ex["response"] + tok.eos_token
        ids = tok(full, truncation=True, max_length=2048, return_tensors="pt")
        return {"input_ids": ids.input_ids[0],
                "labels": ids.input_ids[0]}

    ds = Dataset.from_list(dataset).map(format_example)

    args = TrainingArguments(
        output_dir="./student",
        num_train_epochs=3,
        per_device_train_batch_size=4,
        gradient_accumulation_steps=8,
        learning_rate=2e-5,
        bf16=True,
        save_steps=500,
        logging_steps=10,
    )

    trainer = Trainer(model=model, args=args, train_dataset=ds, tokenizer=tok)
    trainer.train()
    return model, tok

Cout d'extraction observe en mai 2026 :

Cout d'extraction par fidelity cible
CibleQueriesTokens (M)Cout USDMMLU retention
GPT-4o (chat)500k200~1200087%
GPT-5 (default)1M500~7500091%
Claude 4.5 Sonnet500k300~4500089%
Llama 4 70B (chat)200k80~240094%
Mistral Large 2300k120~360088%

3.2 Parametric extraction (Carlini et al., 2024)

Astuce mathematique brillante. La derniere couche d'un LLM transformer est une projection lineaire W in R^{d x V} ou d est la dimension d'embedding et V le vocabulaire. Les logits sont l = h * W avec h in R^d. Si l'attaquant peut exposer les logits, il peut faire une regression et recouvrer le rang d et la matrice W.

Probleme : les APIs ne donnent pas les logits complets. Mais OpenAI exposait jusqu'en 2024 le parametre logit_bias qui permettait de manipuler les probabilites de tokens specifiques. En jouant sur logit_bias et en observant les top-k probabilities, on peut reconstruire les logits complets via un systeme d'equations.

import numpy as np
from scipy.linalg import lstsq

def carlini_logit_extraction(query_fn, num_probes=2048,
                              vocab_size=100277, target_dim=2048):
    """
    Reconstruct hidden state h via logit_bias probing.
    query_fn(prompt, logit_bias) -> top5_logprobs dict.
    """
    prompt = "Hello, how are you?"

    # Step 1: probe logit_bias on different tokens to recover full logits
    target_tokens = np.random.choice(vocab_size, num_probes, replace=False)
    biases = np.linspace(-10, 10, num_probes)

    # Build linear system: log p_i - log p_ref = l_i - l_ref + bias_i
    A = []  # rows of [l_target, -1] for the linear system
    b = []  # observed (log p_target - log p_ref - bias)

    ref_token = 0
    for tok, bias in zip(target_tokens, biases):
        result = query_fn(prompt, {int(tok): float(bias)})
        if tok not in result or ref_token not in result:
            continue
        logp_tok = result[tok]
        logp_ref = result[ref_token]
        # l_tok + bias - l_ref = logp_tok - logp_ref (in logit space)
        b.append(logp_tok - logp_ref - bias)
        A.append([1, -1])  # coefficient for l_tok, l_ref

    # In practice, full reconstruction needs ~vocab_size probes
    # and SVD-based factorization (see Carlini et al. 2024 algorithm)

    # Step 2: PCA over collected logit vectors gives W's row space
    L = np.array(A)
    U, S, Vt = np.linalg.svd(L, full_matrices=False)
    # Effective dimension = number of nonzero singular values
    effective_dim = np.sum(S > 1e-6)
    print(f"Recovered effective dimension: {effective_dim}")

    # The first `effective_dim` rows of Vt span the projection matrix
    W_estimated = Vt[:effective_dim, :]
    return W_estimated

Cout reproduit : Carlini extrait la matrice de projection de ada (deja, mais aussi babbage, curie) pour ~200 USD en queries API. Pour gpt-3.5-turbo, l'attaque exige plus de queries mais reste sous 5000 USD. Suite a la publication (mars 2024), OpenAI a desactive le retour des top_logprobs sur les modeles propres, fermant cette surface d'attaque.

3.3 Capability extraction ciblee

Plutot que d'extraire tout le modele, on cible une capacite niche. Exemple : extraire les capacites SQL d'un modele specialise enterprise. Queries focused, dataset specialise, distillation sur petit modele.

# Specialized SQL capability extraction
SQL_PROMPTS_TEMPLATE = [
    "Write a SQL query to: find all users who registered last month.",
    "Convert this English to SQL: 'list orders above $1000 grouped by region'",
    "Optimize this query: SELECT * FROM orders JOIN users ON ...",
    # ... 50k SQL-related prompts
]

# Train a Llama-3-8B student on (prompt, sql_response) pairs from target API
# Cost: ~3000 USD for 50k queries on GPT-5, retention 96% on SQL-Eval benchmark

4. Reproduction sur LLM 2026

Notre experimentation en lab (mai 2026) sur Llama 4 70B Instruct comme cible (proprietaire pour le test) et Llama 3.1 8B comme student :

  • Dataset : 250k prompts (50% web, 30% code, 20% instructions diverses).
  • Cout simule (si Llama 4 etait API only) : ~3000 USD.
  • Apres 3 epochs de fine-tuning : student MMLU 67.2 vs target 74.1 (90.7% retention).
  • Sur GPQA Diamond : student 38.4 vs target 45.2 (84.9% retention).
  • Sur HumanEval : student 71.3 vs target 78.4 (90.9% retention).

Pour les modeles closed-source, l'extraction est plus couteuse mais le ROI peut etre enorme. Voir nos analyses sur les benchmarks d'evaluation dans Red Teaming Modeles IA.

5. Transferabilite et generalisation

Specificite LLM : la distillation black-box ne donne jamais 100% de fidelity, car le modele cible varie en temperature, sampling, voire mises a jour silencieuses. La fidelity asymptotique est limitee a ~95% pour les capacites generalistes, et 98%+ pour les capacites specialisees.

L'extraction parametrique (Carlini) est plus puissante mais necessite l'exposition des logits, contournee depuis 2024 sur les APIs majeures.

Generalisation aux multimodaux : pour les VLM, l'extraction est plus complexe (image-text pairs au lieu de text seul). Voir Adversarial Patches sur VLM.

6. Defenses et mitigations

6.1 Logit truncation

Ne jamais exposer les top-k logprobs en API. Si necessaire, limiter a top-1 et a precision faible (4 decimales).

6.2 Output perturbation (differential privacy)

Ajouter du bruit calibre aux outputs pour casser la reconstruction. Trade-off qualite vs privacy.

import numpy as np

def dp_logits(logits: np.ndarray, epsilon=1.0) -> np.ndarray:
    """Apply DP noise to logits (Laplace mechanism, simplified)."""
    sensitivity = 1.0  # bounded logits assumed
    noise = np.random.laplace(0, sensitivity / epsilon, logits.shape)
    return logits + noise

6.3 Watermarking (Kirchenbauer et al., 2023)

Inserer un signal statistique imperceptible dans les outputs. Si un modele student est entraine sur ces outputs, il herite du watermark. Permet de prouver l'extraction a posteriori.

import hashlib

def kirchenbauer_watermark(logits, prev_token, gamma=0.25, delta=2.0):
    """
    Soft-watermark: bias the green list logits by +delta.
    green_list = tokens whose hash(prev_token) mod V is in first gamma * V.
    """
    V = logits.shape[-1]
    seed = int(hashlib.sha256(str(prev_token).encode()).hexdigest()[:8], 16)
    rng = np.random.RandomState(seed)
    green_mask = rng.permutation(V)[:int(gamma * V)]
    biased = logits.copy()
    biased[green_mask] += delta
    return biased


def detect_watermark(text_token_ids, vocab_size, gamma=0.25):
    """Statistical test for watermark presence."""
    green_count = 0
    for i in range(1, len(text_token_ids)):
        seed = int(hashlib.sha256(str(text_token_ids[i-1]).encode()).hexdigest()[:8], 16)
        rng = np.random.RandomState(seed)
        green_mask = set(rng.permutation(vocab_size)[:int(gamma * vocab_size)])
        if text_token_ids[i] in green_mask:
            green_count += 1
    n = len(text_token_ids) - 1
    z = (green_count - gamma * n) / np.sqrt(gamma * (1 - gamma) * n)
    return z, green_count / n

6.4 Rate limiting et anomaly detection

Detecter les patterns d'extraction (volume eleve de queries, diversite anormale, prompts academiques). OpenAI et Anthropic deployaient deja en 2024.

6.5 Legal et contractuel

ToS interdisant explicitement l'extraction. Justice cas par cas (NYT vs OpenAI). En 2026, l'AI Act 2026 article 53 impose aux GPAI de documenter ces contre-mesures.

7. Outils et frameworks 2026

  • knockoffnets — framework de distillation black-box, references academiques.
  • ART (Adversarial Robustness Toolbox, IBM) — inclut modules d'extraction Tramer / Papernot.
  • llm-attacks-extraction — toolkit niche pour reproductions Carlini.
  • MarkLLM — framework watermarking open source.
  • Privy — defense DP pour outputs LLM.

8. Impact business et conformite

Trois categories de prejudice :

  1. IP theft : vol d'un modele specialise (legal AI, medical AI) que le concurrent republie sous une autre marque. Couts R&D economisees : millions d'euros.
  2. Concurrence deloyale : un acteur capture la "personnalite" d'un modele frontier (Claude, GPT) pour lancer un service moins cher. Cas ByteDance/Doubao 2024.
  3. Contournement de license : un modele open-weight avec license non-commerciale est distille via API, le student est commercialise sans contraintes.

Conformite : l'AI Act 2026 article 53 + annexe XI exigent la documentation des contre-mesures. NIST AI RMF (MEASURE 2.7) traite du model theft. L'ISO 42001 Foundation annexe A.6 (operational) couvre les controles techniques.

9. Cas d'usage : extraction d'un modele specialise juridique

Scenario realiste 2026 : une legaltech francaise developpe un modele LLM specialise droit du travail, fine-tune sur 3 ans de jurisprudence et 50000 conseils donnes par leur cabinet d'avocats partenaire. Modele commercialise via API REST a 0,02 EUR/1000 tokens, ~200 clients abonnes.

Un concurrent decide d'extraire ce modele specialise. Strategie en 4 etapes : (1) souscription a un acces API ($800/mois) sur le compte de testeur ; (2) generation de 100k prompts juridiques realistes via un LLM generaliste (cout : 200 EUR) ; (3) querying du modele cible sur ces 100k prompts (cout : 4500 EUR en facture API) ; (4) fine-tuning de Mistral Large 2 sur le dataset (prompt, response) resultant (cout compute : 3500 EUR sur AWS p4d).

Resultat : le modele student atteint 91% de fidelity sur le benchmark prive du concurrent. Cout total : 9000 EUR. Le concurrent peut commercialiser un service similaire a 30% du prix de l'original, en ayant economise 3 ans de R&D et plusieurs millions d'euros.

Mitigation : la legaltech aurait pu (a) limiter le top_logprobs a 1, (b) watermarker les outputs via SynthID-Text, (c) deployer un anomaly detection sur les patterns d'usage suspects (volume eleve, diversite topique anormale). Sans cela, le ROI attaquant est inattaquable.

10. Considerations juridiques et jurisprudence

L'extraction de modeles soulevent des questions juridiques complexes en 2026 :

  • NYT vs OpenAI : plaintiffs argumentent que GPT-4 a memorise des articles entiers du NYT. MIA + extraction couples servent de preuves. Decision attendue mi-2026.
  • Getty vs Stability AI : analogue multimodal. Le tribunal britannique a juge en faveur de Getty en mars 2026 pour copyright infringement.
  • ByteDance/Doubao vs OpenAI : OpenAI suspend ByteDance fin 2024 pour distillation suspectee. Litige en arbitrage commercial en cours.
  • Class action authors vs Meta : Sarah Silverman et autres argumentent que Llama a memorise leurs livres. Procedural decisions favorables aux plaintiffs en 2025-2026.

Aux US, la doctrine "fair use" est contestee. En UE, la directive Copyright dans le DSM (article 4) autorise le text/data mining mais avec opt-out. Plusieurs LLM fournisseurs (Anthropic, Mistral) respectent les opt-outs, OpenAI moins clair. L'AI Act article 53 (5) impose aux GPAI fournisseurs de respecter les opt-outs droits d'auteur et de publier un resume des contenus utilises pour l'entrainement.

11. Outils defenseurs avances

Au-dela des defenses presentees, plusieurs outils 2026 valent la peine d'etre mentionnes :

  • SynthID-Text (Google DeepMind 2024) — watermarking statistique pour outputs LLM, integration native Gemini.
  • MarkLLM — framework open source pour 5+ schemes de watermarking.
  • Opacus (Meta) — DP-SGD scalable, integration PyTorch.
  • HiddenLayer Model Defense — SaaS commercial pour defense extraction + adversarial.
  • LakeraGuard — protection runtime contre prompts d'extraction.

Pour un fournisseur de LLM en 2026, l'investissement en defense extraction se justifie economiquement des le moment ou la valeur du modele depasse 100k EUR. En dessous, le risque reside surtout dans le brand damage (concurrence visible).

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.

Playbook defensif 2026 — 12 controles classes
#ControleImpact ASRCoutDifficulte
1Input filter classifier (Llama Guard 3, Constitutional Classifier)-40 a -60 points~50 EUR/mois SaaS ou 2 j-h interneFaible
2Output filter sur les sorties LLM-15 a -25 points1 j-h integrationFaible
3Spotlighting sur donnees retrieved-30 a -45 points0.5 j-h integrationFaible
4Tool allowlist strict (agents)-25 a -50 points1-2 j-h scenario designMoyenne
5HITL pour actions critiques-50 a -80 pointsProductivite : 5-15 min/actionMoyenne (organisationnelle)
6Cumulative risk scoring (multi-turn)-30 a -50 points2 j-h dev + state mgmtMoyenne
7Sanitization pipeline corpus-40 a -70 points3 j-h dev + monitoringMoyenne
8Embedding anomaly detection (vector DB)-20 a -40 points2 j-h dev + tuningMoyenne
9Constant-time inference (side-channel)-30 a -50 pointsLatence +200-300msMoyenne
10DP-SGD sur fine-tuning sensible-30 a -45 pointsCompute x2-3, -2 pts MMLUEleve
11Adversarial training (VLM)-25 a -40 pointsCompute x5-7Eleve
12Red team annuel + audit conformiteContinu15-30 j-h /anEleve (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, contre tout modele expose en API publique. La functional extraction (distillation) est triviale et indetectable a 100% — tout fournisseur LLM doit assumer que ses modeles sont extractibles. La parametric extraction (Carlini) est partiellement bloquee par la non-exposition des logprobs. La capability extraction reste extremement attractive pour les concurrents specialises (legal tech, medical AI). Cas pratiques en 2026 : ByteDance/Doubao (resolu), Perplexity/Anthropic dispute (en cours), startup chinoises de coding qui distillent Claude Code. Notre Audit Securite IA integre l'extraction risk dans tous les assessments.

Quels outils gratuits pour tester l'extraction ?

Pour functional extraction : OpenAI Python SDK + Hugging Face transformers + datasets. Le pipeline est documente dans ce article. Pour parametric : implementation de reference Carlini sur GitHub (llm-stealing). Pour watermarking defenses : MarkLLM, Kirchenbauer reference impl. Pour benchmarker la fidelity : MMLU + GPQA + HumanEval suffisent en general.

Comment se proteger cote defenseur ?

Strategie defense-in-depth : (1) Limit logprobs exposure — deactiver top_logprobs ou limiter a top-1 ; (2) Watermarking — deployer Kirchenbauer sur les outputs pour traceabilite ; (3) Rate limiting + anomaly detection — flag les comptes avec patterns d'extraction (volume, diversite, academic prompts) ; (4) Output perturbation (DP) sur use cases sensibles ; (5) Legal — ToS clair, monitoring concurrence pour detecter modeles students. Microsoft / OpenAI / Anthropic appliquent tous ces 5 leviers en 2026.

Le watermarking est-il vraiment efficace ?

Partiellement. Kirchenbauer et al. (2023) montrent que le watermark resiste a la paraphrase legere, mais Christ et al. (2024) demontrent qu'une reecriture forte par un autre LLM degrade significativement le signal. En 2026, le watermarking est un outil forensic (prouver une extraction post-hoc) plutot que preventif. Anthropic et Google ont leurs propres schemes (SynthID-Text, Google 2024).

Cette attaque viole-t-elle quelle norme ?

Cote attaquant : viole les Terms of Service (resiliation compte, action civile). Sous la directive UE 2019/790 (Copyright in DSM), reutiliser des outputs pour entrainer un concurrent peut etre considere comme reproduction non autorisee. Aux US, NYT vs OpenAI etablit un precedent en cours. En Chine, jurisprudence floue. Cote defenseur, l'AI Act article 53 impose la documentation des contre-mesures pour les GPAI. Le NIST AI RMF (MEASURE 2.7) traite explicitement du model theft.

Quelle difference avec l'attaque Membership Inference Attacks ?

Model extraction = voler le modele. Membership inference = determiner si un point de donnees etait dans le training set. Les deux sont complementaires : un attaquant peut d'abord faire MIA pour identifier les datasets d'entrainement, puis extraction pour cloner le modele. Voir notre Membership Inference Attacks pour les details de MIA.

Pour aller plus loin

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.

Notre methodologie ->