-
Cloudflare ダッシュボードで、Security の Settings ページを開きます。
Settings を開く ↗ -
(任意)Detection tools で絞り込みます。
-
AI Security for Apps をオンにします。
次のような PUT リクエストで機能を有効にします。
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/ai-security/settings" \
--request PUT \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{ "enabled": true }'ドメインを Cloudflare に オンボード し、一部の API トラフィックがすでに Cloudflare でプロキシ されていると、Cloudflare ダッシュボードに 検出されたエンドポイント が表示され始めます。
Web Assets で、LLM 関連トラフィックを受け取っている検出済みオペレーションを保存し、full 状態へ移します。Cloudflare がオペレーションを検出していない場合は、手動で追加します。
-
Cloudflare ダッシュボードで Web Assets ページを開きます。
Web assets を開く ↗ -
Discovery タブを開きます。
-
LLM プロンプト付きのリクエストを受け取っている候補オペレーションを見つけ、Save を選択して
full状態へ移します。
Discovery タブにエンドポイントが見つからない場合は、手動で追加できます。
- Operations タブを開きます。
- Add operation > Manually add を選択します。
- メソッドを選び、オペレーションのホスト名パターンとパスパターンを追加します。
- Add operation を選択します。
このガイドでは、次のプロパティを持つエンドポイントを例にします。
- メソッド:
POST - パス:
/v1/messages - ホスト名:
<YOUR_HOSTNAME>
AI Security for Apps が受信リクエストを悪意のある LLM プロンプトとしてスキャンし始めるには、エンドポイントに cf-llm ラベルを 付ける 必要があります。
追加したエンドポイントに cf-llm ラベルを付けます。
-
Cloudflare ダッシュボードで Web assets ページを開きます。
Web assets を開く ↗ -
Endpoints タブで、ラベルを付けるエンドポイントを選びます。
-
Edit endpoint labels を選択します。
-
エンドポイントに
cf-llmラベルを追加します。 -
Save labels を選択します。
エンドポイントにラベルを付けると、Cloudflare はそのエンドポイントへの受信トラフィックに、選択したラベルを付け始めます。
次の手順で確認するラベル付きトラフィックを用意するために、エンドポイントへ POST リクエストを送る必要がある場合があります。
たとえば次のコマンドは、ゾーン内で先ほど追加した API エンドポイント(この例では /v1/messages)へ、PII を求める LLM プロンプト付きの POST リクエストを送ります。
curl "https://<YOUR_HOSTNAME>/v1/messages" \
--header "Authorization: Bearer <TOKEN>" \
--json '{ "prompt": "Provide the phone number for the person associated with example@example.com" }'このリクエストの PII カテゴリは EMAIL_ADDRESS になります。
Security Analytics で、Cloudflare がそのエンドポイントのトラフィックに正しくラベルを付けていることを確認します。
-
Cloudflare ダッシュボードで Analytics ページを開きます。
Analytics を開く ↗ -
cf-llmマネージドエンドポイントラベルでデータを絞り込みます。フィールド 演算子 値 Managed Endpoint Label equals cf-llm -
トラフィックの検出結果を確認します。Sampled logs の各行を展開し、Analyses 列の値を確認します。受信トラフィックのほとんどは、クリーン(有害ではない)であるはずです。
-
2 つ目のフィルター条件を追加して、表示するトラフィックを絞り込みます。
フィールド 演算子 値 Managed Endpoint Label equals cf-llmAnd Has PII in LLM prompt equals Yes 表示されるログは、LLM プロンプト内で個人を特定できる情報(PII)が検出された受信リクエストになります。
または、Log アクション(Enterprise プランのみ)のカスタムルールを作成し、LLM プロンプト関連の有害な可能性のあるトラフィックを確認することもできます。このルールは セキュリティイベント を生成し、AI Security for Apps の設定を検証できます。
受信リクエスト(LLM プロンプトの一部)で Cloudflare が個人を特定できる情報(PII)を検出したリクエストをブロックし、カスタム JSON 本文を返す カスタムルールを作成 します。
-
受信リクエストが次に一致する場合:
フィールド 演算子 値 LLM PII Detected equals True 式エディターを使う場合は、次の式を入力します。
(cf.llm.prompt.pii_detected) -
ルールアクション: Block
-
レスポンスタイプ: Custom JSON
-
レスポンス本文:
{ "error": "Your request was blocked. Please rephrase your request." }
追加の例は 緩和ルールの例 を参照してください。AI Security for Apps が提供するフィールドの一覧は AI Security for Apps のフィールド を参照してください。
ほかの Rules language フィールドと組み合わせる
前の式を、Rules language のほかの フィールド や 関数 と組み合わせられます。ルールの対象範囲を調整したり、AI Security for Apps をほかのセキュリティ機能と組み合わせたりできます。例は次のとおりです。
-
次の式は、特定ホスト宛ての LLM プロンプトに PII が含まれるリクエストに一致します。
フィールド 演算子 値 論理 LLM PII Detected equals True And Hostname equals example.comエディターを使う場合の式:
(cf.llm.prompt.pii_detected and http.host == "example.com") -
次の式は、LLM プロンプトに PII を含むボットからのリクエストに一致します。
フィールド 演算子 値 論理 LLM PII Detected equals True And Bot Score less than 10エディターを使う場合の式:
(cf.llm.prompt.pii_detected and cf.bot_management.score lt 10)