AppleのXcode 27 Beta Release Notesは、Coding Intelligence、外部Agent、MCPに関する機能を案内しています。2026年9月20日時点ではXcode 27をベータ版として扱う必要があるため、症状が「Agentに本番環境まで触らせるのが怖い」なら、最も早い解決策は、独立したリモートMacで試し、署名ノードを別にすることです。
企業CIへ導入するなら、Xcode 27 AI Agentをいきなり本番署名ノードへ置かないでください。読み取り専用コード、制限付きMCP、非本番ビルド、人による承認を組み合わせ、証跡を確認してから権限を広げる設計が安全です。
このページが向いている人
企業プラットフォームチームには、開発者へ統一されたXcode 27 AI Agent環境を提供するための境界を示します。セキュリティチームには、プロジェクトファイル、コマンド、外部ツールの許可範囲を整理します。
開発責任者には、リリース経路を壊さずにAI支援開発を試すための判定基準を示します。
まず分けるべき4つの実行領域
Xcode内蔵のCoding Intelligence、外部Agent、MCP、CI Runnerは同じものではありません。Coding IntelligenceはXcode内の開発支援機能、外部AgentはXcodeへ接続して作業する主体、MCPはツールやコンテキストを接続する仕組み、CI Runnerはビルドやテストを自動実行する実行基盤です。
XcodeのCoding Intelligence設定では、利用するインテリジェンス機能の設定が扱われています。一方、外部Agentの接続はXcodeへの外部Agentアクセス設定として別に管理します。したがって、Agentを許可したことだけで、CIや署名まで許可したことにはなりません。
| 実行領域 | 許可しやすい操作 | 初期段階で拒否する操作 | 配置先 |
|---|---|---|---|
| 開発支援 | コード閲覧、説明、限定的な編集 | 本番ブランチへの直接変更 | 開発用リモートMac |
| Agent・MCP | 指定ディレクトリの読み取り、検証コマンド | 任意のシェル、秘密情報の取得 | 分離された作業ノード |
| CI Runner | 一時ブランチのビルド、テスト、ログ保存 | 配布、公開、署名鍵の操作 | 非署名CIノード |
| 署名・公開 | 承認済み成果物への署名 | AgentによるKeychain操作、無承認アップロード | 専用署名ノード |
Appleの外部インテリジェンスに関するデバイス管理制限も確認し、組織の管理プロファイルとXcode側の設定が矛盾しないようにします。
シナリオ別のリモートMac試験
開発者が対話的に使う場合
リモートMacは、VNC、SSH、Webコンソールのいずれかで開発者が利用できます。最初から共有の本番Macへ接続するのではなく、プロジェクトの複製、専用キャッシュ、分離ログを持つ独立ノードを割り当てます。
プロジェクトディレクトリは、次の3層に分けると管理しやすくなります。
- 読み取り層:基準ブランチ、依存関係定義、設計資料
- 作業層:Agentが変更する一時ブランチと生成ファイル
- 証跡層:プロンプト、変更差分、コマンド、ビルドログ、テスト結果
開発者の操作性を優先して広い権限を与えると、Agent経由の変更も広がります。SSHのログイン権限とMCPのツール権限を同じ扱いにせず、どの経路から何ができるかを個別に記録してください。
コード変更をCIへ渡す場合
Agentが生成した変更は、直接CIの既定ブランチへ送らず、一時ブランチまたはレビュー用の変更として扱います。CI Runnerはその変更を取得し、ビルド、テスト、診断結果を保存します。
Xcodeのコマンドラインツールリファレンスに沿って実行コマンドを固定し、任意のシェルスクリプトを自由に追加できないようにします。テスト結果の扱いはビルドとテスト結果の解釈に関するAppleの資料と照合します。
| 検証対象 | 合格条件 | 不合格時の処理 |
|---|---|---|
| ビルド | 指定したスキームと構成で完了する | 変更差分とログを保管し、キューから隔離 |
| テスト | 対象テストの結果を再現できる | Agentの修正を自動反映せず、人が確認 |
| プレビュー・診断 | 生成物と診断情報を取得できる | Xcodeや依存関係の差異を調査 |
| 監査 | プロンプト、変更、実行者、時刻を追跡できる | 試験を停止し、証跡欠落の原因を確認 |
注意:Xcode 27のベータ機能を確認するための試験と、顧客へ配布する本番ビルドは、同じRunnerで兼用しないでください。機能確認に失敗した場合でも、従来の署名・配布経路へ戻せる状態を残します。
MCPとファイル権限の境界
MCPは便利な接続手段ですが、接続しただけで完全な端末制御を意味するわけではありません。実際の危険度は、公開するツール、作業ディレクトリ、ネットワーク送信先、資格情報へのアクセスをどう設定するかで変わります。
次のように、権限を段階化してください。
| 権限レベル | ファイル | コマンド | ネットワーク | 判定 |
|---|---|---|---|---|
| A | コードと設定の読み取り | 構文確認、検索 | 既定の依存関係先のみ | まず許可 |
| B | 一時ブランチへの書き込み | ビルド、テスト | 許可リストのみ | 監査付きで許可 |
| C | 生成物の署名 | 配布関連コマンド | 配布先を限定 | 人の承認後のみ |
| D | Keychain、秘密鍵、公開操作 | 任意の管理コマンド | 制限なし | Agentには拒否 |
企業が管理するMacでは、Agentに見せるディレクトリをワークスペース以下に限定し、秘密情報を環境変数へ無造作に展開しないことが重要です。Appleの外部Agentを拡張する公式ドキュメントも確認し、利用する拡張機能ごとに必要な権限を洗い出します。
署名ノードの拒否条件
署名と公開は、AI Agentの利便性よりも回復性と監査性を優先する領域です。Agentが次の操作を要求した場合、試験環境では拒否する設計にします。
- 本番Keychainの読み取り、証明書や秘密鍵のエクスポート
- 配布用プロファイルの無断変更
- 承認前のアーカイブ署名やストアへのアップロード
- CIノードから社内全体へ向けた任意のSSH接続
- ログに含まれるトークン、Cookie、秘密情報の外部送信
- 既定ブランチ、リリースタグ、署名設定の直接変更
署名処理をどうしても自動化する場合は、短時間だけ有効な資格情報、専用ユーザー、承認済み成果物のハッシュ照合を組み合わせます。コード署名の作業単位は、AppleのCode Signing Tasksを基準に、組織の監査要件へ合わせて確認してください。
5段階の導入手順
- 試験範囲を決めます。 対象プロジェクト、利用者、許可するXcode機能、停止条件を文書化します。Xcode 27はベータ版として扱い、本番の標準ツールチェーンと混在させません。
- 独立したリモートMacを用意します。 既存の共有Runnerや署名ノードと、作業ディレクトリ、ログ、アカウントを分けます。必要に応じてMac miniレンタルの構成も比較対象にします。
- AgentとMCPの権限をAまたはBから始めます。 読み取りと一時ブランチへの書き込みに限定し、Keychain、秘密鍵、任意のネットワーク接続を許可しません。
- CIキューを非本番に固定します。 Agentの変更はレビュー用ブランチへ送り、ビルド、テスト、診断、ログ保存を順番に実行します。
- 署名なしの成果物を人が確認します。 変更差分、プロンプト、実行コマンド、テスト結果、依存関係の差分を確認してから、必要な場合だけ署名工程へ渡します。
- 証跡を基に判定します。 成功したタスクだけでなく、権限拒否、失敗したビルド、手動修正、ログ欠落も記録します。異常が再現できない場合は、権限を広げずに試験を止めます。
試験後は、機能、隔離、監査、回 rollback、費用の5軸で評価します。成功率だけを見て拡大すると、失敗時の復旧作業やレビュー負荷を見落とします。許容できない権限逸脱が1件でも起きた場合は、拡大ではなく二重運用へ戻す判定が妥当です。
チーム拡大時の判定表
| 判定 | 満たす条件 | 次の対応 |
|---|---|---|
| 拡大 | 権限逸脱なし、証跡完全、レビュー負荷が許容範囲 | 開発用ノードと対象チームを段階的に追加 |
| 二重運用 | 機能は有効だが、ベータ差異や手動確認が残る | 既存CIを本番として維持し、Agent側を限定継続 |
| 停止 | 署名境界の逸脱、再現不能な変更、ログ欠落 | Agent接続を解除し、原因と復旧手順を検証 |
企業向けの運用では、ノードの払い出し、root権限、データ消去、返却時の確認も試験計画に含めます。SSHMacのヘルプセンターで提供条件を確認し、実際の組織ポリシーと照合してから非本番ノードを割り当ててください。
よくある判断
リモートMac上でXcode 27 AI Agentを動かすこと自体は可能ですが、ベータ版の機能確認と本番署名を同じ場所で行うべきではありません。Apple Siliconが必要かどうかは、対象Xcode、依存関係、シミュレーター、社内ツールの対応状況を検証して決めます。
外部モデルとの接続を検討する場合は、ソースコード、ログ、プロンプトがどこへ送信されるかを確認します。MCPはアクセス経路を統一できますが、ファイルやコマンドの許可を自動的に安全化するものではありません。
現在の開発環境が手元のMacだけの場合、端末ごとの差異、開発者の離脱時のデータ回収、CI用端末の占有が問題になります。固定購入は長期に安定した負荷や物理機器が必要な場合に向きますが、試験期間やチーム人数が読めない場合は、Macレンタルで独立ノードを先に切り出す方が、撤退条件を設計しやすい場合があります。
今回の用途では、個人Macの共有、単一の本番Runner、署名鍵を置いたままのAI Agent運用が現実的な弱点になります。これらは権限の追跡、故障時の切り分け、試験終了後のデータ消去を難しくします。SSHMacのリモートMacなら、まず非本番ノードを週単位または月単位で用意し、root権限、接続方法、ノード分離を確認してからチームCIへ進める構成を検討できます。
本番の署名ノードを置き換えるのではなく、失敗しても既存CIへ戻せる検証環境として使うことが、今回の導入で最も重要な条件です。必要であれば、提供条件を確認したうえで一台の非本番リモートMacから試験を始めてください。