Claude Codeのセキュリティ問題。Apiiroが設定ファイルの秘密情報2,539件を報告

AIコーディングツール「Claude Code」の保存設定から、パスワードなどの秘密情報が公開GitHubに流出していたと報じられています。セキュリティ企業のApiiroが、公開リポジトリ1,994件から2,539件の秘密情報を見つけたと報告しました。

Claude Codeを業務で使い始めたものの、「自社のリポジトリにも同じことが起きていないか」「どこを点検すればよいのか」が分からないという方も多いのではないでしょうか。しかも、報道では件数の見え方が揺れており、何が確認できていて何が未確認なのかも分かりにくい状況です。

そこで本記事では、

  • Claude Codeのセキュリティ上、何が起きたのか(仕組みと規模)
  • 既存の検出ツールをすり抜けた理由と、開発元の反応
  • 今すぐ確認したい4つの対策と、日本企業への示唆(解釈)

についてわかりやすく解説します。AIコーディングツールの導入や運用を担う、開発責任者やAI・DX推進担当の方は、ぜひ最後までご覧ください。

なお、Apiiroの原典ブログの本文は確認できておらず、本記事の数字はいずれも報道をもとにしています。

「Claude Codeを使った開発で、パスワードやAPIキーを漏らさない運用にしたい」という方は、リベルクラフトへご相談ください。

⇨リベルクラフトへの無料相談はこちら

Claude Codeのセキュリティ問題とは。Apiiroが設定ファイルの秘密情報2,539件を報告

Claude Codeの設定ファイルに保存された承認の記録から、秘密情報が公開リポジトリへ流出していたと報じられています。ここでいう「秘密情報」とは、パスワード、APIキー、アクセストークンのように、知られると第三者がシステムに入り込める文字列のことです。報道の要点は次のとおりです。

  • Apiiroが、Claude Codeの保存された承認設定に関連して、公開GitHubリポジトリ1,994件から2,539件の秘密情報を発見したと報告しました。
  • 原因は、コマンドの実行を許可するときの選択肢「Yes, and don’t ask again(許可して次回から確認しない)」です。
  • この選択肢を選ぶと、コマンドが設定ファイルに許可ルールとして記録され、パスワードも平文で保存されると報じられています。
  • ただし、報道は、認証情報が攻撃に使われたことや、製品全体の欠陥までは示していません。
Apiiroの報告の要点。公開リポジトリ1,994件で秘密情報2,539件、許可して次回から確認しないの選択、平文で保存、悪用や製品全体の欠陥は示されていないことを4点にまとめた図解

図解:Apiiroの報告の要点。何が起きたかと、報道が示していないこと

GIGAZINEによると、Apiiroは2026年11月5日に調査結果を公開しました。Apiiroは公開前にこの調査内容をAnthropicと共有したと、iTnewsが報じています。

Claude Codeの「Don’t Ask Again」と、設定ファイルに秘密情報が平文で残る仕組み

ここまで報道の要点を確認しました。次に、なぜ秘密情報が設定ファイルに残るのか、その仕組みを見ていきます。

「許可して次回から確認しない」の意味

Claude Codeは、AIが開発者のコマンド実行を手伝うコーディングツールで、コマンドを実行する前に開発者へ許可を求めます。同じコマンドのたびに聞かれるのは手間なので、一度許可したコマンドについて繰り返し確認を求めない「Yes, and don’t ask again(許可して次回から確認しない)」という選択肢が用意されています。便利な機能ですが、今回の問題は、この選択肢を選んだときの保存のされ方にあります。

設定ファイル .claude/settings.local.json に記録される

この選択肢を選ぶと、コマンドがプロジェクト内の設定ファイル「.claude/settings.local.json」に許可ルールとして記録されます。コマンドの中にパスワードが書かれていると、そのパスワードもそのまま平文で保存されます。平文とは、暗号化されず、誰でも読める形のままという意味です。Apiiroは、一時的な操作用の秘密情報が、プロジェクトのフォルダに残り続ける平文の情報になると指摘しています。

許可ルールは、正確なコマンドをそのまま記録する

保存される許可ルールには、パターンで記録されるものと、正確なコマンドそのものが記録されるものがあります。報じられているのは後者の場合です。ルールがパターンではなく正確なコマンドを記録したとき、コマンドに打ち込まれた秘密情報が一緒に保存されると、iTnewsが伝えています。例えば、データベースに接続するコマンドの途中にパスワードを直接書いて許可すると、そのコマンド全体が記録されます。これは仕組みを理解するための例です。

