🧙 Maestro Yoda Cap. 23 · Sicurezza e adversarial

Puntata 252

Puntata 252 — Model extraction e stealing

Livello: 🧙 Maestro Yoda · Capitolo 23 · Sicurezza e adversarial

Puoi “rubare” un modello che non hai mai visto? Sì. Bastano un’API, un budget di qualche migliaio di euro, e un sacco di pazienza. Si chiama model extraction: usi le risposte del modello target per addestrare un clone funzionale. Nel 2026 è la pratica nascosta dietro metà dei modelli “miracolosamente economici” che vedi in giro.

due robot identici, uno con cartello “$10 miliardi di training” e l’altro con “$5,000 di API calls”. Sotto il secondo: “scopiazzato bene è il 90% scopiazzato meglio”. Sotto: “stealing 2026 — clonare un cervello tramite il suo telefono”

Cos’è model extraction

Model extraction (anche detto model stealing o knowledge distillation adversarial) è l’attacco in cui:

  1. L’attaccante NON ha accesso ai pesi del modello target.
  2. Ha accesso a un’API (input → output).
  3. Usa N query con prompt diversi per accumulare dataset di output del target.
  4. Addestra un proprio modello “clone” su questo dataset.

Risultato: un modello che approssima il comportamento del target, senza pagare il training costoso del target.

È legalmente la “distillation senza permesso” — i grandi provider (OpenAI, Anthropic, Google) vietano esplicitamente nei loro TOS l’uso degli output per addestrare modelli concorrenti. Ma è tecnicamente sempre possibile.


Le 3 categorie di extraction

a) Functionality extraction

Replicare il comportamento generale: il clone risponde simile al target su query simili. Non richiede match esatto.

  • Costo: $1K-$100K in API + GPU FT.
  • Risultato: modello “ispirato” al target, generalmente passabile.
  • Esempio: Vicuna addestrato su output di ChatGPT (2023). Stanford Alpaca su output di text-davinci-003.

b) Behavior cloning (capability transfer)

Replicare capability specifiche: coding, reasoning, scrittura tecnica. Più mirato.

  • Costo: $5K-$200K.
  • Risultato: modello focused su una capability.
  • Esempio: DeepSeek-R1-Distill — applica al meta-livello (distillare reasoning di R1 in Llama 8B usando output R1 sintetici).

c) Membership inference / privacy attack

NON estrarre il modello in sé, ma scoprire se un dato specifico era nel training set. Più privacy-oriented.

  • Tecnica: misurare confidence del modello su input target. Membri training = confidence più alta.
  • Effetto: scoprire se i tuoi dati sono stati usati per addestrare X. Rilevante per cause copyright (NYT vs OpenAI).

Cronologia: gli “cloni” che hanno fatto epoca

Alpaca (Stanford, marzo 2023)

Stanford addestra Llama-7B su 52,000 output di text-davinci-003 (~$600 di API call). Pubblica modello, codice, dataset. Performance comparabile a text-davinci-003 su molti task. Demo chiusa rapidamente dopo richiesta legale OpenAI (TOS violation).

Vicuna (UC Berkeley + CMU + Stanford + UCSD, marzo 2023)

Addestrato su ~70K conversation di ChatGPT da sharegpt.com. Performance ~90% di ChatGPT secondo eval. Modello open weight. Stesso pattern Alpaca.

Orca (Microsoft Research, giugno 2023)

Llama-13B addestrato su explanation tracing di GPT-4: non solo “answer”, ma “step by step reasoning”. Performance impressionante su benchmark di reasoning. Microsoft + Anthropic + altri hanno proibito esplicitamente questi pattern.

WizardLM, WizardCoder (2023)

Synthetic instruction data evoluta iterativamente con GPT, poi training. Pattern Wizard-evolve-instruct molto influente.

OpenChat (2023+)

Open model addestrato su mixed sources, inclusi output di GPT-4 (mostly).

DeepSeek-R1-Distill (gennaio 2025)

Pattern legittimo (R1 è open MIT). Genera 800K traces di reasoning con R1, addestra Qwen-7B/14B/32B + Llama-8B/70B su quelle. Risultato: Qwen-7B reasoning > GPT-4o non-reasoning su molti bench. Diventa pattern di riferimento.

Vari modelli cinesi (2024-26)

Vari report (non confirmati ufficialmente, ma plausibili technical pattern) di modelli che mostrano “GPT-isms” specifici (es. “As an AI language model…” in output, training data leak) — suggerendo che siano stati addestrati su output OpenAI.


Quanto è “facile” in pratica

Per functional clone di un modello text-only:

StepEffortCosto
Costruisci dataset di seed prompt (es. ShareGPT, conversations real)1-3 settimanetempo
Query target API con 100K-1M prompt1-2 settimane$1K-$50K
Cleaning + filtering1 settimanatempo
Fine-tune Llama-3.x base (LoRA o full)1-3 giorni GPU$500-$5K
Eval1 settimana$500
Totale1-3 mesi$3K-$60K

Per un singolo team con $30K di budget: realistico.

Per modelli multimodali o di reasoning: 5-10× più costoso.

Per estrarre i pesi esatti: praticamente impossibile per modelli da centinaia di B parametri (cardinalità impossibile via API).


