Kontextfenster-Manipulation

Das Kontextfenster ist eine der wichtigsten und am wenigsten verstandenen Sicherheitsgrenzen in Deployments großer Sprachmodelle. Es definiert, auf welche Informationen das LLM während eines einzelnen Inferenz-Aufrufs zugreifen kann — und es ist eine endliche Ressource, die Angreifer gezielt ausnutzen können.

Was ist das Kontextfenster?

Ein großes Sprachmodell verarbeitet Text als Tokens (ungefähr 3/4 eines Wortes pro Token). Das Kontextfenster definiert die maximale Anzahl von Tokens, die das Modell auf einmal verarbeiten kann. Moderne Modelle reichen von 4K bis über 1M Tokens, aber alle haben Grenzen.

Innerhalb des Kontextfensters verarbeitet das LLM:

  • System-Prompt: Vom Entwickler definierte Anweisungen, die die Rolle und Einschränkungen des Chatbots festlegen
  • Konversationsverlauf: Vorherige Wendungen in der aktuellen Sitzung
  • Abgerufener Inhalt: Dokumente, Datenbankergebnisse und Tool-Ausgaben, die von RAG oder Suche zurückgegeben werden
  • Benutzereingabe: Die aktuelle Benutzernachricht

All dies erscheint dem Modell als einheitlicher Strom. Das Modell hat keinen inhärenten Mechanismus, um Anweisungen aus verschiedenen Quellen unterschiedlich zu behandeln — und seine Aufmerksamkeit für bestimmte Teile des Kontexts ist nicht gleichmäßig.

Kontextfenster-Angriffstechniken

Context Stuffing / Context Flooding

Der Angreifer übermittelt eine extrem große Eingabe — oft ein langes Dokument, einen Codeblock oder einen Text-Dump — um früheren Inhalt (insbesondere den System-Prompt) weiter von der aktuellen Position des Modells wegzuschieben.

Forschung zeigt, dass LLMs ein “lost in the middle”-Verhalten aufweisen: Sie schenken Inhalten am Anfang und Ende langer Kontexte mehr Aufmerksamkeit und Informationen in der Mitte weniger Aufmerksamkeit. Durch Überflutung des Kontexts kann ein Angreifer seine bösartige Payload strategisch positionieren (typischerweise am Ende), während frühere Sicherheitsanweisungen in die Zone geringer Aufmerksamkeit in der Mitte abdriften.

Praktisches Beispiel: Der System-Prompt eines Chatbots legt fest, dass er nicht über Konkurrenzprodukte sprechen kann. Ein Angreifer übermittelt ein 50.000-Token-Dokument, gefolgt von einem Prompt, der nach Konkurrenten fragt. Die System-Prompt-Anweisung wurde effektiv verwässert.

Context Overflow / Trunkierungs-Ausnutzung

Wenn der Kontext sich füllt, muss das LLM oder seine Infrastruktur entscheiden, was verworfen werden soll. Wenn die Trunkierung Aktualität priorisiert (indem der älteste Inhalt zuerst verworfen wird), kann ein Angreifer den Kontext überfluten, um den System-Prompt vollständig zu eliminieren — wodurch das Modell nur mit vom Benutzer bereitgestelltem Kontext operiert.

Die Angriffssequenz:

  1. Eine Konversation mit vielen Wendungen etablieren
  2. Lange Antworten generieren, um den Kontextverbrauch zu maximieren
  3. Fortfahren, bis System-Prompt-Inhalt trunkiert wird
  4. Nun bösartige Anweisungen ohne konkurrierenden System-Prompt ausgeben

Kontext-Poisoning über abgerufenen Inhalt

In RAG-Systemen verbrauchen abgerufene Dokumente erheblichen Kontextraum. Ein Angreifer, der beeinflussen kann, was abgerufen wird (durch RAG Poisoning ), kann den Kontext selektiv mit Inhalten füllen, die seinen Zielen dienen, während legitime Informationen verdrängt werden.

Positionale Injektion

Forschung hat identifiziert, dass Anweisungen an bestimmten Positionen im Kontext einen unverhältnismäßigen Einfluss haben. Angreifer, die das Kontextassemblieren verstehen, können Eingaben erstellen, die darauf ausgelegt sind, an Positionen mit hoher Aufmerksamkeit relativ zu ihrer Payload zu landen.

Many-Shot Injection

In Modellen, die sehr lange Kontexte unterstützen (Hunderttausende von Tokens), können Angreifer Hunderte von “Demonstrations”-Beispielen einbetten, die zeigen, wie das Modell richtlinienverletzendes Output produziert, bevor die eigentliche bösartige Anfrage kommt. Das Modell, konditioniert durch diese Demonstrationen, ist signifikant wahrscheinlicher, zu folgen.