Git除外設定は、リポジトリに付いて回らない

Claude Codeは、このファイルを開発者のグローバルなGit除外設定で除外しようとします。Gitの除外設定とは、特定のファイルをバージョン管理の対象から外す仕組みです。ただしApiiroは、この保護はリポジトリに付いて回らず、すでにGitの管理対象になったファイルは守れないと指摘しています。

また、このファイルは開発者のPC上に平文のJSON形式で存在するため、リスクはGitHubの外にもあると報じられています。

Claude Codeの情報漏洩の規模。Apiiroが見つけた秘密情報の件数と種類

仕組みが分かったところで、実際にどのくらいの秘密情報が見つかったのかを、段階ごとに整理します。

調査対象から合計2,539件までの流れ

数字は、調べた範囲によって段階が分かれます。報道をもとに整理すると、次の表のとおりです。

段階内容件数
調査対象公開GitHubで見つかった同設定ファイル104,185件(103,617リポジトリ)
秘密情報を含むファイル1件以上の実在する秘密情報を含む1,122件
設定ファイル内の秘密情報個別の秘密情報の合計1,379件
履歴などからの追加分Git履歴、共有設定、AIとの会話記録1,160件
合計確認された秘密情報2,539件(1,994リポジトリ)

設定ファイルの中の1,379件に、履歴などから見つかった1,160件が加わって、2,539件になります。

Apiiroの調査の規模。設定ファイル104,185件の調査、履歴などを含む合計2,539件、データベースパスワード379件など、63組織への影響を4点にまとめた図解

図解:見つかった秘密情報の規模。調査対象、合計件数、主な種類、影響を受けた組織

漏れた秘密情報の種類

内訳として報じられている主な種類は、次の表のとおりです。

種類件数備考
サービスAPIトークン398件GIGAZINEが内訳の1位と報道
データベースパスワード379件内訳の2位
Supabaseサービスロールキー122件Supabaseはクラウドのデータベースサービス
Supabaseアカウントトークン103件
SSH認証情報43件一部はrootのパスワード
GitHub、GitLab、npmのトークン42件バージョン管理系
AWSキー23件

この表の件数を足しても、1,379件にはなりません。報道で明示された分類の合計は全体に満たず、残りの内訳は分かっていません。また、GIGAZINEの内訳は他の報道と項目の立て方が一致しないため、分類は報道ごとに異なります。

SSH認証情報は、サーバーに遠隔でログインするための情報です。43件には公開サーバー向けのものが含まれ、一部はrootのパスワード(サーバーの全権限を持つ管理者アカウント)だったと報じられています。

影響を受けた組織と露出の例

影響は個人開発者のほか、63の組織に及びました。学生団体から実績のあるベンダーまで含まれると、iTnewsが報じています。露出の例は次のとおりです。

  • データベースベンダー自身の、管理権限付きクラウドAPIキー
  • ソフトウェア代理店の、Squareの本番トークン
  • 医療記録アプリの、クラウドデータベースのオーナーパスワード
  • Azure PostgreSQLの本番パスワード

設定ファイルが大きいほど秘密情報を含む確率が高く、8KB以上のファイルでは9.9%に含まれていたと報じられています。使い込んだプロジェクトほど注意が必要と考えられます(解釈)。

Claude Codeのセキュリティ対策の盲点。既存の検出ツールが見逃した215件

規模を整理したところで、なぜ既存のセキュリティ対策では見つけにくかったのかを見ます。

gitleaksとTruffleHogの検出結果

gitleaksとTruffleHogは、コードの中に紛れ込んだ秘密情報を探して警告するツールです。秘密情報を含んでいた1,122件のファイルについて、検出結果は次のように報じられています。

  • gitleaksが検出したのは564件
  • TruffleHogが検出したのは643件
  • 両方のツールが見逃したのは215件

どちらを使っても1,122件の全体は拾えず、2つを併用しても215件が残りました。

なぜ検出が難しいのか

Apiiroによると、PGPASSWORD=、sshpass -p、mysql -p の後ろに埋め込まれたパスワードは、特定のサービスに固有の特徴を持たないことが多いためです。一般に、サービスが発行するキーには決まった書式があり、ツールはその書式を手がかりに探します。一方、人が決めたデータベースのパスワードは、ただの文字列です。コマンドの引数に埋め込まれていると、ツールには区別がつきにくくなると考えられます。この説明は、報道の指摘を踏まえた一般的な解釈です。

