AKIA... キーを運ぶプロンプト、貼り付けられた .env、自身の sk-... トークンを
エコーするエージェント — そのいずれもが、OpenAI、Anthropic、Google にライブの
クレデンシャルを平文で出荷し、それらのログとあなたのログに着地させ得ます。
Secrets Blocker はそれをゲートウェイで止めます:リクエストをクレデンシャルの
形状についてスキャンし、1 バイトもあなたのゲートウェイを離れる前に HTTP 400 で
呼び出しを拒否する、ワンクリックのガードレールプリセットです。
これはシークレット漏洩のユースケースに焦点を当てた着地ページです。完全な
ガードレールエンジン — すべてのルールの種類、フィールド、ルート — については、
ガードレールリファレンスを参照してください。
1. ひとつのプリセットで API キー漏洩 LLM フローを防ぐ
API キー漏洩 LLM を防ぐ配管の全体の要点は、すでにプロバイダのリクエストログに
入った後ではなく、アップストリーム呼び出しの前にクレデンシャルを捕捉することです。
Secrets Blocker プリセットはまさにそれを行います。それは入力ステージの
block ルールの小さなガードレールで、各々がよく知られたクレデンシャルの形状の
正規表現です:
AWS アクセスキー
AWS アクセスキー
AKIA の後に 16 文字の大文字英数字 — 正典的な AWS アクセスキー ID の形状。OpenAI スタイルのシークレットキー
OpenAI スタイルのシークレットキー
sk- プレフィックスの後に長いトークン本体 — OpenAI といくつかの似た
プロバイダキーが使う形状。GitHub パーソナルアクセストークン
GitHub パーソナルアクセストークン
ghp_ プレフィックスの後に 36 文字の本体。/v1/chat/completions を呼び出し
続けます、SDK 変更なし、再デプロイなしで。
入力ステージ、メータリングの前。 Secrets Blocker はあなたが送るものを
スクリーニングします。マッチはモデルが呼び出される前に呼び出しを拒否するため、
クレデンシャルはプロバイダに決して到達せず、ブロックされたリクエストはクォータを
消費しません。モデルがクライアントに発するシークレットも捕捉するには、出力
ブロックプリセットとペアにします — §5を参照。
2. コンソールでプリセットを適用する
ここでのすべてのステップは、あなた自身のセッション下の、ホスト型ゲートウェイ上の コンソールアクションです。ガードレールの作成と編集にはワークスペースで Developer+ が必要です。最後の/v1/* 呼び出しのみが sk-orca-... リレーキーを
使います。
テンプレートを開く
コンソールで Guardrails を開き、New guardrail スプリットボタンを
クリックし、Secrets テンプレートカテゴリから Secrets & API-Key Blocker を
選びます。入力ステージのブロックルールをシードします。
名前を付けて保存する
名前(≤ 64 文字)を付け、例:
secrets-blocker、保存します。プリセットはシードで
あり、ロックではありません — 後でルールを自由に追加または編集します
(§4を参照)。テストする
Test タブを開き、
input ステージでサンプルのクレデンシャルを貼り付け、
ポリシーをローカルで実行します — アップストリーム呼び出しなし、クォータなし
(§3を参照)。キーをアタッチする
API キーを編集し、Guardrail ドロップダウンから
secrets-blocker を選ぶ
(キー上に guardrail_id を設定)か、ワークスペースデフォルトとして
マークします。キーにアタッチすると
アカウントデフォルトを参照。3. アタッチする前にテストする
いずれかのキーがそれを指す前に、ルールが発火することを証明します。エディタ内の Test タブを開き、ダミーのクレデンシャルを貼り付け、input ステージを選んで
実行します:
4. カバレッジを拡張する
Secrets Blocker は最もトラフィックの多い 3 つの形状をカバーします。Secrets カテゴリは、それと並べて適用できる兄弟プリセットを同梱し、あなたのスタックが発行 する任意のトークンに対して独自のregex ルールを作成できます:
Private Keys & Cloud Tokens
リクエスト上の PEM 秘密鍵、Slack と Stripe のトークン、Google API キー、
JWT をブロックする、対をなす Secrets プリセット。
Crypto Wallet Block
プロバイダに決して到達すべきでないとき、リクエスト上の BTC と ETH スタイルの
ウォレットアドレスをブロックします。
input ステージでアクション block の
regex ルールを追加します — RE2
パターン、線形時間、後方参照なし。不正なパターンは保存時に拒否されるため、保存
できるガードレールは常にコンパイルされます。
5. レスポンス内のシークレットも捕捉する
Secrets Blocker はリクエストをスクリーニングします。別の Secrets プリセット、 Code Secret in Output は、秘密鍵と AWS/OpenAI スタイルのトークンについてモデルの レスポンスをスクリーニングし、ひとつが漏れて戻ってくると呼び出しをブロックします。 出力 block は両方で強制されます:非ストリーミングレスポンスでは回答が返る前に スクリーニングされ、ストリーミングレスポンスではスキャナが、ブロック対象の コンテンツがクライアントに到達する前にストリームを打ち切ります。出力ステージの ブロックは事前消費されたクォータを返金します。 出力ステージルールと ストリーミングカバレッジを参照。6. ブロックがどう見えるか
ブロックされたリクエストは、発火したガードレールとルールを示すメッセージとともに、 エラーコードguardrail_blocked の HTTP 400 を返します:
guardrail_blocked エラーを参照。
7. 何が発火したかを確認する
発火したすべてのルールはマッチを記録します — ルールの種類、アクション、 ステージ、detail 文字列 — ワークスペースの Matches フィードに現れます。 マッチした部分文字列そのもの(クレデンシャル)は、Log raw content がオンの ときのみ記録され、それはデフォルトでオフです。8. 次にどこへ
正規表現検出器
RE2 正規表現ルールで独自のクレデンシャルパターンを作成します。
アクション
ルールごとに block、mask、flag、annotate、spotlight を — そしてエンティティ
ごとに block、mask、flag、annotate を選びます。
PII Shield
モデルが目にする前に email、SSN、カードを型付きタグにマスクします。
誤検知のチューニング
Matches フィードから誤検知をマークし、検出器を引き締めます。
