メインコンテンツへスキップ
AI News 18分で読める

AppleのCLAUDE.md流出全解説|Juno AIとCLAUDE.md管理術【2026年5月】

「Apple、Claude.mdファイルをアプリに置き忘れる」

2026年5月1日夜(日本時間5月2日)、セキュリティ研究者のAaron Perris(@aaronp613)がXに投稿したこの一文は、1万リツイートを超えた。

Hacker Newsのトップコメントは冷静だった。「本当の問題はAppleがClaudeを使っていたことではない。人間レビューがビルドパイプラインで機能しなかったことだ」。一方、あるX投稿はこう表現した。「CLAUDE.mdはもう企業の設計思想書だ。これをリリースビルドに含めるのは、仕様書を競合他社に丸ごと送りつけるのと同じことだ」(Linas Beliūnas、Substack note)。

偶発的な1ファイルの流出が、Appleの秘密のAI戦略と、Claude Codeを使うすべての開発者が直面するリスクを同時に照らし出した。

この記事はこんな人におすすめ
  • Claude CodeやCLAUDE.mdを使っている、または導入を検討しているエンジニア
  • AI開発ツールを企業導入する際のセキュリティリスクを把握したいエンジニアリングマネージャー
  • AppleのAI戦略と「なぜGeminiではなくClaudeなのか」に興味がある方

何が起きたのか — 5分でわかる事件の全容

2026年5月1日、AppleはApp StoreにApple Supportアプリのv5.13アップデートを配信した。このビルドには、本来含まれるべきでない内部設定ファイル2本が紛れ込んでいた。どちらも.claude/CLAUDE.mdという名前のファイルで、Anthropic製のAIコーディングツール「Claude Code」が開発時に参照する指示書だ。

発見者はMacRumorsのアナリストで独立系研究者のAaron Perris(@aaronp613)。ファイルをダウンロードして内容を確認し、即座にXへ投稿した。投稿から数時間以内、Appleはv5.13.1をリリースして問題のファイルを除去した。ホットフィックスの速さ自体が「意図的な公開ではなかった」ことを証明している。

“Apple accidentally left Claude.md files in today’s Apple Support app update (v5.13).” — Aaron Perris @aaronp613(2026年5月1日)

流出したのは2ファイル。1本目はサポートアプリのチャットモジュール(AIバックエンドとの接続部分)を記述したもの、2本目はSAComponentsと呼ばれる社内共通UIライブラリの仕様を記述したものだ。

流出ファイルが暴いたJuno AIの全容

1本目のCLAUDE.mdに書かれていたのは、Appleが「Juno AI」と内部ブランド名をつけたサポートAIシステムの全体像だった。

デュアルシステム設計

Juno AIはAI自動応答と人間(Live Agents)を組み合わせたデュアルアーキテクチャで動いている。

役割実体
clientエンドユーザー(サポート受け手)
agent人間のAppleサポート担当者
assistantAI(Juno AI)

この3者はすべて同一のメッセージ処理パイプラインを流れる。「今あなたが話しているのはAIか人間か」をユーザーに通知する仕組みは、CLAUDE.mdに記述されている設計上、存在しない。

Swift実装の詳細

CLAUDE.mdにはSwiftの実装指針も記述されていた(News9live)。

  • Swift actors — チャットモジュールの並行処理
  • AsyncStream — AIレスポンスのストリーミング配信
  • Keychain storage — セッション情報の永続化
  • SupportAssistantAPIProvider — AIバックエンドとのAPI接続レイヤー

コンパイルフラグとしてJUNO_ENABLEDDEV_BUILDも記載されており、本番と開発環境の切り替え方法まで含まれていた。

2本目のCLAUDE.mdが記述したSAComponentsは、SwiftUI・UIKit・visionOSに対応したApple社内の共通UIライブラリだ。UIとビジネスロジックを分離する設計方針が明記されていた。

AppleはなぜGeminiではなくClaudeを使っているのか

Appleは2024年のWWDCでGoogleとのGemini統合を「Apple Intelligence」の一部として発表し、現在もSiriのバックエンドにGeminiが使われている。にもかかわらず、内部の開発ツールとしてはAnthropicのClaude Codeを選んでいた。

この矛盾は以前から指摘されていた。BloombergのMark Gurman記者は2026年1月に「Apple runs on Anthropic at this point」と報告している。

“Anthropic is powering a lot of the stuff Apple is doing internally in terms of product development, a lot of their internal tools… They have custom versions of Claude running on their own servers internally.” — Mark Gurman, Bloomberg(2026年1月)

なぜGeminiではなくClaudeなのか。Gurmanの別の報道では「AppleはSiriをClaudeベースで構築しようとしたが、AnthropicがAppleに課す料金を数年ごとに倍増させる要求を受け入れられなかった」とある。

つまりAppleの構造は**「表向きはGemini、内部ではClaude」**という二重戦略だ。この事実は今回のCLAUDE.md流出で、公式に確認された形になった。

また2026年2月、AnthropicはXcode 26.3へのClaude Agent SDK正式統合を発表している(Anthropic公式)。Appleエンジニアがアプリ開発でClaude Codeを使うことは、公式に許容された行為だ。偶然ではない、組織的な採用だった。

なぜCLAUDE.mdは本番ビルドに紛れ込んだのか

