Claude Platform Docs
Best PracticesSchutzmaßnahmen stärken

Jailbreaks und Prompt-Injections abwehren

Schütze deine Anwendung vor Jailbreaks und Prompt-Injection durch Eingabeprüfung, gehärtete System-Prompts und den sicheren Umgang mit nicht vertrauenswürdigen Tool-Inhalten.

„Jailbreaking“ und „Prompt Injection“ (Prompt-Injektion) sind Versuche, Claude dazu zu bringen, seine Richtlinien oder deine Anweisungen zu ignorieren. Obwohl Claude von Natur aus widerstandsfähig gegen solche Angriffe ist, stärken die zusätzlichen Schritte auf dieser Seite deine Schutzmaßnahmen, insbesondere gegen Nutzungen, die gegen die Nutzungsbedingungen oder die Nutzungsrichtlinie von Anthropic verstoßen.

Diese Angriffe lassen sich in zwei Kategorien mit unterschiedlichen Bedrohungsmodellen einteilen:

  • Jailbreaks und direkte Prompt-Injection, bei denen der Nutzer deiner Anwendung der Angreifer ist und Eingaben erstellt, die darauf abzielen, deine Schutzmaßnahmen zu umgehen.
  • Indirekte Prompt-Injection, bei der der Nutzer vertrauenswürdig ist, Claude aber Inhalte von Dritten (Webseiten, E-Mails, Dokumente, Tool-Ergebnisse) verarbeitet, die feindselige Anweisungen enthalten.

Jailbreaks und direkte Prompt-Injection

In diesem Bedrohungsmodell erstellt ein Nutzer absichtlich Eingaben, um deine Anwendung so zu manipulieren, dass sie Inhalte erzeugt oder Aktionen ausführt, die du nicht möchtest. Diese Maßnahmen stärken die Schutzmaßnahmen deiner Anwendung:

  • Harmlosigkeitsprüfungen: Verwende ein leichtgewichtiges Modell wie Claude Haiku 4.5, um Nutzereingaben vorab zu prüfen, bevor sie deine Hauptkonversation erreichen. Verwende strukturierte Ausgaben, um die Antwort auf eine einfache Klassifizierung zu beschränken.

  • Eingabevalidierung: Filtere Nutzereingaben auf bekannte Injection-Muster, bevor sie Claude erreichen. Du kannst ein LLM verwenden, um eine verallgemeinerte Validierungsprüfung zu erstellen, indem du bekannte Jailbreaking-Formulierungen als Beispiele bereitstellst.

  • Prompt-Engineering: Erstelle System-Prompts, die ethische und rechtliche Grenzen betonen und Claude ausdrücklich mitteilen, wie es ablehnen soll.

  • Auf Wiederholungstäter reagieren: Passe Antworten an und erwäge, Nutzer zu drosseln oder zu sperren, die wiederholt versuchen, die Schutzmaßnahmen deiner Anwendung zu umgehen. Wenn beispielsweise ein bestimmter Nutzer mehrfach dieselbe Art von Ablehnung auslöst (etwa „Ausgabe durch Inhaltsfilterrichtlinie blockiert“), teile dem Nutzer mit, dass seine Handlungen gegen die entsprechenden Nutzungsrichtlinien verstoßen, und ergreife entsprechende Maßnahmen.

Indirekte Prompt-Injection

In diesem Bedrohungsmodell schützt du deine Nutzer vor Anweisungen, die in Inhalten eingebettet sind, die Claude in ihrem Auftrag liest: der Text einer eingehenden E-Mail, eine abgerufene Webseite, OCR-Ausgabe einer hochgeladenen Datei oder das Ergebnis eines Tool-Aufrufs. Ein Angreifer, der diese Inhalte beeinflussen kann, kann Anweisungen einbetten, die versuchen, Claude umzulenken.

