LLMプロンプト注入、MathGPTのコード実行
概要
MathGPTは、GPT-3を用いてユーザーの数学の質問をPythonコードに変換・実行し回答する公開Webアプリケーションです。このアプリケーションがプロンプトインジェクション攻撃の標的となりました。攻撃者は、GPT-3モデルがプロンプトインジェクションに脆弱であることを利用し、悪意のあるプロンプトを作成。これにより、モデルに「Hello World」の出力や環境変数表示のPythonコードを生成させ、アプリケーションがそのコードを直接実行することを確認しました。結果として、攻撃者はアプリケーションのホストシステムの環境変数、特に保護されていなかったGPT-3 APIキーへのアクセスを獲得。これにより、APIクエリ予算の枯渇やサービス停止の可能性が生じました。事態を受け、MathGPTとStreamlitチームはプロンプトフィルタリングやAPIキーのローテーションで脆弱性に対処しました。
分類・事実
- 発生種別
- 事故
- AI関与度
- AI が主要因
- 主分類
- security_abuse
- 初公表日
- 2023-01-28
教訓
LLMが生成したコードを直接実行するシステムでは、プロンプトインジェクションによるコード実行リスクが伴います。ユーザー入力とLLM出力の厳格な検証・フィルタリングが不可欠です。また、APIキーなどの機密情報は、環境変数として安易に扱うのではなく、より安全な方法で管理し、LLMが直接アクセスできないようにする設計が求められます。
出典(引用元)
データ提供: MITRE ATLAS