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サポート担当者 |
assistant | AI(Juno AI) |
この3者はすべて同一のメッセージ処理パイプラインを流れる。「今あなたが話しているのはAIか人間か」をユーザーに通知する仕組みは、CLAUDE.mdに記述されている設計上、存在しない。
Swift実装の詳細
CLAUDE.mdにはSwiftの実装指針も記述されていた(News9live)。
- Swift actors — チャットモジュールの並行処理
- AsyncStream — AIレスポンスのストリーミング配信
- Keychain storage — セッション情報の永続化
SupportAssistantAPIProvider— AIバックエンドとのAPI接続レイヤー
コンパイルフラグとしてJUNO_ENABLEDとDEV_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に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新機能を解説しています。
関連記事
- バイブコーディング入門|AIに「雰囲気」で指示する開発手法の光と影
- Claude Code 5月アップデート|/ultrareview・/recap・プッシュ通知完全ガイド
- Claude Codeソースコード流出事件の全貌
本記事の情報はAaron Perris(@aaronp613)のX投稿、Yahoo Tech、BigGo Finance、News9live、BeInCrypto、The Coders Blog、Hacker News等の公開報道に基づく。Apple・Anthropicからの公式声明は本記事執筆時点(2026年5月3日)では確認されていない。CLAUDE.mdの具体的な内容はサードパーティによる分析報道を参照しており、Appleが直接公開した情報ではない。記事内の技術情報は執筆時点のものであり、将来変更される可能性がある。