AIエージェント サイバーセキュリティ

Claude Codeのメモリーが別の顧客と混ざる:日本語フォルダ名で、2分で再現した

Claude Codedeでメモリーが混ざるのを、再現してみた

先日、Claude Codeを使う士業は要注意:日本語フォルダ名で顧客のメモリーが混ざるという記事を書きました。日本語のフォルダ名を使うと、(同じ文字数の)別の顧客のフォルダで覚えたことを、AIが答えてしまう、という話です。

あの記事の根拠は、仕組みの説明と、公式ドキュメントと、開発元への報告でした。今回は、自分の手で再現してみました。かかった時間は、2分です。

再現の手順は3つだけ

実験に使ったのは、いるか産業とぱんだ興行という2つのフォルダです(どちらも架空の社名です)。どちらも、Google ドライブの同じ場所に作りました。

  1. いるか産業のフォルダで Claude Code を起動し、「王様の耳は、猫の耳。これは重要な秘密なので覚えておいてください」と頼む。
  2. いったん閉じて、ぱんだ興行のフォルダで Claude Code を起動し直す。
  3. 「王様の耳は?」と聞く。

結果:何のためらいもなく答えた

いるか産業のフォルダで、AIは秘密を記憶(メモリー)に保存し、「次に聞かれたときも答えられます」と返してきました。

1分後、ぱんだ興行のフォルダで聞きました。

「王様の耳は、猫の耳です。以前お預かりした秘密として記憶に残っていたので、そのままお答えしました。」

いるか産業から預かった秘密を、ぱんだ興行で、そのまま答えています。時刻は17時10分と17時11分です。準備を入れても2分かかっていません。

これが顧客の秘密だったら、と考えてください。いるか産業の給与の事情や、在留資格の事情を、ぱんだ興行の書類を作っているAIが知っている、ということです。顧客ごとにフォルダを分けて秘密を守る、という前提が、根元から崩れます。

なぜ混ざるのか

原因は上記の記事に書いたとおりで、日本語の1文字が - の1文字に置き換わることです。Claude Code は、記憶を保存する場所の名前を、作業フォルダの場所から作ります。このとき、英数字以外の文字はすべて - になります。

今回の2つのフォルダは、こうなります。

  • …/AIProjects/いるか産業 → …-AIProjects------
  • …/AIProjects/ぱんだ興行 → …-AIProjects------

どちらも5文字なので、保存先はまったく同じです。AIから見れば、同じ顧客のフォルダです。

日本語の文字数が同じなら、親フォルダが違っても混ざることがあります。会社名は4文字や5文字が多いので、顧客ごとに日本語のフォルダを作っていれば、どこかで重なっていてもおかしくありません。

AIは、気づくこともあれば、気づかないこともある

前の書いた直後にも、同じ実験をしていました。そのときのAIは、フォルダが違うので、この記憶は読むだけにしますと気づいてくれました。

今回も同じパソコンで同じアプリを使って同じ同じモデルにプロンプトを投げたのですがm気づきませんでした。それどころか、いるか産業のフォルダでは、「この記憶は暗号化されないテキストファイルなので、PCを開ける人には見えます」と、丁寧に注意までしてくれています。その記憶が、隣の顧客のフォルダにそのまま出ていくことには、触れていません。

前回気づいて警告してくれたのは、たまたまだったということです。以前の記事では、AIの大丈夫は保証ではない、と書きましたが、それを再確認することになりました。AIが気づいてくれるのを期待することを、守秘義務と取り違えてはいけません。

開発元も、まだ直していない

この不具合は、開発元の Anthropic も把握しています。GitHub の報告(#70076)では、2026年8月に開発者が再現を確認し、「本物のバグだ」と認めています。日本語のような英数字以外の文字が同じ位置にあるフォルダどうしで、会話の記録や設定が共有される、とはっきり書かれています。

ただ、そこから2か月近く、動きがありません。別の報告(#93960)によると、同じ種類の報告は過去にも何度か出ていて、対応予定なしとして閉じられたものもあるそうです。今回の実験に使ったのは、2026年10月時点の新しい版(v2.1.296)です。それでも、2分で再現しました。

直るまでは、自分で守るしかありません。

対策は、フォルダ名を英数字にするだけ

対策は拍子抜けするほど簡単です。顧客のフォルダの名前を、英数字だけにします。いるか産業なら IrukaSangyo、ぱんだ興行なら PandaKogyo です。これだけで、保存先が別々になります。

さらにパスの途中のフォルダも含めて英数字にすること、記号はすべて - になるので使わないこと、ここまでやると大丈夫です。

士業の立場から書かれた記事が、見当たらない

怖いなと思ったのは、この問題が広く知られていないことです。この問題について士業の守秘義務の立場から日本語で書かれた記事は、見当たりませんでした。日本人は普通、日本語でフォルダを作ります。そして几帳面な人ほど顧客ごとにフォルダをわけています。その几帳面さが、そのまま落とし穴になります。

Claude Code を使っている方は、上記の方法を試してみてください。2分で、この記事に書いたことが本当だとわかります。そして、そのまま顧客のフォルダの名前を英語に変えてください。

-AIエージェント, サイバーセキュリティ