https://api.orcarouter.ai/v1/... を呼び続けます;変わるのは
ゲートウェイ内のキーとポリシーだけです。根底にある攻撃の解剖については、
プロンプトインジェクションと
危険なツール呼び出しを読んでください;
このページは対応です。
各ステップが必要とするロールはインラインで示されます。ガードレールの Matches フィードの
読み取りは任意の Member に開放されています;ファイアウォールの Events、Runs、
トレースビューには Developer+ が必要です;キーの取り消し、自律性姿勢の適用、ポリシーの
編集には Developer+ が必要です;ガードレールマッチを誤検出としてマークするには
Admin が必要です。
1. AI セキュリティインシデント対応ループ
3 つのフェーズを順に実行します。いきなり強化に飛ばないでください — まず封じ込めて、 調査する間に攻撃者がアクセスを失うようにします。封じ込め
侵害されたキーを取り消して、攻撃者が別の呼び出しをできないようにします。新しい、
タイトにスコープされた代替を発行します。
スコープ
ファイアウォールの Events / Runs とガードレールの Matches フィードを読んで、
キーが何をしたか、何が発火したかを正確に把握します。
強化
自律性姿勢を締め、それを捕捉していたはずのルールを追加して、同じ攻撃が再発できない
ようにします。
2. 封じ込め — キーを取り消す
最初の動きはアクセスを断つことです。漏洩したsk-orca-... キーは、取り消すまで動き
続けるため、他の何よりも先にこれをします。
コンソールで API Keys を開き、侵害されたキーを見つけ(表示でマスクされています —
名前、environment、または最終使用で照合)、それを削除します(Developer ロール)。
削除は即時です:そのキーでの次のリクエストはゲートウェイで拒否されます。
それから代替を発行します。ワークロードが必要とする最小限にスコープして — 決して
アカウント全体のキーではなく。API Keys → New key(Developer ロール)で:
新しいキーで爆発半径に上限をかける
新しいキーで爆発半径に上限をかける
将来の漏洩がクォータを枯渇させられないよう
credit_limit_usd を妥当な上限に設定し
(0 = 無制限)、呼び出し元が固定サーバーから実行するなら allow_ips を
バックエンドの egress IP に、一時的なものには expired_time を設定します
(-1 = 無期限)。model_limits(model_limits_enabled 付き)を使って、キーを必要な
モデルだけに囲います。新しいキーにポリシーをアタッチする
新しいキーにポリシーをアタッチする
Guardrail ドロップダウンから強化されたガードレールを選び(
guardrail_id を設定)、
Firewall policy ドロップダウンからファイアウォールポリシーを選びます
(firewall_policy_id を設定)。両方のバインディングがゲートウェイ内のキーに
存在するため、新しいキーは最初の呼び出しから統制されます。平文を一度だけコピーして
ください — 作成後はどこでもマスクされます。3. スコープ — Events と Matches フィードを読む
さて、キーが実際に何をしたかを突き止めます。ゲートウェイは既にすべてのツール呼び出しと 発火したすべてのルールを記録しています — ワークスペーススコープ、追加の計装なし。| フィード | どこで | ロール | 何に答えるか |
|---|---|---|---|
| Firewall → Events | ツール呼び出しごと | Developer+ | すべての評価 — 判定、サーフェス、ツール、args、それが属する run。 |
| Firewall → Runs | ロールアップ | Developer+ | 「このエージェントセッションが実際に何をしたか」 — 判定ミックス、個別のツールとモデル。 |
| Guardrails → Matches | ルールヒットごと | Member | 発火したすべてのガードレールルール — type、action、stage、detail。 |
deny と audit でフィルタして、何が
ブロックされ、何が observe のみの姿勢の下ですり抜けたかを見ます。
同じウィンドウについて Guardrails → Matches をクロスチェックします。Prompt-Injection
Basics ルールがリクエストをフラグした場合 — “ignore previous instructions” や
“reveal your system prompt” のような句 — それはルールの type と stage とともにここに
着地します。
Matches フィードは、そのガードレールに対して Log raw content がオンのときに
のみマッチした部分文字列を記録します — それはデフォルトでオフです
(プライバシー保守的な姿勢)。オフでも、ルールが発火したこととその detail メタ文字列は
依然として見えます。トリアージのために部分文字列が必要なときはガードレールごとに
オンにします;設定は非遡及的です。
POST /api/guardrail/match/:id/mark-fp、
Admin)、チューニング中にシグナルを歪めないようにします。
4. 強化 — ギャップを閉じる
封じ込めはこの攻撃者を止めます;強化は次の攻撃者を止めます。2 つの動き:ワークスペース 姿勢をただちに締め、それからあなたが今見たものを捕捉していたはずの具体的なルールを 追加します。高速パス — 自律性レベルを上げる
インシデントが、開きすぎで実行されていたエージェントを露呈したなら、ワークスペース姿勢 全体をひとつのトランザクションで切り替えます。Firewall → Posture で、tight
自律性レベルを適用します
(Developer ロール)。ひとつの動きで、これはデフォルト deny を設定し、破壊的シェルを
deny し、fetch 形の SSRF ツール名を deny し、そして PII Shield と
Secrets & API-Key Blocker ガードレールを強制します。すべての変更は、監査スナップ
ショットからのワンクリックの取り消しを持つひとつのトランザクションなので、厳しすぎる
場合はまっすぐロールバックできます。
精密パス — それを捕捉していたはずのルールを追加する
プロンプトインジェクションに特化して、OrcaRouter は Prompt-Injection Basics プリセット(カテゴリ safety)を出荷しています — ユーザーをブロックせずに、一般的な インジェクション句をレビューのためにフラグするキーワードルールです。シグナルを得る ためにそこから始め、それからエスカレートします。その厳格な兄弟、Jailbreak / Role-Play Blocker は、同じクラスを正規表現でブロックします。 Guardrails → New guardrail(Developer ロール;Test サンドボックスは候補ルールを インラインで実行します —llm_judge は有料のモデル呼び出しを行います — ので、これも
Developer+ です)で、Prompt-Injection Basics プリセットを適用し、それから
キーワードリストが見逃す難読化されたインジェクションを捕捉するために llm_judge ルールを
追加します:
judge_fail_open: false を設定します。キーにアタッチする前に、Test タブと Eval
コーパスに対してポリシー全体を証明します。
新しいルールを安全にロールアウトする
新しいルールをライブトラフィックで盲目的に強制しないでください。ファイアウォールには、 ポリシーにshadow_mode: true を設定します — すべての強制判定は audit に格下げされ、
[shadow] would … としてログされるため、トラフィックを変える前に Events フィードで
それが発火するのを見られます。ガードレールには、新しいルールのアクションをまず flag に
設定し、Matches フィードを監視し、それから block または mask にプロモートします。
完全な observe → shadow → enforce の道については
強制モードを参照してください。
5. 修正を検証する
解決済みと呼ぶ前に、ループが閉じていることを確認します。サンドボックスで攻撃を再生する
悪意のあるプロンプトをガードレールの Test タブに
input ステージで貼り付け、
判定がいまやブロック(またはフラグ)であることを確認します。ツール呼び出しの
インシデントには、問題の呼び出しを Firewall → Test(Developer+)でドライランし、
判定が deny であることを確認します。どちらのサンドボックスも、アップストリームへ
何も送らず、何も永続化しません。古いキーが死んでいることを確認する
取り消されたキーでリクエストを送り、それが拒否されることを確認します。ブロックされた
ガードレールは HTTP 400
guardrail_blocked を返します;拒否されたツール呼び出しは
HTTP 400 firewall_blocked を返します — そしてブロックはクォータを消費せず
(入力ステージのブロックはメータリング前に発火し;出力ブロックは事前消費された
クォータを返金します)、skip-retry とマークされます。6. ランブック一覧
| フェーズ | アクション | どこで | ロール |
|---|---|---|---|
| 封じ込め | 漏洩したキーを削除 | API Keys | Developer+ |
| 封じ込め | スコープされた代替を発行 | API Keys → New key | Developer+ |
| スコープ | ツール呼び出し + 判定を読む | Firewall → Events / Runs | Developer+ |
| スコープ | 発火したルールを読む | Guardrails → Matches | Member |
| 強化 | 姿勢を上げる | Firewall → Posture(tight) | Developer+ |
| 強化 | 捕捉ルールを追加 | Guardrails / Firewall | Developer+ |
| 検証 | サンドボックスで再生 | Test タブ | Developer+ |
7. 次に進む先
Go-live チェックリスト
本番前の強化パス — 出荷前にキーをスコープし姿勢をロックします。
プロンプトインジェクション
このランブックが対応する攻撃、エンドツーエンド。
強制モード
Observe → shadow → enforce — トラフィックを壊さずに新しいルールをロールアウトします。
持ち出しを止める
インシデントがネットワークに触れた場合、アウトバウンド宛先をロックします。
