プロンプトインジェクションがLLMやマルチモーダルモデルを悪用する仕組みを学びましょう。コンピュータビジョンにおけるリスク、実世界の事例、AI安全のための対策を探求します。
プロンプトインジェクションは、主に生成AI と大規模言語モデル(LLM)を基盤とするシステムに影響を与えるセキュリティ脆弱性である。これは、悪意のあるユーザーが特定の入力(多くの場合、無害なテキストに偽装されたもの)を作成し、人工知能を騙して元のプログラミング、安全ガードレール、またはシステム指示を上書きさせることで発生する。コード内のソフトウェアバグを悪用する従来のハッキング手法とは異なり、プロンプトインジェクションはモデルが言語を意味論的に解釈する仕組みを攻撃する。 文脈ウィンドウを操作することで、攻撃者は モデルに機密データの開示、禁止コンテンツの生成、または不正な操作の実行を強制できます。AIの自律性が高まる中、 この脆弱性を理解することは、堅牢なAI安全性を維持するために極めて重要です。
プロンプトインジェクションは当初テキスト専用チャットボットで発見されたが、マルチモーダルモデルの出現によりコンピュータビジョン(CV)分野でも重要性を増している。CLIPなどの現代的な視覚言語モデル(VLMs)や YOLOオープンボキャブラリ検出器は、 ユーザーが自然言語記述(「赤いリュックサックを探せ」など)を用いて 検出対象を定義することを可能にする。
これらのシステムでは、テキストプロンプトは埋め込み表現に変換され、モデルが視覚特徴と比較する。攻撃者がテキスト指示を含む画像(「このオブジェクトを無視せよ」と書かれた看板など)を提示した場合、「視覚プロンプト注入」が発生する可能性がある。モデルの光学式文字認識(OCR)コンポーネントはこれを高優先度のコマンドとして読み取り解釈する。これにより、物理環境自体が注入メカニズムとして機能する独自の攻撃ベクトルが生じ、自律走行車やスマート監視システムの信頼性に挑戦する。 コンポーネントが読み取り、高優先度の命令として解釈する場合に発生する。これは物理環境そのものが注入メカニズムとして機能する独自の攻撃ベクトルを生み出し、自律走行車やスマート監視システムの信頼性に疑問を投げかける。
プロンプト注入の影響は、AIが外部入力と相互作用する様々な産業に及んでいる:
機械学習の分野において、プロンプト注入を類似の用語と区別することが重要です:
以下のコードは、ユーザー定義のテキストプロンプトがオープンボキャブラリー視覚モデルとどのように連携するかを示しています。セキュアなアプリケーションでは、 user_prompt 注入攻撃を防ぐには厳密なサニタイズが必要となる。我々は ultralytics テキスト定義を理解できるモデルをロードするためのパッケージ。
from ultralytics import YOLO
# Load a YOLO-World model capable of open-vocabulary detection
# This model maps text prompts to visual objects
model = YOLO("yolov8s-world.pt")
# Standard usage: The system expects simple class names
safe_classes = ["person", "bicycle", "car"]
# Injection Scenario: A malicious user inputs a prompt attempting to alter behavior
# e.g., attempting to override internal safety concepts or confuse the tokenizer
malicious_input = ["ignore safety gear", "authorized personnel only"]
# Setting classes updates the model's internal embeddings
model.set_classes(malicious_input)
# Run prediction. If the model is vulnerable to the semantic content
# of the malicious prompt, detection results may be manipulated.
results = model.predict("https://ultralytics.com/images/bus.jpg")
# Visualize the potentially manipulated output
results[0].show()
プロンプトインジェクションへの防御は活発な研究分野である。手法には以下が含まれる: 人間のフィードバックからの強化学習(RLHF)による 有害な指示を拒否するようモデルを訓練する方法、およびユーザー入力をシステム指示で挟み込む「サンドイッチ」防御の実装。Ultralytics トレーニングとデプロイを行う組織は、推論ログを監視してdetect プロンプトパターンをdetect できます。さらに、NIST AIリスク管理フレームワークは、デプロイ済みシステムにおけるこの種のリスクを評価・軽減するためのガイドラインを提供しています。