1. 3 つのレイヤーでのプロンプトインジェクション保護
単一のチェックがすべてのインジェクションを止めることはありません。OrcaRouter は、 ひとつのガードレールに積み重ねられる 3 つの補完的なレイヤーを提供します:プロンプトインジェクション基礎
セーフティプリセット — 古典的な jailbreak フレーズ(“ignore previous
instructions”、“reveal your system prompt”)をレビュー用にフラグする、
ブロックしないキーワードルール。決定的、モデル呼び出しなし。
LLM judge 意図ルール
ワークスペース内のモデルに “これはシステム指示を上書きしようとする試みか?” と
尋ねる
llm_judge ルール — 固定されたキーワードリストには捕捉できない、
言い換えられ難読化されたインジェクションを捕捉します。小さな judge サブラインを
課金します。信頼されていないテキストの spotlight
spotlight アクションは、マッチした信頼されていない入力をデリミタ(例:
⟦UNTRUSTED⟧…⟦/UNTRUSTED⟧)で囲み、その領域を指示ではなくデータとして
扱うようモデルに伝えます — 取得されたまたはツールが返したコンテンツからの
間接的インジェクションに対する最強の防御。入力全体を囲むには
spotlight_whole を使います。なぜ flag してから judge か。 キーワード拒否リストは高速かつ無料ですが脆弱です
— 攻撃者はその周りを言い換えます。judge は堅牢ですがサブ呼び出しのコストがかかり
ます。プリセットを実行して何があなたのトラフィックにヒットするかを確認し、
それから言い換えを捕捉するために judge を追加します。両方のルールはひとつの
ガードレールに存在し、同じリクエストで走ります。
2. プロンプトインジェクション基礎プリセットから始める
ここでのすべてのステップは、あなた自身のセッション下の、ホスト型ゲートウェイ上の コンソールアクションです。ガードレールの作成と編集にはワークスペースで Developer+ が必要です。最後の/v1/* 呼び出しのみが sk-orca-... リレーキーを
使います。
テンプレートを開く
コンソールで Guardrails を開き、New guardrail スプリットボタンを
クリックし、Safety テンプレートカテゴリから Prompt-Injection Basics を
選びます。
input ステージに flag アクションの単一の keyword ルールを
シードします。テストする
Test タブを開き、
input ステージでサンプルを貼り付け、ポリシーを
ローカルで実行します — アップストリーム呼び出しなし、クォータなし
(§4を参照)。キーをアタッチする
API キーを編集し、Guardrail ドロップダウンから
prompt-injection を選ぶ
(キー上に guardrail_id を設定)か、ワークスペースデフォルトとして
マークします。キーにアタッチすると
アカウントデフォルトを参照。3. キーワードが見逃すものを捕捉する — llm_judge ルールを追加する
キーワードマッチングは、リストアップしたフレーズしか捕捉しません。言い換えられた 攻撃の背後にある意図を捕捉するために、同じガードレールにllm_judge ルールを
追加します。ガードレールを開き、Add rule、LLM judge を選び、設定します:
judge_model
judge_model
ワークスペースがすでに呼び出せるモデルまたはルーターエイリアス。judge 呼び出しは
あなたのチャネルを経由してルーティングされるため、そのトークンは他の呼び出しと
同様に — judge サブラインとして — 課金され帰属されます。
judge_format
judge_format
yes_no、score、category のいずれか。インジェクションチェックには
yes_no が自然なフィットです(コンソールがそれを事前選択します)。score では
judge_threshold を設定し、category では拒否される judge_categories を
リストします。judge_timeout_ms と judge_fail_open
judge_timeout_ms と judge_fail_open
judge_timeout_ms は呼び出しを制限します(0 → エンジンデフォルト)。
judge_fail_open が true(デフォルト)のとき judge エラーは記録され、
リクエストは継続します。見逃されたチェックが許容できない場合は、エラーまたは
タイムアウトを block として扱うために false に設定します。4. アタッチする前にテストする
いずれかのキーがそれを指す前に、ガードレールが期待どおりに動作することを証明します。 エディタ内の Test タブを開き、インジェクションサンプルを貼り付け、input
ステージを選んで実行します:
5. 何が発火したかを確認する
発火したすべてのルールはマッチを記録します — ルールの種類、アクション、 ステージ、detail 文字列 — ワークスペースの Matches フィードに現れます。 ガードレールが flag モードにある間、このフィードこそが価値です:インジェクション フレーズがどれくらいの頻度であなたのトラフィックにヒットし、それらがどう見えるかを 示すため、強制するかどうかを決定できます。6. より厳格な兄弟と積み重ねる
プロンプトインジェクション基礎は、穏やかな flag のみの出発点です。Safety テンプレートカテゴリは、block する準備ができたら同じガードレールに重ねられる より厳格な兄弟を同梱します:| プリセット | アクション | 捕捉するもの |
|---|---|---|
| Prompt-Injection Basics | flag | 古典的なフレーズ — 監視レイヤー。 |
| Jailbreak / Role-Play Blocker | block | DAN / developer-mode / “act as” パターン。 |
| Jailbreak v2 Regex | block | 新しいモード + 不可視 Unicode タグバイト密輸。 |
7. ガードレールはテキストをスクリーニングし、ファイアウォールはアクションを統制する
ガードレールは注入された指示がモデルに到達するのを止めます。しかし、成功した インジェクションの目的はたいていエージェントに何かをさせることです — 危険な ツールを呼び出す、データを持ち出す、内部ホストに到達する。その爆発半径は ファイアウォールの仕事です:モデルが発したツール呼び出しを 評価し、deny、引数の sanitize、または承認の要求ができます。多層防御のために
両方を実行してください。
プロンプトインジェクション(脅威)
完全な脅威モデルと各制御がどこに位置するか。
jailbreak
インジェクションのペルソナバイパスのいとこ。
危険なツール呼び出し
インジェクションがエージェントにさせようとすること — そしてファイアウォールが
どう止めるか。
AI エージェントのセキュリティ
エージェントワークロードのためのベースラインコントロールスタック。
llm_judge フィールド
リファレンス、バージョニング、ルート — については、
ガードレールリファレンスを読んでください。