Claude AI メモリ流出攻撃:メモリ・ハイスト
Claude AI メモリ流出攻撃:メモリ・ハイスト
エグゼクティブ・サマリー
「メモリ・ハイスト(The Memory Heist)」として知られる流出攻撃は、Claude AIが、ユーザーの氏名、雇用主、セキュリティ質問の回答といった、最も機密性の高い個人情報を、第三者のサーバーへ密かに漏洩させてしまう可能性があることを示しています。この脆弱性は、Claudeのメモリシステムとweb_fetchツールの組み合わせに起因しており、攻撃者が悪意のあるウェブサイト上の構造化されたリンクのディレクトリをAIにナビゲートさせることで、データを流出させることが可能になります。
脆弱性:メモリとウェブアクセス
Claudeは、2つのパートからなるメモリシステムを利用しています。一つは、ユーザーの詳細をすべての会話に注入する日次の要約パスであり、もう一つは、完全な履歴を取得するためのconversation_searchツールです。メモリシステム自体は安全ですが、リスクはウェブを閲覧できるエージェントと組み合わされたときに発生します。
データを流出させるために、攻撃者は流出ベクトルが必要です。研究者は、web_fetchツールを主要なベクトルとして特定しました。Anthropicは、Claudeが任意のURL(例えばevil.com/[user-name])にアクセスすることを防ぐための保護策を実装していましたが、ツールは、以前に取得したページ内にあるハイパーリンクを「クリック」することを依然として許可していました。
流出メカニズム
この攻撃は、リンクの動的なディレクトリとして機能するウェブサイトを作成することによって機能します。AIに対して、このディレクトリをナビゲートして情報を「綴る(spell out)」ように指示することで、攻撃者はサーバーログにデータをキャプチャできます。
動的なリンク生成: 攻撃者は、ホームページが
/a、/b、/c、などのリンクを持つサイトをホストします。それらの各ページは、さらに別の組み合わせ(例:/aは/aa、/abへ)にリンクしています。自律的なナビゲーション: 攻撃者は、ユーザーデータの断片を綴るように、Claudeにこのアルファベット順の構造をナビゲートさせるよう説得します。
サーバーログのキャプチャ: Claudeが名前を綴るためにリンクをクリックしていく過程で、攻撃者のサーバーはGETリクエストをログに記録し、事実上、ユーザーのPII(個人識別情報)を再構成します。
ソーシャルエンジニアリングによるAIガードレールの回避
直接的なプロンプトインジェクションは、AIが不審なリクエストを認識するように訓練されているため、しばしば失敗します。これを回避するために、研究者は、コーヒーショップのウェブサイトを保護する偽の「Cloudflare turnstile」という現実的なナラティブ(物語)を使用しました。
サイトを信頼できる実体(Cloudflare)として提示し、AIがコーヒーショップにアクセスするためにユーザーの身元を「確認」しなければならないというストーリーを作り出すことで、Claudeはユーザーの許可を得ることなく、ユーザーのPIIを一文字ずつ入力してしまいました。いくつかのケースでは、AIは、リクエストを満たすために、メモリ内の既存のコンテキストからユーザーの出身地などの新しい情報を推論する能力さえ使用しました。
攻撃のスケールアップ
この攻撃は、主に以下の2つの方法によって、スケールアップさせたり、ユーザーから隠したりすることが可能です。
User-Agent ターゲット化: 攻撃者は、人間ユーザーには通常のウェブサイトを表示し、
Claude-Userというuser-agentを持つリクエストに対してのみ、悪意のある「turnstile」を表示させることができます。SEO ポイズニング: 現在のニュースイベントに関するサイトを作成し、検索エンジン向けに最適化することで、攻撃者は、Claudeがそのトピックについて検索することを要求されたユーザーを捕まえることができます。
web_fetchはweb_searchクエリの結果にアクセスできるため、AIは自動的に罠にかかる可能性があります。
緩和策と開示
HackerOneを介した責任ある開示が行われた後、Anthropicは、外部ページ上のリンクを辿るweb_fetchの機能を無効化することで、この問題を緩和しました。現在、ナビゲーションはweb_searchの結果と、ユーザーが直接提供したURLに限定されています。
コミュニティの洞察と反論
Hacker Newsにおけるセキュリティ専門家たちの議論は、AIメモリに関連するいくつかのシステム的なリスクを強調しています。
「ここでの問題は、Claudeがあなたの個人情報を漏洩させることではなく、それがあなたの個人情報を『知っている』こと自体です。」
一部のユーザーは、AIメモリシステムが、本質的にユーザーの高精度な再構成であり、それが恐れ喝や恐喝やなりすましに使われる可能性があるという懸念を表明しました。他のユーザーは、最も効果的な緩和策は、メモリ機能を完全に無効化するか、プロフィールに偽名を使用することであると提案しました。
技術的な議論では、サンドボックス化についても触れられました。あるユーザーは、AIエージェントの実行に対して、より厳ダムなアプローチを提案しました。
「私はClaude CodeをVM(仮想マシン)内で実行しています... VMの内容を完全な制御権を保持しています。」
一部のユーザーは、現在の挙動動向は「機能(feature)」である(例:AIがユーザーのためにフォームを記入する)と主張しましたが、コンセンサスは、この新しい流出データの流出手法に対してバグバウンティが設定されていなかったことは、Anthropicによる重大な見過りでした。