Logo

Bereit, Ihr Geschäft zu erweitern?

Starten Sie heute Ihre kostenlose Testversion und sehen Sie innerhalb weniger Tage Ergebnisse.

Abwehrmaßnahmen gegen Kontextfenster-Manipulation

Kritische Anweisungen verankern

Platzieren Sie nicht alle sicherheitskritischen Anweisungen nur am Anfang des System-Prompts. Wiederholen Sie Schlüsseleinschränkungen am Ende des System-Prompts und erwägen Sie, kurze Erinnerungen an wichtigen Punkten in langen Konversationen einzufügen.

Kontextgrößenlimits

Implementieren Sie maximale Eingabelängenlimits, die für Ihren Anwendungsfall geeignet sind. Ein Kundenservice-Chatbot muss selten 100.000-Token-Eingaben verarbeiten — die Begrenzung reduziert das Risiko von Flood-Angriffen.

Kontext-Überwachung

Protokollieren und überwachen Sie Kontextgrößen und -zusammensetzung. Ungewöhnlich große Eingaben, schnelles Kontextwachstum oder unerwartete Kontextzusammensetzung sind potenzielle Angriffsindikatoren.

Zusammenfassung für lange Konversationen

Implementieren Sie für langandauernde Konversationen eine Kontextzusammenfassung, die Schlüsselfakten und Einschränkungen beibehält, anstatt den rohen Konversationsverlauf. Dies widersteht Overflow-Angriffen und erhält gleichzeitig die Konversationskontinuität.

Adversariales Kontext-Testing

Beziehen Sie Kontextmanipulations-Szenarien in AI Penetration Testing -Aufträge ein. Testen Sie, ob Sicherheitsverhalten über lange Kontexte hinweg bestehen bleibt und ob System-Prompts nach Kontext-Flooding effektiv bleiben.

Verwandte Begriffe

Häufig gestellte Fragen

Was ist das Kontextfenster in einem LLM?

Das Kontextfenster ist die Menge an Text (gemessen in Tokens), die ein großes Sprachmodell auf einmal verarbeiten kann. Es umfasst den System-Prompt, den Konversationsverlauf, abgerufene Dokumente und Tool-Ausgaben. Alles, was das Modell während einer Sitzung 'weiß', muss in dieses Fenster passen.

Wie können Angreifer das Kontextfenster ausnutzen?

Angreifer können den Kontext mit irrelevantem Inhalt überfluten, um frühe Anweisungen (einschließlich Sicherheitsleitplanken) aus dem effektiven Aufmerksamkeitsbereich des Modells zu drängen, bösartige Payloads injizieren, die in langen Kontexten vergraben und von Filtern übersehen werden, oder Kontext-Trunkierungsverhalten ausnutzen, um sicherzustellen, dass bösartiger Inhalt überlebt, während legitime Anweisungen dies nicht tun.

Wie schützt man sich vor Kontextfenster-Manipulation?

Abwehrmaßnahmen umfassen: Verankerung kritischer Anweisungen an mehreren Stellen im Kontext (nicht nur am Anfang), Implementierung von Kontextgrößenlimits, Überwachung ungewöhnlich großer Kontext-Payloads, Verwendung von Kontext-Zusammenfassungen für lange Konversationen und Testen von Kontextmanipulations-Szenarien in Sicherheitsbewertungen.

Testen Sie Ihren Chatbot gegen kontextbasierte Angriffe

Kontextfenster-Manipulation ist eine unterschätzte Angriffsfläche. Unsere Penetrationstests umfassen Context Overflow und strategische Poisoning-Szenarien.

Mehr erfahren

Token
Token

Token

Ein Token im Kontext großer Sprachmodelle (LLMs) ist eine Zeichenfolge, die das Modell in numerische Repräsentationen umwandelt, um eine effiziente Verarbeitung...

3 Min. Lesezeit
Token LLM +3
Windowing
Windowing

Windowing

Windowing in der künstlichen Intelligenz bezieht sich auf die Verarbeitung von Daten in Segmenten oder „Fenstern“, um sequenzielle Informationen effizient zu an...

7 Min. Lesezeit
AI NLP +5
LLM-Sicherheit
LLM-Sicherheit

LLM-Sicherheit

LLM-Sicherheit umfasst die Praktiken, Techniken und Kontrollen zum Schutz von Large Language Model-Implementierungen vor einer einzigartigen Klasse KI-spezifisc...

4 Min. Lesezeit
LLM Security AI Security +3