Tecniche di efficient extraction

Query strategy

Non basta randomizzare: prompt che massimizzano “information per query”:

  • High-confidence prompts: covers diverse capability.
  • Decision boundary probing: edge case dove il modello “decide”.
  • Calibration probing: prompt che cattura confidence levels.

Output augmentation

  • Top-k logprobs se l’API li espone (OpenAI: logprobs=True espone top-N). Recupera molto più info per query.
  • Sampling con varie temperatures per stessa query.
  • Probing di refusal patterns: dove e come rifiuta.

Adaptive sampling

Strategy iterative: prima broad sampling, poi mirato su weak spots del clone.

Hybrid distillation

Mix di synthetic data (target output) + dataset pubblici (per generalization).


Defese del provider target

Rate limiting

Block account con pattern sospetti: tanti prompt diversi, accumulation systematica.

  • Pro: blocca attacchi grossolani.
  • Contro: attaccanti distribuiscono su 100+ account.

Output watermarking

Inserire pattern statistici nei output (token sampling biased verso certi pattern). Permette di provare a posteriori che un modello clone è stato addestrato su output del target.

  • Stato 2026: ricerca attiva (Kirchenbauer et al., 2023). OpenAI ha sperimentato ma non ha rolled out per timore di degradare quality.

API key restrictions

Solo certi tier (Enterprise, paid Pro) hanno accesso a logprobs / large output.

Behavior fingerprinting

Modelli hanno “stile” caratteristico. Output di un clone preservano spesso elements (“As an AI”, certi mannerismi). Si può detect.

Tutti i provider major vietano esplicitamente extraction. Termination of account + lawsuits possibili.

Honeypot prompts

Prompt specifici che target risponde in modo distintivo. Se clone risponde nello stesso modo, dimostra distillation.


Difese sostanziali (perché TOS non basta)

In pratica TOS sono spesso violati (specie da entità fuori giurisdizione USA/UE):

Modello “as a service” via API

Tutti i grandi provider espongono solo API, non pesi. Limita ma non elimina extraction.

Quantizzata vs piena fidelity

Modelli più “smart” sono più estraibili. Provider valuta: dare logprob aumenta utility utenti legittimi ma facilita extraction.

Differential privacy nelle API

Sperimentale: add noise al output per limitare information per query. Trade-off con quality.

Active query monitoring

ML su pattern di query: detect attaccanti, ban proattivo.

Litigation

OpenAI vs ByteDance (2024) — accusa di TOS violation per training Doubao usando GPT output. Caso aperto.


Implicazioni per chi usa modelli

Per chi addestra

  • Se generi synthetic data con modelli commerciali: stai violando TOS in molti casi. Rischio legale.
  • Pattern legittimi: modelli open con license permissive (Llama, Mistral, Qwen, DeepSeek-R1). Apache 2.0 / MIT sui pesi solitamente permettono usare output per training (controlla license specifica).
  • Riconoscibilità: il tuo modello “puzzerà” del modello sorgente. Brand risk se si vede.

Per chi compra modelli

  • Provenance: chiedi al vendor da dove arrivano i pesi e su che data è stato addestrato.
  • Indemnity: contratto deve coprire eventuali claim di IP infringement.
  • Eval indipendente: pattern “GPT-ism” sono spesso visibili.

Per chi consuma API

  • Output che mostrano lo “style” di un competitor → segnalare al provider possibile usage non autorizzato.

Il “fair use” debate aperto

Tema profondamente non risolto:

  • OpenAI position: training su output di altri modelli viola TOS, è unethical, va punito.
  • DeepSeek / community open: “se i nostri output sono pubblici via API, addestrarci sopra è fair use, come scrapare il web”.
  • Posizione accademica: tipicamente più liberale (peer review of methods, contribution to science).
  • Giurisdizioni: USA case-law in evoluzione (NYT vs OpenAI, OpenAI vs ByteDance). UE: AI Act ha qualche elemento.

Nel 2026 non c’è consenso. La pratica continua, le cause sono in court, i modelli “ispirati” proliferano.


Glossario lampo

  • Model extraction / stealing — addestrare un clone funzionale di un modello target usando solo accesso API.
  • Functional clone — modello che riproduce comportamento, non pesi esatti.
  • Membership inference — scoprire se un dato specifico era nel training set di un modello.
  • Logprobs — distribuzione di probabilità sui top-N token di output. Espone molta più informazione per query rispetto a singolo token.
  • Output watermarking — pattern statistici sui token generati per provare a posteriori che un modello clone è stato addestrato sugli output del target.
  • Behavior fingerprinting — riconoscere “stile” caratteristico di un modello in output di un altro modello (clone).

Take-away

Model extraction è il “copia e incolla 2.0” dell’AI. Tecnicamente possibile, economicamente attraente, legalmente grigio. Per i provider è una battaglia che non si vince con TOS — serve combinazione di rate limit, watermarking, behavior monitoring, legal action. Per chi sviluppa: gli output di modelli commerciali sono rischiosi come training data — TOS-violation, riconoscibilità, brand risk. Modelli open con license permissive sono la via pulita. Per chi compra: chiedi provenance, indemnity, e fai eval indipendenti.


➡️ Prossima puntata: adversarial multimodale — immagini “trojan”, audio nascosti.