Hacker Newsの開発者コミュニティが最も議論したのは「Appleほどの企業がなぜ見逃したのか」という点だ。

.gitignoreでは防げない

よくある誤解として「CLAUDE.mdを.gitignoreに書けばいい」がある。これは半分しか正しくない

.gitignoreはファイルをgitリポジトリへコミットしないための仕組みだ。しかしCLAUDE.mdはチームで共有するためにgitへコミットされることも多い(Anthropic公式もこの使い方を推奨している)。コミットされたファイルは.gitignoreの対象外であり、ビルドシステムが明示的に除外しない限り、アプリバンドルに含まれてしまう。

本番ビルドから除外するには、ビルドシステム側での制御が必要だ。

# Xcodeの場合 — Build Phasesで明示的に除外
# "Copy Bundle Resources"フェーズからCLAUDE.mdを削除する
# またはスクリプトフェーズで以下を実行:
find "${BUILT_PRODUCTS_DIR}" -name "CLAUDE.md" -delete
find "${BUILT_PRODUCTS_DIR}" -name "CLAUDE.local.md" -delete

Claude Code自体のリスク

The Registerは2026年1月、「Claude Codeが.gitignoreスタイルのセーフガードを無視する場合がある」と報告していた(出典)。今回の件でこの問題が再び注目されている。AIツールへの依存が増すほど、ビルドパイプラインの人間レビューが重要になるというのが、HNコミュニティの結論だった。

CLAUDE.mdの正しい書き方と管理

Appleの流出を反面教師に、CLAUDE.mdを正しく運用するための基本を整理する。

何を書くか

Anthropicの公式ベストプラクティスによると、CLAUDE.mdに書くべき内容は「Claudeがコードを読んでも把握できないこと」に絞られる。

書くべきこと書かなくていいこと
よく使うコマンド(npm run dev等)一般的な言語規約
プロジェクト固有のアーキテクチャ決定Claudeが読めば分かるコード構造
コードスタイルのローカルルール変更頻度が高い詳細仕様
開発環境特有の注意点(必須env変数等)APIキーや認証情報(絶対禁止)
テスト実行の手順競合に知られると困む内部システム名

ファイルの種類と使い分け

~/.claude/CLAUDE.md        # 全プロジェクト共通ルール(gitには入れない)
./CLAUDE.md                # チーム共有ルール(gitにコミットする)
./CLAUDE.local.md          # 個人設定(.gitignoreに追加して非共有)

CLAUDE.local.md.gitignoreに追加しておくことで、個人的な好みや実験的なルールをチームに強制せずに済む。

長さは200〜300行以内

公式ドキュメントには明確な警告がある。「肥大化したCLAUDE.mdはClaudeが指示を無視する原因になる」。Appleの流出ファイルが実際に何行だったかは不明だが、社内AIシステムの全仕様を詰め込んだものだとすれば、適切なサイズをはるかに超えていた可能性がある。

この事件が示すAI開発の現在地

今回の流出が投げかけた問いは3つある。

1. AIと人間が区別されないサポート体験は許されるか

Juno AIのアーキテクチャでは、ユーザーはAIと話しているのか人間と話しているのかを知らせてもらえない。EU AI ActはAIシステムの透明性開示を義務づけており、日本の個人情報保護法の解釈によっては自動処理の告知が求められる場合もある。Appleがこの設計をどう正当化しているかは、今後の注目点だ。

2. Fortune 500がClaude Codeで「バイブコーディング」している現実

36kr Englishは今回の事件を「大企業がAIコーディングを日常業務に組み込んでいる証拠」と位置づけた(出典)。92.6%の開発者が月1回以上AIコーディングツールを使う時代に、Appleのケースは氷山の一角だ。バイブコーディングが「個人の遊び」から「企業の基幹ツール」になりつつある。

3. CLAUDE.mdは企業の設計思想書だ

ソースコードは難読化できる。しかしCLAUDE.mdは人間が読むために平文で書かれた設計の意図だ。「なぜこのアーキテクチャにしたか」「どのパターンを選ぶか」という判断基準が記されている。今後、CLAUDE.mdファイルは新種の競合インテリジェンス資産として扱われる可能性がある。

CLAUDE.md 本番流出防止チェックリスト
  • CLAUDE.mdにAPIキー・内部システム名・認証情報を書いていない
  • 個人設定はCLAUDE.local.mdに書き、.gitignoreに追加している
  • iOSアプリなら”Copy Bundle Resources”からCLAUDE.mdを除外している
  • CIパイプラインにリリースビルドのCLAUDE.md存在チェックを追加している
  • CLAUDE.mdは200〜300行以内に収めている

Claude Code 最新アップデートを読む

ultrareview・recap・プッシュ通知など2026年5月のClaude Code新機能を解説しています。

Claude Code 5月アップデートを読む →

関連記事

免責事項

本記事の情報はAaron Perris(@aaronp613)のX投稿、Yahoo Tech、BigGo Finance、News9live、BeInCrypto、The Coders Blog、Hacker News等の公開報道に基づく。Apple・Anthropicからの公式声明は本記事執筆時点(2026年5月3日)では確認されていない。CLAUDE.mdの具体的な内容はサードパーティによる分析報道を参照しており、Appleが直接公開した情報ではない。記事内の技術情報は執筆時点のものであり、将来変更される可能性がある。

Share