運用者は静かな macOS セキュリティパッチのあと「OpenClaw が壊れた」と責めがちですが、実際には Transparency, Consent, and Control が、先月移動したゲートウェイバイナリの画面収録やアクセシビリティを黙って取り消していることが多いです。本プレイブックは症状を権限の表面にマッピングし、(1) 最初に開く設定ペインと (2) SSH と VNC のどちらを優先するかの 2 つの判断マトリックス、JSON-LD にも写した 7 つの HowTo 手順、インシデントメモに貼れる FAQ、そして doctor と総合インストールガイドへのリンクをまとめます。
TCC は「ユーザー体験の摩擦」と「監査可能性」の両方に効きます。エンタープライズでは MDM の PPPC ペイロードで先回りできる一方、クラウド上の専用 Mac を少人数で運用するチームは、対話的な再承認と VNC を前提にした Runbook がないと週末アップグレードのたびに同じ調査を繰り返します。本稿の HowTo は JSON-LD の HowTo ステップと 1 対 1 で対応させてあるので、社内ポータルに構造化データをそのまま再利用できます。
OpenClaw のようなゲートウェイでは、「チャットの応答が返る」ことと「ツールパイプラインが権限付きで動く」ことが切り離されがちです。画面収録や AX ベースの UI 操作は後者に依存するため、会話レイテンシだけを見て緑判定すると、本番トラフィックだけが静かに失敗する穴が空きます。スモークは必ず失敗していたツール呼び出しで行い、チャット成功だけで安心しないでください。
症状を TCC のバケツにマッピングする
- スクリーンショットや UI ストリーム系のツール呼び出しが即失敗し、ログにエンタイトルメント系のエラー → 画面収録。
- AppleScript や AX ベースの自動化が空のツリーを返すのにゲートウェイプロセスは生存 → アクセシビリティ。
- 特定の Library パスへのワークスペース読み取りが OS バンプ後に急に拒否 → 正確なヘルパーバイナリへのフルディスクアクセス(シェルだけでなく)。
症状の分類を誤ると「とりあえず再起動」ループに入ります。まず Console で tccd の拒否を時間で絞り、どのサービス名が繰り返し出るかを確認してください。画面収録とファイルアクセスは併発しやすいため、マトリックス A の第 2 ペインも早めに覗く価値があります。
マトリックス A — 最初に開く設定ペイン
| 主要シグナル | 第 1 ペイン | 第 2 ペイン | 収集すべき証拠 |
|---|---|---|---|
| ピクセルバッファ API 失敗 | 画面収録 | ファイルとフォルダ | 直近 1 時間の tccd 拒否を Console でフィルタ |
| AXUIElementCopyAttributeValues エラー | アクセシビリティ | 自動化 | タイムスタンプ付きで失敗 AX クエリを 3 件サンプル |
| 保護パス上の EPERM | フルディスクアクセス | ローカルネットワーク | 要約ではなく拒否された正確な POSIX パス |
マトリックス B — 修復チャネルとリスク
| チャネル | TCC プロンプトをクリック可能 | 監査に強い | 優先する場面 |
|---|---|---|---|
| SSH のみ | ✗ | ✓ | プロンプトが既に消えたあとのログ追跡と plist 編集 |
| VNC グラフィカルセッション | ✓ | ✓ | アップグレード直後の初回復旧。詳細は VNC ガイド |
| MDM 宣言型 PPPC ペイロード | N/A | 最良 | 全フリートのエンタープライズ。カナリアでは doctor で検証を |
フリート全体を MDM で揃えられない場合でも、少なくとも「カナリア 1 台+本番プール」でパッチ時刻をずらすと、TCC 再承認の手順を週末ではなく平日の窓で検証できます。VNC は「画面を見る」だけでなく、システムが出すシートに署名するための監査証跡としても扱い、セッション録画ポリシーと衝突しないか法務に確認してください。
7 つの HowTo 手順を運用者向けに膨らませる
手順 1 では設定を触る前に doctor 診断 を走らせ、幽霊追いを避けます。手順 2 では macOS が一覧に出す正確なバイナリ名を読みます。Homebrew の更新はバイナリを移しがちで、LaunchAgent は古いパスを指したままになり、TCC エントリは存在して見えるのに効かない状態を生みます。
手順 3 は地味なトグル作業です。古いエントリを外し、新バイナリを一度対話的に起動し、権限を付け直し、plist のパスを Git に固定します。手順 4 はアップグレード後の初回復旧では必須です。SSH は「システム設定を開く」シートをクリックできません。手順 5 で doctor を再実行し、JSON 出力を macOS ビルド番号の横にアーカイブして監査人が追えるようにします。
手順 6 は launchctl bootout のあと bootstrap を優先し、kill -9 だけで済ませないでください。TCC 状態と Mach サービスの整合性が保たれます。手順 7 は以前失敗した無害なツールを呼び出します。チャットの遅延だけでは検証しないでください。チャットは成功してもツールパイプラインはブロックされたままという分裂が起きます。
初回インストール時は macOS 総合インストール のパス記述と突き合わせ、誤ったヘルパーバイナリを承認していないか確認してください。NodeMac ホストではカスタムプレフィックスを使うこともあるため、ローカル Mac の Homebrew パスをそのまま写して承認すると再発します。
「昨日まで動いた」はほぼ常にパス不一致
macOS は TCC 許可を inode と Team ID の組に結び付けます。マーケティング名ではありません。brew の更新でユニバーサルバイナリが移ると、古いトグルはオンに見えるのに、実際に動いているプロセスは同意を受けていない別ファイル、という状態になります。だからオフに戻すのが効くのです。設定 UI を、/opt/homebrew など、いま起動した実体パスに再バインドさせます。
ゲートウェイ実行ファイルと特権読み取りを行うヘルパーの両方を文書化してください。CLI ラッパーだけ承認して LaunchAgent がネストした Node バイナリを使っていると、アクセシビリティが不足したままになります。doctor が緑でも本番トラフィックのコードパスを調べていないことがあります。
チームが忘れがちな定量化ガードレール
- 再承認 SLA: macOS セキュリティ対応ロールアウトの 24 時間以内に TCC スモークを完了。
- 証拠パック: インシデントチケットに Console 抜粋を少なくとも 2 本と doctor JSON を 1 本添付。
- カナリアホスト: リージョンごとにステージング用 Mac mini を 1 台、本番より 24 時間早くパッチ。
ヒント: どのゲートウェイビルドがどのコード署名 Team ID に対応するかを文書化し、セキュリティレビューで開発者署名のナイトリーと本番署名を取り違えないようにしてください。
HowTo 運用チェックリスト(現場向け)
- 変更前に現在の TCC 画面のスクリーンショットを取得(カテゴリ単位)。
- VNC でログインできるバックアップオペレータをアップグレード当日に割り当てる。
- launchd のラベルと plist の SHA256 を変更管理に登録する。
- ツール失敗率のメトリクスをアップグレード前後 48 時間比較する。
- ロールバック手順に「直前の macOS ビルドへ戻す」ではなく「TCC 再承認だけで戻す」を明記する。
FAQ
プライバシー設定のリセットは他アプリを壊すか?
削除したエントリにだけ影響します。カテゴリごとに作業し、コンプライアンスでロールバックが必要なら変更前に設定画面を記録してください。
NodeMac のリージョンによって TCC の挙動は変わるか?
いいえ。HK・JP・KR・SG・US のホストは同じ macOS ビルドを走らせますが、レイテンシはオペレータが VNC でプロンプトをクリックするまでの速さに影響し、ウォッチドッグがサービスを再起動する前に間に合うかが変わります。
初心者は最初にどこを読むべきか?
ヘルプセンターで SSH の基本を押さえ、最初のアップグレード週末のあとにここへ戻ってください。
LaunchAgent の plist パスと TCC の承認対象がずれたときの典型症状は?
設定ではオンに見えるが実行中プロセスは別ファイルで同意されていない状態です。古いエントリをオフにし、新パスを一度起動してから plist を Git で固定してください。
ゲートウェイのバージョンが変わっていないのに macOS のマイナー更新後にツールが失敗するのはなぜか?
Apple がバイナリの再署名やパス変更に伴い TCC エントリをリセットまたは厳格化することがあるためです。システム設定に表示される正確なバイナリに対して再承認し、古いエイリアスではなく実体パスを対象にしてください。
TCC の衛生管理は、各 Mac mini M4 を本気の自動化ノードとして扱う一部です。Apple Silicon でも Apple のプライバシーモデルは免除されません。ネイティブ macOS のゲートウェイには、再現可能な修正のための SSH と、人間が承認しなければならないプロンプトのための VNC の両方が要ります。香港・日本・韓国・シンガポール・米国で 専用 Mac mini M4 をレンタルすれば、開発者の私物ノートプロファイルと承認が衝突しにくくなります。アップグレードが来たら神秘論ではなく文書化された TCC マトリックスで勝ち、アップグレード前にカナリアと本番フリートをリージョンごとに分けたい場合は 料金 を開いて比較してください。