Strukturiere deine Anwendung so, dass Claude nicht vertrauenswürdige Inhalte zuverlässig von deinen Anweisungen unterscheiden kann:

  • Platziere nicht vertrauenswürdige Inhalte nur in Tool-Ergebnissen. Übergib Inhalte von Dritten an Claude innerhalb von tool_result-Blöcken, niemals in system-Prompts oder einfachen text-Blöcken des Nutzers. Claude ist darauf trainiert, Anweisungen, die innerhalb von Tool-Ergebnissen erscheinen, mit angemessener Skepsis zu behandeln. Siehe Tool-Aufrufe verarbeiten für das tool_result-Format.

  • Teile Claude mit, was der Inhalt ist und woher er stammt. Mache in der description des Tools oder in der Struktur des Ergebnisses selbst die Art und Quelle des Inhalts explizit: zum Beispiel, dass es sich um den Text einer eingehenden E-Mail von einem unbekannten Absender handelt oder um OCR-Text, der aus einem vom Nutzer hochgeladenen Bild extrahiert wurde. Dieser Kontext hilft Claude einzuschätzen, wie sehr es eingebetteten Anweisungen vertrauen sollte.

  • Lege die Richtlinie in deinem System-Prompt fest. Teile Claude ausdrücklich mit, dass Inhalte, die von Tools, Dokumenten oder Suchen zurückgegeben werden, nicht vertrauenswürdige Daten sind und niemals den System-Prompt oder die ursprüngliche Anfrage des Nutzers außer Kraft setzen dürfen.

  • Kodiere nicht vertrauenswürdige Inhalte als JSON. Verpacke Zeichenketten von Dritten, wo möglich, in ein JSON-Objekt, anstatt sie zu Freitext zu verketten. JSON-Escaping bietet eindeutige Trennzeichen zwischen der nicht vertrauenswürdigen Nutzlast und der umgebenden Struktur, sodass ein Angreifer kein Anführungszeichen oder Tag schließen kann, um in einen Anweisungskontext „auszubrechen“.

  • Platziere deine eigenen Anweisungen nicht in Tool-Ergebnissen. Da Claude Inhalte von Tool-Ergebnissen als nicht vertrauenswürdige Daten behandelt, werden Anweisungen, die du dort platzierst, möglicherweise ignoriert oder als potenzielle Injection markiert. Sende deine Anweisungen in einem user-Turn, der auf den tool_result-Block folgt. Bei unterstützten Modellen kannst du auch eine Systemnachricht mitten in der Konversation verwenden.

  • Beschränke Claudes Zugriff auf sensible Daten und Aktionen. Wende das Prinzip der geringsten Rechte an, damit eine erfolgreiche Injection nur minimalen Schaden anrichten kann: Gib Claude keinen Zugriff auf Geheimnisse, die es nicht benötigt, führe Tools in Sandbox-Umgebungen aus und fasse Berechtigungen so eng wie möglich.

  • Prüfe Tool-Ausgaben, bevor Claude darauf reagiert. Wende dasselbe Prüfmuster mit einem leichtgewichtigen Modell, das du für Nutzereingaben verwendest, auf die Inhalte an, die deine Tools zurückgeben. Führe jedes Tool aus, übergib seine Rohausgabe an einen kleinen Klassifizierer-Aufruf mit Claude Haiku 4.5 und gib den Inhalt nur dann als tool_result-Block zurück, wenn die Prüfung keinen Injection-Versuch meldet. Verwende strukturierte Ausgaben, damit das Urteil des Klassifizierers ein parsbarer Wert ist, anhand dessen deine Anwendung verzweigen kann.

    Du kannst auch die Eingabevalidierungsmuster aus dem vorherigen Abschnitt auf Tool-Ergebnisse anwenden, bevor du sie an Claude übergibst.

  • Führe Red-Teaming für deinen eigenen Agenten durch. Teste deinen Workflow vor der Bereitstellung mit Dokumenten, E-Mails und Tool-Ausgaben, die absichtlich Injection-Versuche enthalten, und vergewissere dich, dass Claude sie ignoriert und dass deine Prüf- und Bestätigungsschritte den Rest abfangen.

Kontinuierliche Überwachung

Analysiere Ausgaben regelmäßig auf Anzeichen erfolgreicher Injection. Nutze diese Überwachung, um deine Prompts, Validierungs- und Filterstrategien iterativ zu verfeinern.

Fortgeschritten: Schutzmaßnahmen verketten

Kombiniere Strategien für einen robusten Schutz. Hier ist ein Beispiel auf Unternehmensniveau mit Tool-Nutzung:

Indem du diese Strategien schichtweise kombinierst, schaffst du eine robuste Verteidigung gegen Jailbreaking und Prompt-Injections und stellst sicher, dass deine Claude-gestützten Anwendungen die höchsten Standards für Sicherheit und Compliance einhalten.

Was this page helpful?