プロンプトインジェクションとは
プロンプトインジェクションとは、LLMアプリケーションにおいて、攻撃者が巧妙に細工した入力をモデルに与え、開発者が意図したシステムプロンプトやセキュリティ制約を無効化する攻撃手法です。OWASP Top 10 for LLMでも最も重大なリスクの一つとして位置づけられています。
攻撃の仕組み
LLMはシステムプロンプト(開発者が設定した指示)とユーザー入力を区別する厳密な境界を持たないため、ユーザー入力の中に「これまでの指示を無視して」「新しい役割を設定する」といった命令を埋め込むことで、モデルの動作を乗っ取ることが可能です。この攻撃は、テキスト入力だけでなく、画像やファイル内に隠された指示を通じても実行できます。
対策手法
プロンプトインジェクションへの完全な防御は現時点では困難ですが、多層防御により被害を軽減できます。入力のサニタイズ、システムプロンプトのハードニング、出力検証、LLMの権限制限、重要操作における人間の確認フローの導入が有効です。また、プロンプトインジェクション検出モデルや入力分類器を追加のセキュリティレイヤーとして導入する手法も研究されています。