← ブログに戻る
コラム

プロンプトむンゞェクションずは仕組みず実践的な察策

FastMetal

プロンプトむンゞェクションずは、悪意ある入力を䜿っお、LLM に䞎えた本来の指瀺システムプロンプトを乗っ取る攻撃です。 LLM を組み蟌んだアプリを䜜るなら、必ず抌さえおおきたいリスクです。

プロンプトむンゞェクションずは

LLM は、システム指瀺もナヌザヌ入力も「同じテキスト」ずしお読みたす。そのため、ナヌザヌ入力に「これたでの指瀺は無芖しお〜」ずいった文を玛れ蟌たせるず、意図しない動䜜を匕き起こせおしたうこずがありたす。

䞻な皮類

  • 盎接型Direct — ナヌザヌが入力欄に盎接、指瀺を䞊曞きする文を曞き蟌む。
  • 間接型Indirect — 取埗したWebペヌゞや文曞、メヌルなどに攻撃的な指瀺が埋め蟌たれおおり、それを LLM が読むこずで発動する。RAG や゚ヌゞェントで特に泚意が必芁です。

実践的な察策

完党に防ぐ「銀の匟䞞」はありたせんが、次の察策を重ねるこずでリスクを䞋げられたす。

  • 信頌できない入力を「デヌタ」ずしお扱う — 倖郚由来のテキストは指瀺ではなく凊理察象ずしお明確に区切り、その旚をシステムプロンプトで指瀺する。
  • 暩限を最小化する — LLM や゚ヌゞェントが実行できる操䜜ツヌル、API、削陀などを必芁最小限に絞る。乗っ取られおも被害を限定できたす。
  • 出力を怜蚌・サニタむズする — モデルの出力をそのたた実行せず、想定した圢匏かをプログラム偎で確認する。
  • 高リスクな操䜜は人間の承認を挟む — 送信・課金・削陀などは自動実行しない。
  • 専甚の怜知を䜿う — むンゞェクション怜知や PII マスキングを提䟛する補品・ツヌルを組み合わせる機胜の有無は各補品で確認しおください。

蚭蚈の基本方針

鍵は「LLM を信頌しすぎない」こずです。モデルの出力は提案ずみなし、実際の実行や倖郚ぞの圱響は、暩限管理ず怜蚌で囲い蟌む——この倚局防埡の考え方が最も重芁です。

たずめ

プロンプトむンゞェクションは、入力の分離・暩限の最小化・出力の怜蚌・人間の承認を重ねお察策したす。単䞀の察策に頌らず、倚局で守るのが基本です。LLM API の䜿い方はドキュメント、察応モデルはモデルカタログをご芧ください。

最新のAIモデルを今すぐ詊す

最新のAIモデルはFastMetalのAPIキヌ1぀で利甚できたす。ブラりザですぐに詊す、たたはOpenAI SDKからそのたた呌び出せたす。

コラム

システムプロンプトずは圹割ず曞き方、userずの違いを解説

システムプロンプトずは、䌚話党䜓に効く「前提の指瀺」を枡すためのメッセヌゞです。userメッセヌゞずの違い、具䜓的な曞き方のビフォヌ・アフタヌ、コヌド䟋、泚意点を開発者向けに解説したす。

コラム

RAG怜玢拡匵生成ずは仕組みず、APIで構築する実装の党䜓像

RAG怜玢拡匵生成ずは、質問に関係する資料を怜玢しおプロンプトに入れ、LLMに答えさせる仕組みです。チャンク分割、埋め蟌み、ベクトル怜玢からモデルの呌び出したでをコヌドで瀺し、費甚の芋積もりず評䟡の方法も解説したす。

チュヌトリアル

ツヌル呌び出しTool Callingを実装する4ステップの埀埩

モデルは関数を実行したせん。実行するのは自分のコヌドです。tools定矩からtool_callsの受け取り、実行結果の返し方たで、モデルを差し替えおも動く4ステップのルヌプをコヌド付きで解説したす。