Claude Codeの情報漏洩への開発元の反応と、確認できていないこと

仕組み、規模、検出の難しさを見てきました。次に、開発元の反応と、確認できていないことを整理します。

ボリス・チェルニー氏のコメント

Claude Codeの開発責任者を務めるボリス・チェルニー氏が、11月7日にHacker News上でこの問題についてコメントしました。報じられている内容は次のとおりです。

  • Claude Codeはこれまで秘密情報の除去を行っておらず(そのための良いツールは多くある)、防止策を検討している
  • 自動モードでの検知や、基本的な秘密情報スキャンの組み込みを試作する計画だが、問題を解決できない可能性もある
  • 自動モードでも同じ露出が起こりうるという読者の指摘に、「Yeah good catch」と返答した

主張の食い違い

チェルニー氏は、Claude Codeは作成時にこのファイルをgitignore(Gitの管理対象から除外する指定)するため、露出したコピーは手動で作成され、チェックインされたものだと主張しています。一方でApiiroは、Gitの除外設定はリポジトリに付いて回らないと指摘し、帰属を調べた1,105件のリポジトリのうち539件に、このファイルを変更したClaude共著のコミットが含まれていたと報告しています。また、Opus 5.5とFable 5.1の両モデルで同じ挙動を再現し、モデルではなくClaude Code側の性質だと述べています。双方の主張は食い違っており、どちらが正しいかは現時点の報道からは判断できません。

まだ確認できていないこと

  • Apiiroの原典ブログの本文は取得できておらず、数字はいずれも報道経由です。
  • 認証情報が実際に悪用されたかは確認できていません。Apiiroは有効性を検証しておらず、通知を受けた1組織が、自社のキーが有効だったと確認したのみです。
  • Anthropicが公式のアドバイザリを出したか、修正を実装したかは確認できていません。チェルニー氏の発言は、検討段階のものです。

Claude Codeの設定を見直す。今すぐ確認したい4つの対策

開発元の反応と、確認できていないことまで整理しました。ここからは、報道で推奨されている対策を、進める順番に並べます。

推奨されているのは、ローテーションをファイルの後始末より優先し、設定ファイルとGit履歴の両方を点検し、git rm –cached でローカル設定を管理対象から外すことです。ローテーションとは、認証情報を無効にして、新しいものに発行し直すことを指します。

順番やること理由
1漏れた可能性のある認証情報を無効化し、再発行する公開履歴に残った情報は、ファイルを消しても残るため
2設定ファイルとGit履歴の両方を点検する過去のバージョンにだけ残る秘密情報があるため
3git rm –cached .claude/settings.local.json で管理対象から外す以後、このファイルがGitに入らないようにするため
4コマンドにパスワードを直接書かず、環境変数を使う記録される場所にパスワードを置かないため
報じられた推奨対策の図解。鍵を無効化、設定とGit履歴を点検、git rm --cachedで管理対象から外す、環境変数を使う、の4点

図解:報じられた4つの推奨対策。優先順位は上から

表の1を最初に行うのは、通知を受けた組織の1つが、キーが有効だったと確認しているためです。Apiiroは、漏えいが見つかった場合はファイルを削除するだけでなく、公開履歴に残った認証情報も無効化して新しく発行し直す必要があると述べています。

2でGit履歴まで見るのは、過去バージョンに、現行のファイルには存在しない秘密情報が734件含まれていたと報告されているからです。3の –cached は、手元のファイルを残したまま、Gitの管理から外すオプションです。グローバルな除外設定は、すでに管理対象になったファイルを守れないため、この操作が必要になります。

4の環境変数とは、OSやシェルに値を持たせ、プログラムから参照する仕組みです。コマンドには変数名だけが残るため、許可ルールとして記録されても、パスワードそのものは設定ファイルに入りません。まず鍵を無効にし、次に残り方を調べ、そのあとで仕組みを変える、という順番で進めるのが基本です。

ここまで流出の対策を解説しましたが、「AIコーディングツールで、パスワードやAPIキーを漏らさない運用にしたい」という方は、リベルクラフトへご相談ください。

リベルクラフトでは、承認設定と秘密情報の持ち方の点検から、環境変数による運用ルールの整備までが可能です。ただ、ルールを作るだけでなく、社内AI環境の構築まで進められるため、自社の開発に合ったAI活用が可能。

