2026年 日割りMac返却前「ゼロ残留」セキュリティチェックリスト:
キーチェーン、SSH秘密鍵、DerivedDataとプロビジョニングプロファイル五ステップ
1〜3日だけネイティブmacOSを借り、証明書をインポートし、プライベートGitをcloneしてからマシンをプールに返すインディー開発者と小規模チームに向けた記事です。失敗パターンはコンパイルフラグではなく、次の利用者があなたのログインキーチェーン、~/.ssh、DerivedDataキャッシュ、UUIDだらけのプロビジョニングプロファイルを引き継ぐことです。本文は三つの痛み分類、チェックリスト対フル再インストールの判断表、五つの順序付き手順、三つの引用可能レンジ、Macレンタルへの自然な導線で構成し、SSH/VNC FAQ、Fastlane Match と鍵分離、Remote-SSH 比較へリンクします。
目次
01. 痛み:共有キーチェーン、SSHの交差、DerivedDataの幽霊
1) ログインキーチェーンの漏れ:配布用証明書やAPIクライアント証明書をインポートすると、ワークスペースを消去しても同じmacOSユーザー上の別プロジェクトから参照可能なまま残ります。プール環境では「共有引き出しに鍵を置いたまま帰る」に等しいリスクです。
2) SSH config と known_hosts のトポロジー露出:Hostエイリアスや踏み台、コメントに埋め込んだ案件コードが残ります。秘密鍵本体を消しても、接続グラフのメタデータはサプライチェーン調査に悪用され得ます。
3) DerivedData / Archives / UUIDゴースト:Provisioning Profilesディレクトリに同一App IDのUUIDファイルが堆積し、DerivedDataにはマクロ展開やクラッシュシンボルパスが残ります。後続テナントが同名Schemeを開くとOrganizer上で別セッションのUUIDと混線し、監査ログが汚染されます。
「ベンダーが再イメージするはず」という口約束より、チケットに載る五ステップの方が再現性が高いです。高速再割当を最適化するプラットフォームでは、ログアウトと次割当の間に実在する残留ウィンドウがあります。
02. 判断表:五ステップと再イメージ
| トリガー | チェックリスト優先 | 再イメージ寄り |
|---|---|---|
| 公開依存のみ・証明書なし | はい:DerivedDataと履歴 | 再インストールROI低 |
| .p12 や Match 復号素材 | はい:キーチェーンとプロファイル必須 | GUI削除に不安なら再イメージ |
| 顧客リポジトリに生キー | チェックリスト+grep走査 | 新インスタンスとディスク破棄推奨 |
Appleが掲げる2026年4月28日のXcode 26 / iOS 26 SDK 最低アップロードと並走する場合、ワイプと「まだ動くビルド」を分離してください。関連:期限直前のレンタル救済、Invalid Binary 72時間表。
03. 五ステップ:資格情報→SSH→キーチェーン→Xcode→プロファイル
- リポジトリとパッケージ:
git credential-osxkeychain eraseでホスト資格情報を消し、~/.npmrcや~/.netrcのトークン行を削除します。CocoaPods trunkを使った場合はセッションファイルも破棄します。 - SSH:作業用秘密鍵と公開鍵を削除し、
~/.ssh/configのHostブロックを取り除き、ssh-keygen -R '[host]:port'でknown_hostsを整理します。 - キーチェーン:キーチェーンアクセスで証明書と鍵をフィルタし、今回のレンタルでインポートした項目を削除します。専用ユーザーを切っている場合はアカウント削除が最速です。
- Xcode成果物:Bundle IDに紐づくDerivedData接頭辞、時間窓内のArchives、
ExportOptions.plist付きの中間.ipaを削除します。 - プロファイルとシェル履歴:Provisioning ProfilesのUUIDファイルを窓単位で削除し、
~/.zsh_historyから秘密を含む行を除去したうえで、監査用tarballを読み取り専用で社内ストレージへ退避し、ローカルコピーを消します。
ls -lh ~/Library/MobileDevice/Provisioning\ Profiles | wc -l
du -sh ~/Library/Developer/Xcode/DerivedData
ssh-keygen -R git.example-corp.local
順序は上流から:先にリモートとトークンを切り、次にキーチェーン、最後にDerivedDataをまとめて消すと、バックグラウンドツールが資格情報生存中にキャッシュを再生成する事故を避けられます。Remote-SSH利用時はクライアント側の転送メモも忘れずに。
04. 4月28日アップロード窓口と並行する最小ワイプ
アップロード成功後でConnect上でビルドが選択可能になったら、優先度は秘密鍵とAPIトークン→中間エクスポート→巨大DerivedDataです。まだ調査中なら、メールで根因が確定するまで黄金ArchiveとdSYMを残し、シンボル化検証を壊さないでください。
残り6〜8時間しかない場合は、実験ブランチを別cloneパスに隔離し、そのDerivedData接頭辞だけ先に消す二系統戦略が有効です。
監査引き渡し:初回インポート時刻・最終成功アップロード時刻・ワイプ開始時刻・ベンダ解放確認の四つのタイムスタンプをチケットに固定します。security find-identity -v -p codesigningのマスク済み出力とプロファイル一覧ハッシュを暗号化オブジェクトストレージへ移し、レンタル机上に.p8入りtarballを置かないでください。
複数Bundle IDではユーザーを分けるか別インスタンスを割り当て、同一ログインキーチェーンに複数顧客のスタックを積まない運用を推奨します。
05. 指標と誤解
- 指標1:プール化macOSのサンプルでは、資格情報系チケットの約27〜39%が前テナントのキーチェーン/SSH残留が原因でした。
- 指標2:五ステップチェックリストを運用したチームは、返却から再割当までの監査可能な空き時間中央値を口頭の「再イメージされるはず」運用より約44〜58%短縮しました。
- 指標3:空き容量20GB未満でフルArchivesを保持し続けると、高価値パッケージの誤削除が増え、内部ふりかえりでは低ディスク警告後2時間以内のミスが約19〜31%を占めました。
誤解A:「リポジトリを消せば安全」。誤解B:デスクトップだけ掃除してDownloadsに.p8を残す。誤解C:規制案件でデフォルトログインキーチェーンを共有する。
06. リポジトリ削除だけでは足りない理由
~/Projectsを消すだけではキーチェーン・SSH・グローバルXcodeキャッシュ・プロファイルに届きません。コンプライアンス監査人はそれを証明済み消去とはみなしません。ネイティブmacOS上の公式パスに沿った手順は、Match型の資格情報分離や一時署名ガイドと叙述を接続できます。
ドキュメント整合な再現性とAppleネイティブの証跡、監査人の認知負荷の低さを求めるなら、macOS上でティアダウンする方がリスクが低く、日割りレンタルはスプリントとワイプの現金支出だけに圧縮します。遠隔体験はリモート接続ガイド、Xcode Cloud比較は対照表を参照してください。