1. Prompt-Injection-Schutz in drei Ebenen
Keine einzelne Prüfung stoppt jede Injection. OrcaRouter gibt Ihnen drei komplementäre Ebenen, die Sie auf einem Guardrail stapeln können:Prompt-Injection Basics
Ein Safety-Preset — eine Keyword-Regel, die die klassischen
Jailbreak-Phrasen (“ignore previous instructions”, “reveal your
system prompt”) zur Überprüfung markiert, ohne zu blockieren.
Deterministisch, kein Modellaufruf.
LLM-Judge-Intent-Regel
Eine
llm_judge-Regel, die ein Modell in Ihrem Workspace fragt: “Ist
dies ein Versuch, die Systemanweisungen zu überschreiben?” — und so
umformulierte und verschleierte Injection fängt, die keine feste
Keyword-Liste kann. Verrechnet eine kleine Judge-Unterzeile.Untrusted-Text hervorheben
Die
spotlight-Action umschließt getroffene nicht vertrauenswürdige
Eingaben mit Delimitern (z. B. ⟦UNTRUSTED⟧…⟦/UNTRUSTED⟧) und weist
das Modell an, die Region als Daten, niemals Anweisungen zu
behandeln — die stärkste Verteidigung gegen indirekte Injection aus
abgerufenem oder von Tools zurückgegebenem Inhalt. Nutzen Sie
spotlight_whole, um die gesamte Eingabe zu umschließen.Warum flag-dann-judge. Eine Keyword-Denylist ist schnell und kostenlos,
aber spröde — Angreifer formulieren darum herum. Ein Judge ist robust,
kostet aber einen Unteraufruf. Fahren Sie das Preset, um zu sehen, was
Ihren Traffic trifft, und fügen Sie dann den Judge hinzu, um die
Umformulierungen zu fangen. Beide Regeln leben auf einem Guardrail und
laufen auf demselben Request.
2. Mit dem Prompt-Injection-Basics-Preset beginnen
Jeder Schritt hier ist eine Konsolen-Aktion auf dem gehosteten Gateway in Ihrer eigenen Session. Das Erstellen und Bearbeiten von Guardrails erfordert Developer+ im Workspace. Nur der finale/v1/*-Aufruf nutzt
einen sk-orca-...-Relay-Key.
Template öffnen
Öffnen Sie in der Konsole Guardrails, klicken Sie auf den
New guardrail-Split-Button und wählen Sie Prompt-Injection
Basics aus der Template-Kategorie Safety. Es befüllt eine
einzelne
keyword-Regel auf der input-Stage mit der flag-Action.Benennen und speichern
Benennen Sie es (≤ 64 Zeichen), z. B.
prompt-injection, und speichern
Sie. Ein Preset ist ein Seed, kein Schloss — fügen Sie danach frei
Phrasen hinzu oder entfernen Sie sie.Testen
Öffnen Sie den Tab Test, fügen Sie ein Beispiel an der
input-Stage ein und führen Sie die Policy lokal aus — kein
Upstream-Aufruf, kein Kontingent (siehe
§4).Einen Key anhängen
Bearbeiten Sie einen API-Key und wählen Sie
prompt-injection aus dem
Dropdown Guardrail (setzt guardrail_id am Key), oder markieren
Sie es als Workspace-Default. Siehe
An einen Key anhängen und
Account-Default.3. Fangen, was Keywords verpassen — eine llm_judge-Regel hinzufügen
Keyword-Matching fängt nur die Phrasen, die Sie aufgelistet haben. Fügen Sie dem selben Guardrail einellm_judge-Regel hinzu, um die Absicht
hinter einem umformulierten Angriff zu fangen. Öffnen Sie das Guardrail,
Add rule, wählen Sie LLM judge und konfigurieren Sie:
judge_model
judge_model
Ein Modell oder Router-Alias, das/den Ihr Workspace bereits aufrufen
kann. Der Judge-Aufruf wird durch Ihre Channels geroutet, sodass seine
Tokens wie jeder andere Aufruf verrechnet und zugeordnet werden — als
Judge-Unterzeile.
judge_format
judge_format
Eines von
yes_no, score oder category. Für eine Injection-Prüfung
ist yes_no der natürliche Fit (die Konsole wählt es vor). Mit score
setzen Sie judge_threshold; mit category listen Sie die verweigerten
judge_categories.judge_timeout_ms und judge_fail_open
judge_timeout_ms und judge_fail_open
judge_timeout_ms begrenzt den Aufruf (0 → Engine-Default). Mit
judge_fail_open true (Standard) wird ein Judge-Fehler aufgezeichnet
und der Request läuft weiter; setzen Sie es auf false, um einen Fehler
oder Timeout als Block zu behandeln, wo eine verpasste Prüfung
inakzeptabel ist.4. Testen, bevor Sie anhängen
Beweisen Sie, dass das Guardrail tut, was Sie erwarten, bevor irgendein Key darauf zeigt. Öffnen Sie den Tab Test im Editor, fügen Sie ein Injection-Beispiel ein, wählen Sie dieinput-Stage und führen Sie aus:
5. Sehen, was ausgelöst hat
Jede Regel, die auslöst, zeichnet einen Match auf — Regeltyp, Action, Stage und einen Detail-String — sichtbar im Workspace-Matches-Feed. Solange das Guardrail im Flag-Modus ist, ist dieser Feed der Wert: Er zeigt Ihnen, wie oft Injection-Phrasen Ihren Traffic treffen und wie sie aussehen, sodass Sie entscheiden können, ob Sie durchsetzen.6. Mit strengeren Geschwistern stapeln
Prompt-Injection Basics ist der sanfte, nur-Flag-Ausgangspunkt. Die Template-Kategorie Safety liefert strengere Geschwister, die Sie auf demselben Guardrail schichten können, wenn Sie bereit sind zu blockieren:| Preset | Action | Fängt |
|---|---|---|
| Prompt-Injection Basics | flag | Klassische Phrasen — die Beobachtungsebene. |
| Jailbreak / Role-Play Blocker | block | DAN- / Developer-Mode- / „act as”-Muster. |
| Jailbreak v2 Regex | block | Neuere Modi + unsichtbares Unicode-Tag-Byte-Schmuggeln. |
7. Guardrails prüfen Text; die Firewall steuert Aktionen
Ein Guardrail stoppt die injizierte Anweisung davor, das Modell zu erreichen. Aber das Ziel einer erfolgreichen Injection ist üblicherweise, einen Agenten etwas tun zu lassen — ein gefährliches Tool aufrufen, Daten exfiltrieren, einen internen Host erreichen. Dieser Wirkungsradius ist die Aufgabe der Firewall: Sie bewertet die vom Modell ausgegebenen Tool-Calls und kanndeny, Argumente sanitize oder
eine Freigabe verlangen. Fahren Sie beide für Defense in Depth.
Prompt-Injection (Bedrohung)
Das vollständige Bedrohungsmodell und wo jede Kontrolle sitzt.
Jailbreaks
Der Persona-Bypass-Cousin der Injection.
Gefährliche Tool-Calls
Was eine Injection einen Agenten tun lassen will — und wie die
Firewall es stoppt.
KI-Agenten absichern
Der Baseline-Control-Stack für agentische Workloads.
llm_judge-Feldreferenz, Versionierung und Routen — finden Sie in der
Guardrails-Referenz.