Prompt Injection Attack

PROMPT INJECTION ATTACK
読み: prompt-injection”]プロンプトインジェクションアタック

読み: prompt-injection”]プロンプトインジェクションアタック

Prompt Injection Attackとは

Prompt Injection Attackとは、大規模言語モデルLLM)の脆弱性を悪用した攻撃手法である。攻撃者は、悪意のある命令やデータをLLMに入力することで、モデルの本来の動作を逸脱させ、機密情報の漏洩や不正な操作を実行させることを目的とする。この攻撃は、LLMのセキュリティにおける重要な課題となっている。

かんたんに言うと

Prompt Injection Attackは、AIに嘘の指示を与えて、本来の目的とは違うことをさせる攻撃のことである。

Prompt Injection Attackの仕組み

Prompt Injection Attackは、LLMがユーザーからの入力を信頼しすぎている点に起因する。LLMは、入力されたテキストを命令として解釈し、それに従って動作する。攻撃者は、この仕組みを利用して、LLMに新たな命令を注入し、既存の命令を上書きしたり、無視させたりする。これにより、LLMは攻撃者の意図した通りに動作するようになる。

Prompt Injection Attackの種類

Prompt Injection Attackには、直接的Prompt Injectionと間接的Prompt Injectionの2種類が存在する。直接的Prompt Injectionは、ユーザーが直接LLMに悪意のある命令を入力する。一方、間接的Prompt Injectionは、LLMがアクセスする外部データに悪意のある命令を埋め込み、LLMがそのデータを処理する際に攻撃が実行される。間接的Prompt Injectionは、より検知が難しいとされる。

Prompt Injection Attackへの対策

Prompt Injection Attackへの対策は多岐にわたる。入力データの検証やサニタイズ処理を強化することで、悪意のある命令の注入を防ぐことができる。また、LLMの出力に対する監視やフィルタリングを行うことで、不正な操作を検知し、阻止することが可能である。さらに、LLMの学習データを改善し、攻撃に対する耐性を高めることも重要である。

当社の見解

技術の選定で最も避けるべきは「流行っているから」という理由で導入することだ。当社は複数のAIツール・フレームワークを実際に検証した上で、自社の用途に合うものだけを採用している。検証せずに導入したツールは、ほぼ例外なく3か月以内に使わなくなった。実装指示した人間側が実装したことも忘れて、気が付けば動いていない機能があった、ということも起きる。さらに、MCPやフックやルールを増やしすぎてAIが情報過多で機能しなくなった経験もある。どんなにルールや機能を付け足しても機能しなければ意味がない。足し算より引き算。1週間の検証期間が、3か月の手戻りを防ぐ。

同じ失敗を二度としないAIエージェント

今のAIは、聞けば何でも答えてくれます。
でも、セッションが切れた瞬間に前回の失敗を忘れます。

当社が開発しているAIは、過去の経緯を念頭に置いて、
聞かれる前に「それは前回うまくいきませんでした」と声をかけます。
人間にも同じ失敗をさせず、AI自身も繰り返しません。

古参の社員が横にいるように、黙っていても気づいてくれる。
それが、当社が考える本当のAI社員です。

相談する