AI Security for Apps(旧称 Firewall for AI)は、受信した各 LLM プロンプトの推定トークン数を提供します。プロンプトのサイズを監視したり、長すぎるプロンプトに上限を設けたり、AI エンドポイント全体のトークン使用量を追跡したりできます。
AI Security for Apps が cf-llm ラベル付きエンドポイントへのリクエストを処理すると、プロンプト内容のおおよそのトークン数を計算します。結果は LLM トークン数(cf.llm.prompt.token_count)フィールドで利用できます。ルール式で参照したり、分析画面で確認したりできます。
推定トークン数が一定値を超えるプロンプトをブロックする、硬いしきい値を設定します。想定外に大きな入力がモデルへ届くのを防ぎます。
-
受信リクエストが次に一致する場合:
エディターに次の式を入力します:
(cf.llm.prompt.token_count gt 4000) -
アクション: Block
1 つのクライアントが時間枠内に送信できる大きなプロンプトの数を制限する レート制限ルール を作成します。攻撃者が極端に長いプロンプトを送ってモデル資源を消費する不正利用を防ぐのに役立ちます。
エディターに次のルール式を入力します:
(cf.llm.prompt.token_count gt 2000)
レートは、たとえば IP あたり 1 分に 10 リクエストとし、アクションは Block または Managed Challenge にします。
プロンプトインジェクションの兆候もある大きなプロンプトを対象にします。攻撃者が長いコンテキストでインジェクションを埋める、よくあるパターンです。
ルール式の例:
(cf.llm.prompt.token_count gt 3000 and cf.llm.prompt.injection_score lt 50)
- 推定のみです。 トークン数は一般的な近似値です。モデル側の実際のトークン消費は、そのモデルのトークナイザーによって異なります。
- 入力トークンのみです。 トークン数は受信プロンプトを反映します。出力やレスポンスのトークンは推定しません。
- 抽出したプロンプトのみです。 トークン数は、リクエスト本文から抽出したプロンプトテキストで計算します。Cloudflare は、主要な LLM プロバイダー向けの既知の JSON パスを使ってプロンプトを抽出します。プロンプトを抽出できない場合は、フォールバックとしてリクエスト本文全体を使います。この場合、トークン数はリクエスト本文全体を反映します。