悪いメモリがAIエージェントを悩ませ続ける

Image

出典:Shutterstock経由のBillion Photos

メモリファイルは人工知能の性能を向上させるのに役立ちますが、研究者たちはそれらが継続的な問題点でもあることを発見しました。

AIメモリファイルとコンテキストデータは、リクエストのパーソナライズに役立ち、大規模言語モデルやその他の基盤AIモデルが最適な応答を提供するのに使用できる追加情報を提供します。しかし、継続的な問題はAIシステムのセキュリティにおける根本的な弱点であることが証明されています。

3月、Ciscoの研究者たちはAnthropicのClaude Codeのメモリファイルを侵害し、永続性を維持することができることを発見しました。これは、このAIコーディングアシスタントのあらゆるプロジェクトとセッションを事実上感染させます。この技術を使用して、研究者たちは本番コードにハードコードされたシークレットを導入し、Claude Codeに安全でないパッケージと設定オプションを選択させ、その変更を別の開発チームメンバーにプッシュすることができました。これは公開された研究報告書によるものです。

Anthropicはその後この問題を軽減しましたが、AIメモリファイルはより良く保護する必要があるシステムのセキュリティにおける弱点を表しています。これはCiscoのAIソフトウェア&プラットフォームグループのAI脅威インテリジェンスおよびセキュリティ研究の責任者であるAmy Changが述べています。メモリとコンテキストデータは将来のリクエストに組み込まれるため、AIシステムとアプリケーションの出力を破損するために使用される可能性があります。

「同じファイルと依存関係とディレクトリを再ロードする必要がないという利便性が得られますが、同時に、潜在的なリスクに身をさらしている可能性があるというトレードオフがあります」と彼女は言います。

AIメモリファイルとコンテキストデータは、AIアプリケーションを侵害して永続性を獲得しようとしている攻撃者の焦点となっています。これは、特定のユーザーセッションの状態を保持し、長期的には、ユーザーの全体的な好みを保持しているためです。プリンストン大学とSentient AIの研究者たちは、攻撃者がAIが使用するデータに偽のメモリを挿入でき、その応答と決定を操作できることを発見しました。一方、Radwareの脅威研究者たちは、間接プロンプトインジェクション(IPI)を使用してOpenAIのChatGPTが使用するコネクタを侵害する方法を実証しました。これらは第三者サービスにリンクするために使用されます。そして、以前のレポートで、Ciscoはモデルコンテキストプロトコル(MCP)サーバーとして知られている外部データソースがすでにAIアプリケーションに重大なリスクをもたらしていることを発見しました。

Image

Ciscoはユーザーにそれがポイズンされていることを告げるポイズンされたメモリファイルを作成しました。出典:Cisco

最新のCisco研究はまた、AIシステムのセキュリティ確保における主要な問題を浮き彫りにしています。サイバーセキュリティの専門家は、実行可能ファイルを潜在的な危険と見なし、コードはExcelマクロやPickleファイル内のPythonオペコード(機械学習の重みを処理するために使用される)などの非実行可能ファイルに頻繁に入り込みます。今では、メモリファイルに含まれると悪意のある動作を引き起こす可能性がある情報を含めることができるテキストファイルがあります。

「あなたのマークダウンファイルでさえベクトルになる可能性があります」と彼女は言います。その結果、サイバーセキュリティの専門家は、テキストファイルと、AIシステムの実行を変更する能力について認識する必要があります。

特権とプロンプトインジェクション

Ciscoの最新の攻撃は、Node Package Manager(NPM)のポストインストールフックをベクトルとして使用して、Claude Codeのmemory.mdファイルを変更することに焦点を当てていました。memory.mdファイルの最初の200行がClaude Codeのシステムプロンプトに含まれていたため、攻撃はセッション全体で継続しました。

現在修正されていますが、この問題はメモリがAIシステムの問題であり続けることを強調しています。claude.md(AnthropicのClaude)、agents.md(OpenAIのCodex)、soul.md(OpenClaw)などの他の依存ファイルも、エージェントAIのユーザーが分析および維持する必要があるリスクです。

「我々が置かれている環境を照らし出していると思います。特定のセットアップに応じて、すべての人が環境を異なる方法でセットアップしているため、見落とされ、見過ごされ、単に受け入れられている多くの異なる他のベクトルがおそらくあります」と彼女は言います。

基盤モデルは本質的にステートレスシステムです。各呼び出しは独立しており、重みは変わらないためです。状態を組み込むには、プロンプトの一部として、ベクトルデータベースなどのいくつかのデータソースから、または低ランク適応(LoRA)と検索拡張生成(RAG)などのさまざまなテクノロジーを使用した追加チューニングを通じて、コンテキストウィンドウに情報を存在させる必要があります。

ポイズンされたNode Package Manager(NPM)コンポーネントはLLMを攻撃する一般的な方法ですが、他にも多くのベクトルがあります。これはメモリ操作に関する研究を発表したサイバーセキュリティ企業Palo Alto NetworksのシニアプリンシパルセキュリティリサーチャーであるJay Chenが述べています。

「根本的な原因はプロンプトインジェクションであり、これは開かれた未解決の問題のままです」と彼は言います。「LLMに依存して記憶を管理するAIエージェントまたはGenAIアプリケーションは、メモリポイズニングの影響を受けやすい可能性があります。」

長期メモリは常に悪いですか?

長期間にわたってメモリファイルを保持することは、それ自体がセキュリティ上の弱点であることが判明する可能性があります。メモリファイルへの悪意のある追加は検出が難しいですが、さまざまなAIセキュリティベンダーはメモリファイルを防御およびスキャンするためのツールを開発しています。Cisco、Palo Alto Networks、Snyk、Meta、SentinelOne、および他の企業は、悪意のあるメモリ変更を検出し、AIシステムへの攻撃をブロックできるツールを持っています。

ファイルが攻撃者によって継続的にターゲットにされるため、ツールを採用することが重要な防御となります。

「メモリ処理の上に保護の追加層を持つことは、おそらくセキュリティを向上させるでしょう。」と彼女は言います。「ポイズンされたメモリファイルがある場合などの表面的なものをスキャンできるような依存ファイルをスキャンできるオープンソーススキャナを多数リリースしました。」

企業は、特にメモリファイルが悪意を持って変更されたかどうかについての懸念がある場合、定期的にメモリファイルを削除したいと思うかもしれません。

「曝露の期間は、メモリの更新頻度と保持ポリシーに依存するため、悪意のある命令がどのくらい継続するかを判断することは困難です。」と彼は言います。「疑いがある場合、最も安全なアプローチはメモリをパージすることです。」

翻訳元: https://www.darkreading.com/vulnerabilities-threats/bad-memories-haunt-ai-agents

ソース: darkreading.com