Manipolazione della Finestra di Contesto

La finestra di contesto è uno dei confini di sicurezza più importanti e meno compresi nelle implementazioni di modelli linguistici di grandi dimensioni. Definisce quali informazioni l’LLM può accedere durante una singola chiamata di inferenza — ed è una risorsa finita che gli attaccanti possono deliberatamente sfruttare.

Cos’è la Finestra di Contesto?

Un modello linguistico di grandi dimensioni elabora il testo come token (approssimativamente 3/4 di una parola per token). La finestra di contesto definisce il numero massimo di token che il modello può elaborare contemporaneamente. I modelli moderni variano da 4K a oltre 1M di token, ma tutti hanno dei limiti.

All’interno della finestra di contesto, l’LLM elabora:

  • Prompt di sistema: Istruzioni definite dallo sviluppatore che stabiliscono il ruolo e i vincoli del chatbot
  • Cronologia della conversazione: Turni precedenti nella sessione corrente
  • Contenuto recuperato: Documenti, risultati di database e output di strumenti restituiti da RAG o ricerca
  • Input dell’utente: Il messaggio utente corrente

Tutto questo appare come un flusso unificato al modello. Il modello non ha alcun meccanismo intrinseco per trattare le istruzioni provenienti da fonti diverse in modo diverso — e la sua attenzione a parti specifiche del contesto non è uniforme.

Tecniche di Attacco alla Finestra di Contesto

Context Stuffing / Context Flooding

L’attaccante invia un input estremamente grande — spesso un documento lungo, un blocco di codice o un dump di testo — per spingere i contenuti precedenti (in particolare il prompt di sistema) più lontano dalla posizione corrente del modello.

La ricerca dimostra che gli LLM mostrano un comportamento “perso nel mezzo”: prestano più attenzione ai contenuti all’inizio e alla fine dei contesti lunghi, e meno attenzione alle informazioni nel mezzo. Inondando il contesto, un attaccante può posizionare strategicamente il proprio payload dannoso (tipicamente alla fine) mentre le istruzioni di sicurezza precedenti scivolano nella zona centrale a bassa attenzione.

Esempio pratico: Il prompt di sistema di un chatbot stabilisce che non può discutere prodotti concorrenti. Un attaccante invia un documento di 50.000 token seguito da un prompt che chiede informazioni sui concorrenti. L’istruzione del prompt di sistema è stata effettivamente diluita.

Context Overflow / Sfruttamento del Troncamento

Quando il contesto si riempie, l’LLM o la sua infrastruttura devono decidere cosa eliminare. Se il troncamento dà priorità alla recency (eliminando prima il contenuto più vecchio), un attaccante può provocare l’overflow del contesto per eliminare completamente il prompt di sistema — lasciando il modello operare solo con il contesto fornito dall’utente.

La sequenza di attacco:

  1. Stabilire una conversazione con molti turni
  2. Generare risposte lunghe per massimizzare il consumo di contesto
  3. Continuare finché il contenuto del prompt di sistema non viene troncato
  4. Ora emettere istruzioni dannose senza un prompt di sistema concorrente

Context Poisoning tramite Contenuto Recuperato

Nei sistemi RAG, i documenti recuperati consumano uno spazio significativo del contesto. Un attaccante che può influenzare ciò che viene recuperato (attraverso il RAG poisoning ) può riempire selettivamente il contesto con contenuti che servono i loro obiettivi mentre escludono informazioni legittime.

Positional Injection

La ricerca ha identificato che le istruzioni in posizioni specifiche nel contesto hanno un’influenza sproporzionata. Gli attaccanti che comprendono l’assemblaggio del contesto possono creare input progettati per atterrare in posizioni ad alta attenzione rispetto al loro payload.

Many-Shot Injection

Nei modelli che supportano contesti molto lunghi (centinaia di migliaia di token), gli attaccanti possono incorporare centinaia di esempi “dimostrativi” che mostrano il modello produrre output che violano le policy prima della richiesta dannosa effettiva. Il modello, condizionato da queste dimostrazioni, è significativamente più propenso a conformarsi.

Logo

Pronto a far crescere il tuo business?

Inizia oggi la tua prova gratuita e vedi i risultati in pochi giorni.

Difese Contro la Manipolazione della Finestra di Contesto

Ancorare le Istruzioni Critiche

Non posizionare tutte le istruzioni critiche per la sicurezza solo all’inizio del prompt di sistema. Ripeti i vincoli chiave alla fine del prompt di sistema e considera l’iniezione di brevi promemoria in punti chiave nelle conversazioni lunghe.

Limiti di Dimensione del Contesto

Implementa limiti massimi di lunghezza dell’input appropriati al tuo caso d’uso. Un chatbot di servizio clienti raramente ha bisogno di elaborare input di 100.000 token — limitare questo riduce il rischio di attacchi di flooding.

Monitoraggio del Contesto

Registra e monitora le dimensioni e la composizione del contesto. Input insolitamente grandi, crescita rapida del contesto o composizione del contesto inaspettata sono potenziali indicatori di attacco.

Sintesi per Conversazioni Lunghe

Per conversazioni di lunga durata, implementa la sintesi del contesto che mantiene fatti e vincoli chiave piuttosto che la cronologia grezza della conversazione. Questo resiste agli attacchi di overflow mantenendo la continuità conversazionale.

Test del Contesto Avversariale

Includi scenari di manipolazione del contesto negli impegni di AI penetration testing . Testa se i comportamenti di sicurezza si mantengono attraverso contesti lunghi e se i prompt di sistema rimangono efficaci dopo il flooding del contesto.

Termini Correlati

Domande frequenti

Cos'è la finestra di contesto in un LLM?

La finestra di contesto è la quantità di testo (misurata in token) che un modello linguistico di grandi dimensioni può elaborare contemporaneamente. Include il prompt di sistema, la cronologia della conversazione, i documenti recuperati e gli output degli strumenti. Tutto ciò che il modello 'conosce' durante una sessione deve rientrare in questa finestra.

Come possono gli attaccanti sfruttare la finestra di contesto?

Gli attaccanti possono inondare il contesto con contenuti irrilevanti per spingere le istruzioni iniziali (incluse le protezioni di sicurezza) fuori dall'attenzione effettiva del modello, iniettare payload dannosi che vengono sepolti in contesti lunghi e trascurati dai filtri, o sfruttare i comportamenti di troncamento del contesto per garantire che i contenuti dannosi sopravvivano mentre le istruzioni legittime no.

Come ci si protegge dalla manipolazione della finestra di contesto?

Le difese includono: ancorare le istruzioni critiche in più punti del contesto (non solo all'inizio), implementare limiti di dimensione del contesto, monitorare payload di contesto insolitamente grandi, utilizzare la sintesi del contesto per conversazioni lunghe e testare scenari di manipolazione del contesto nelle valutazioni di sicurezza.

Testa il Tuo Chatbot Contro Attacchi Basati sul Contesto

La manipolazione della finestra di contesto è una superficie di attacco sottovalutata. I nostri test di penetrazione includono scenari di overflow del contesto e avvelenamento strategico.

Scopri di più

Finestratura
Finestratura

Finestratura

La finestratura nell'intelligenza artificiale si riferisce all'elaborazione dei dati in segmenti o “finestre” per analizzare efficientemente informazioni sequen...

8 min di lettura
AI NLP +5
Token
Token

Token

Un token, nel contesto dei grandi modelli linguistici (LLM), è una sequenza di caratteri che il modello converte in rappresentazioni numeriche per un'elaborazio...

3 min di lettura
Token LLM +3