以下のリンクからまずは詳細をチェックしてみてください。

⇨リベルクラフトへの無料相談はこちら

Claude Codeを使う日本企業・開発チームにとってのセキュリティ上の意味

ここからは、報道を踏まえた解釈です。事実として確認できているのは、Claude Codeの許可設定の保存方法が原因で、公開リポジトリに秘密情報が露出した例が多数報告されたという点までです。

承認の判断を個人任せにしない

「許可して次回から確認しない」は、開発者が手元で選ぶ操作です。そのため、どの開発者がどのコマンドを許可しているかは、チームから見えにくいと考えられます。AIコーディングツールを業務で使うなら、許可してよいコマンドの範囲をチームで決めておくことが論点になります。

秘密情報の持ち方を決める

今回の問題の根には、パスワードをコマンドに直接書く習慣があると考えられます。AIがコマンドを実行し、その記録が残る環境では、これまで見過ごされていた書き方が表に出ると考えられます。開発チームごとに、秘密情報を置く場所と渡し方を決めておくことが論点になります。

生成AIの情報漏洩対策につなげる

生成AIの情報漏洩というと、チャットに機密情報を入力してしまう場面が想定されがちです。今回は、入力そのものではなく、ツールが手元に保存した記録を通じて漏れる経路が報告された点が異なります。AI利用ルールを作る際は、入力、保存、共有の3つの経路で見直すと整理しやすいと考えられます。

Claude Codeの情報漏洩をめぐる誤解と、確認できていることとの違い

最後に、今回のニュースで起きやすい誤解を整理します。

「ファイルを削除すれば安全」という誤解

過去バージョンに734件の秘密情報が残っていたと報告されており、ファイルを消すだけでは安全になりません。

「Claude Codeの欠陥だと確定した」という誤解

報道は、公開リポジトリに入った保存コマンドによる露出を示すものであり、製品全体の欠陥は示していません。開発元とApiiroの見解も分かれており、確定した結論ではありません。

「認証情報が攻撃に使われた」という誤解

報道は、認証情報が攻撃に使われたことを示していません。

まとめ

本記事の要点は、次の5つです。

  • Apiiroが、Claude Codeの保存設定に関連して、公開GitHubリポジトリ1,994件から2,539件の秘密情報を発見したと報じられています。
  • 原因は「許可して次回から確認しない」の選択肢で、正確なコマンドが .claude/settings.local.json に記録されると、パスワードも平文で保存されると報じられています。
  • gitleaksとTruffleHogは、1,122件のファイルのうち、それぞれ564件と643件を検出し、215件は両方が見逃しました。
  • 推奨される対策は、認証情報の再発行を最優先に、設定ファイルとGit履歴の点検、git rm –cached、環境変数の利用です。
  • 悪用の有無や、Anthropicの公式な対応は確認できていないため、今後の発表で内容が変わる可能性があります。

Claude Codeの安全な運用の相談は「リベルクラフト」

Claude CodeのようなAIコーディングツールを開発に取り入れたいが、設定ファイルやGit履歴に秘密情報が残るリスクをどう抑えればよいのか、判断に迷う場面は多いものです。

リベルクラフトでは、AI開発の支援と、社外にデータを出さない社内AI環境の構築、AI利用ルールの整備までを一貫して支援しています。

  • AIコーディングツールの承認設定と、秘密情報の持ち方を点検したい
  • パスワードやAPIキーを、環境変数などの安全な方法で扱う運用ルールを整えたい
  • 機密情報を社内に閉じた環境でAIに扱わせる仕組みを相談できる相手を探している

という方は、リベルクラフトへお気軽にご相談ください。

リベルクラフト公式サイト

⇨リベルクラフトへの無料相談はこちら

AI・データの実務スキルを、ご自身で身につけたい方には、現場を知る講師のフィードバックを受けながら学べる Craft College もあります。

⇨Craft Collegeの詳細はこちら

参考情報

本記事は、次の報道記事の内容をもとに、まとめています。

この記事を書いた人

慶應義塾大学で金融工学を専攻。 卒業後はスタートアップのデータサイエンティストとして、AI・データ活用コンサルティング事業などに従事。 その後、株式会社セブン&アイ・ホールディングスにて、小売・物流事業におけるAI・データ活用の推進に貢献。 株式会社リベルクラフトを設立し、AIやデータサイエンスなどデータ活用領域に関する受託開発・コンサルティングや法人向けトレーニング、教育事業を展開。

関連記事

無料相談