プロンプト注入とは、攻撃者がモデルの挙動に影響を与えるコマンドを秘密裏にモデルが読み取る内容に詰め込み、モデルが従うべきタスクやルールから逸脱させることを意味します。 必ずしも「悪意のあるコード」のように見えるわけではなく、ウェブページやPDFドキュメント、ナレッジベースの内容、表記、あるいは一見普通の文の中に混ざっていることが多いです。
なぜ伝統的な意味での抜け穴ではないのか
従来の脆弱性はしばしばプログラム実行層の欠陥を利用します。 プロンプト注入は「モデルを使って自然言語を読む」こと自体に似ています。 このモデルは人間の言語を理解するのに優れており、これは利点ですが、同時に指示でない内容を命令と間違える可能性もあります。 つまり、これはセキュリティ上の問題であると同時に、文脈的な境界の問題でもあります。
最も一般的な注入入口
- ネットワーク検索:モデルがキャプチャしたウェブページには「前のルールを無視する」や「特定のコンテンツを出力する」などの誘導テキストが含まれていることがあります。
- アップロード文書:PDF、マークダウン、ウェブスナップショット、KBエントリーには、モデルの判断に影響を与える言葉が含まれている場合があります。
- マルチツールシステム:モデルがブラウザ、データベース、コードツールを呼び出すと、インジェクションの影響は増幅されます。
最も危険な場所はどこですか?
| リスクポイント | パフォーマンス |
|---|---|
| ルールは無効化されます | モデルはシステム要件や過剰な実行を無視し始めます |
| 答えは偏っています | このモデルは、ダーティコンテンツを信頼できるコンテキストとして扱います |
| ツールチェーンは誤解を招く | エージェントは汚染された指示に従って引き続き探し、調整を続けます |
また、プロンプト注入とジェイルブレイクプロンプトには違いがあります。 脱獄は通常、ユーザーがモデルルールに正面から挑戦することです。 プロンプト注入は、側面から汚染されたルールのようなもので、モデル自身がそのコンテンツを実行すべきでないことに気づいていないかもしれません。 過去2年間でこのモデルがますます頻繁に言及される理由は、もはやチャットボックスを読むだけでなく、ウェブページを読み、ファイルを読み、ナレッジベースを読み、ツールを接続し始めるからです。 入力面が拡大すると、入口の数も増加します。