プロンプトインジェクションを多層で検知する(ルール→分類器→LLM 判定)
安くて速い順に「ルールベース → 専用分類器(Prompt Guard 2 など)→ 高速推論の LLM 判定」の 3 層で外部入力を検査し、怪しいものだけを重い判定に回す。
何を解決するか
- Web サイトに実際にプロンプトインジェクションが仕込まれている事例が観測されている(@yousukezan)。ブラウジングや RAG で外部テキストを読むエージェントは常に晒される。
構成(openclaw-defender の設計)
- ルールベース: 「ignore previous instructions」等の既知パターン、隠し文字、不自然な指示文を正規表現で弾く。ほぼゼロコスト。
- 分類器: Meta の Prompt Guard 2 のような小型分類モデルでスコアリング。
- LLM 判定: 境界ケースだけを高速推論基盤(Cerebras 上の Llama 3.3 70B)で判定し、レイテンシを抑える。
注意点
- 検知は確率的で、すり抜けは必ず起きる。権限側の制御(エージェントが実行できる操作の制限、危険操作の人間承認、ネットワークの許可リスト)と組み合わせるのが前提。
- 入力だけでなく、ツール出力(取得した Web ページ、メール本文など)も検査対象にする。