macOS Tahoeで「アプリが壊れていて開けません」?GatekeeperとQuarantineの完全修復ガイド

macOSTahoe ·
macOS Tahoeで「アプリが壊れていて開けません」?GatekeeperとQuarantineの完全修復ガイド

macOS Tahoe 26.5で発生する「アプリが壊れていて開けません」エラーを修正する方法。Gatekeeper・検疫・公証・新しい「Open Anyway」フローを徹底解説。

ダウンロードしたアプリをダブルクリックしたのに、起動するどころかmacOSに扉を閉められてしまう――「'App'は壊れていて開けません。ゴミ箱に移動してください。」 macOS全体でも指折りの「腹立たしいダイアログ」です。なぜかというと、ほぼ常にこれは嘘だからです。アプリが本当に壊れていることはめったにありません。実際に表示されているのはGatekeeper――Appleのアプリ審査システム――が検証できなかった何かを実行しようとするのを拒否しているだけです。そしてTahoe 26.5(2026年5月11日リリース)ではこの管理がこれまでになく厳しくなっています。macOS Tahoeで「アプリが壊れていて開けません」エラーに遭遇した方に向け、本ガイドではなぜそれが起きるのか、そしてMacのセキュリティを損なわずに安全に修正する方法を丁寧に説明します。

これは「とりあえずこのコマンドを実行すれば解決」という一行記事ではありません。検疫フラグを削除すること自体は30秒でできますが、考えなしに実行することがマルウェアをインストールする原因になります。だからこそ、正しいやり方で進めます。仕組みを理解し、表示されうる3種類のエラーダイアログを解読し、正当なアプリがフラグを立てられる理由を突き止め、そのうえで実際に機能する最もリスクの低い修正を適用します。最終的には、何を入力するかだけでなく、「入力すべきかどうか」まで分かるようになります。

重要ポイント

  • 「アプリが壊れています」は通常、quarantine+署名の問題であり、本物の破損ではありません。 Tahoeはダウンロードされたファイルにcom.apple.quarantine拡張属性を付与し、コード署名や公証チケットを検証できないアプリの起動を拒否します。
  • 3種類のダイアログはそれぞれ異なる問題を示します。「壊れています」(署名の破損・欠落またはApp Translocation)、「開発者を確認できません」(未署名・未公証)、「マルウェアがないことを確認できませんでした」(公証確認を完了できなかった)はそれぞれ原因と修正方法が異なります。
  • まず安全なルートを試してください:システム設定 > プライバシーとセキュリティ > 「このまま開く」。 以前の「右クリック → 開く」によるバイパスはmacOS 15/26世代で削除されました。Appleは現在、この一つの意図的な確認フローを通じてユーザーを誘導しています。
  • xattr -dr com.apple.quarantineのようなTerminalによる修正は機能しますが、セキュリティを低下させます。 quarantineを削除するのは、本当に信頼できるソースから取得した、本当に信頼できるアプリに限定してください。/Applications全体を対象にしたコマンドは絶対に実行しないでください。
  • 最初の手段としてGatekeeperをグローバルに無効にしてはいけません。 spctl --master-disableは古いチュートリアルが主張するような動作をしなくなっており、「すべての場所」オプションはデフォルトで非表示になっています。Mac全体でGatekeeperをオフにすることは、一つのアプリを承認するよりはるかに大きなリスクです。

Gatekeeper・Quarantine・公証とは何か

エラーを賢く修正するためには、それを引き起こす3つの重複するシステムを理解する必要があります。これらの用語は同義で使われることがありますが、アプリ起動時にすべて発火するとはいえ、それぞれ異なるメカニズムです。

Gatekeeper:扉のボーサー

GatekeeperはmacOSのサブシステムで、アプリケーションを初めて開くときにそれを実行してよいかどうかを判断します。ウイルス対策スキャナーではなく、アプリを継続的に監視するわけでもありません。扉でIDを一度だけチェックする門番だと思ってください。新しくダウンロードしたアプリを起動すると、Gatekeeperは2つの質問をします。「このアプリはAppleが認識している開発者によってコード署名されているか?」と「このアプリはAppleによって公証されているか?」です。両方の答えがYesであれば、アプリは問題なく開きます。どちらかがNoであれば、Gatekeeperは起動をブロックし、後述するダイアログのうちの一つを表示します。

GatekeeperのポリシーはデーモンによってEnforceされ、spctl(セキュリティポリシー制御)コマンドラインツールを通じて操作できます。すべてのトラブルシューティングガイドが最終的にspctlを呼び出す理由はここにあります。重要なのは、Gatekeeperが気にするのは「最初の起動」だけだということです。アプリを正常に開くことに成功すると、macOSはあなたの承認を記憶し、それ以降は促してこなくなります。だからこそ、修正はその最初のゲートを通過することに関するものであり、アプリの動作を永続的に変更することではありません。

com.apple.quarantine拡張属性

「quarantine対応」アプリ――Safari、Chrome、Mail、Messages、AirDrop、ほとんどのブラウザやチャットクライアント――を通じてファイルをダウンロードすると、そのアプリはファイルにcom.apple.quarantineという拡張属性のタグを付けます。拡張属性(xattrs)とは、ファイルの実際の内容の一部にはなりませんが、ファイルシステム上でファイルにくっついているメタデータの断片です。quarantine xattrは、そのファイルがMacの外部から来たことを記録する短い文字列で、フラグ、タイムスタンプ、ダウンロードしたエージェント、一意のイベントIDが含まれます。

このイベントIDはLSQuarantineデータベースに紐付いています。これはホームフォルダー内の小さなSQLiteファイル(かつては~/Library/Preferences/com.apple.LaunchServices.QuarantineEventsV2にありました)で、各隔離アイテムの出所を記録します。Gatekeeperのプロンプトに表示される「[日付]に[ウェブサイト]からダウンロードしました」という行の背後にあるデータです。quarantine xattrの存在は、「このファイルは外の世界から来たものだ。実行前に精査せよ」とGatekeeperに伝えるトリガーです。この属性を削除すると、Gatekeeperはそのアプリが最初からMac上に存在していたかのように扱います――だからこそ削除は最も速い修正方法であり、同時に最も判断力を要するものでもあります。

公証:Appleのマルウェア事前スクリーニング

公証はパズルの中で最も新しいピースであり、現代の「壊れています」報告の増加に最も責任があるものです。macOS Catalinaから、AppleはApp Store以外で配布されるソフトウェアを公証済みにすることを要件としました。開発者は署名済みアプリをAppleにアップロードし、Appleの自動サービスが既知のマルウェアをスキャンして適切に署名されているかチェックし、通過すると公証チケットが発行されます。そのチケットはアプリに「ステープル留め」して証明を一緒に配布するか、起動時にGatekeeperがオンラインで取得することができます。

公証済みアプリを開くと、Gatekeeperはチケット――ステープル留めされたものか、Appleのサーバーから取得したもの――を検証し、AppleがこのビルドをチェックしてクリアしたことŸを確認します。チケットが見つからない場合、取得できない場合(オフライン時)、または公証後にアプリが変更された場合(署名が無効になります)、チェックは失敗してブロックされます。公証はApp Reviewではありません。Appleはアプリの品質や目的を精査しているわけではなく、マルウェアの事前スクリーニングと署名の整合性の保証をしているだけです。この違いを理解することが重要です。なぜなら、「マルウェアがないことを確認できませんでした」というメッセージは、多くの場合「Appleに接続してチケットを確認できませんでした」という意味であり、「これはマルウェアです」という意味ではないからです。

3種類のダイアログの解読

この記事で最も有用な内容をここでお伝えします。ダイアログに表示される正確な文言が何が問題かを教えてくれます。何かをする前にダイアログをよく読んでください。ケースによって修正方法が異なります。

ダイアログ1:「'App'は壊れていて開けません。ゴミ箱に移動してください。」

最も怖い響きを持ちながら、最も誤解を招くダイアログです。圧倒的多数のケースで、アプリは壊れていません。このダイアログは通常、以下の場合に表示されます:

  • アプリにcom.apple.quarantine属性があり、かつコード署名の検証に失敗した場合。署名は、アプリが未署名である場合、失効した証明書で署名されている場合、または――正規アプリで最もよくある原因として――署名後にアプリが変更された場合に失敗します。典型的な原因は、拡張属性とシンボリックリンクを正しく保持しないサードパーティの解凍ツールやアーカイブユーティリティが、アプリバンドルを微妙に破損させて署名が一致しなくなるケースです。
  • App Translocation(GatekeeperパスランダムHization)が作動し、その上でほかの何かが問題を起こしている場合。
  • アプリがアーキテクチャの不一致を起こしている場合――たとえばRosetta 2が利用できない(またはもう利用できない)Apple Silicon MacでのIntelのみのバイナリ、または破損したユニバーサルバイナリ。

「壊れています」という表現は、「このアプリはセキュリティまたは整合性チェックに失敗しました。だから柔らかい『このまま開く』ボタンは提供しません」というAppleのキャッチオールです。だからこそこのダイアログでは、友好的なプライバシーとセキュリティのオーバーライドが表示されないことが多く、代わりにTerminalへと誘導されます。

ダイアログ2:「開発者を確認できないため、'App'は開けません。」

これはより穏やかで、より正直な兄弟ダイアログです。アプリが未署名または未公証であることを意味します――Appleには誰が作ったか、マルウェアスクリーニングを受けたかどうかの記録がありません。重要なのは、このダイアログには通常**「ゴミ箱に移動」と「キャンセル」**ボタンが付いており、本当の回避策はダイアログ自体ではなくシステム設定にあります。このダイアログが最もよく表示されるのは、オープンソースツール、ニッチなユーティリティ、またはApple Developer accountを持っていない小規模な開発者のソフトウェアです。公式の「このまま開く」フローを通じて安全に処理するのが最も簡単なケースです(次のセクションで説明します)。

ダイアログ3:「Appleは'App'にマルウェアがないことを確認できませんでした。」

この文言はmacOS 15/26世代に登場し、最も誤解されているものです。Appleがマルウェアを発見したという意味ではありません。Gatekeeperがアプリの公証状態を確認しようとしたが、チェックを完了できなかったことを意味します。一般的な理由は以下のとおりです:

  • MacがオフラインかまたはGatekeeperがAppleの公証サーバーに到達できないほど制限的なファイアウォール/プロキシの背後にある場合。
  • アプリは公証済みだがチケットがステープル留めされておらず、オンライン検索がタイムアウトした場合。
  • システムクロックが間違っている場合(後述)。これにより証明書とチケットの時間有効性チェックが壊れます。

このダイアログもプライバシーとセキュリティの「このまま開く」に誘導します。オンラインであるのにこれが表示される場合、スマートな対応はオーバーライドする前になぜチェックが失敗しているかを調査することです――公証済みアプリはクリーンに通過するはずです。

正規のアプリが「壊れています」と表示される理由

完全に正常なアプリが警告を引き起こす具体的な理由を掘り下げてみましょう。原因を知ることで、どの修正を使うべきかが分かります。

quarantineフラグ自体

これが一番の理由です。完全に正当なアプリをダウンロードし、ブラウザがcom.apple.quarantineタグを付けた場合、アプリの署名が少しでもずれていると、Gatekeeperは「開発者を確認できません」から「壊れています」にエスカレートします。フラグは直接確認できます:

xattr -l /Applications/ExampleApp.app

検疫済みアプリの出力例:

com.apple.quarantine: 0083;6612a3b0;Safari;5F1B2C3D-7A8E-4F90-B1C2-D3E4F5061728
com.apple.macl: [binary data, 72 bytes]

最初のフィールド(0083)はquarantineフラグの値で、続いて16進数のタイムスタンプ、付与したエージェント(Safari)、LSQuarantineデータベースにマップされるイベントUUIDが続きます。xattr -lを実行してcom.apple.quarantine行が全くない場合、quarantineは問題ではなく、署名やアーキテクチャの問題を探すべきです。

App Translocation(GatekeeperパスRandomization)

これは微妙な問題です。悪意のあるアプリが隣に置かれた汚染されたファイルを読み込む攻撃クラスを防ぐために、macOSは検疫済みアプリをトランスローケートします。最初に/Applicationsにドラッグせずにダウンロード場所(Downloadsフォルダや、マウントされたディスクイメージなど)から実行すると、macOSはランダムで読み取り専用の一時マウントポイントから実際の場所の代わりにアプリを起動します。アプリは実際に存在する場所とは異なるパスを見ます。

ほとんどのアプリではこれは見えません。しかし、自分の場所を基準にリソースを見つけることを期待しているアプリや、その場で自動更新を試みるアプリは、混乱する形で壊れます――「壊れています」エラーや起動時クラッシュとして現れることがあります。App Translocationの解決策は恥ずかしいほどシンプルです:アプリをDownloads/DMGから/Applicationsフォルダにドラッグし、そこから起動するだけです。 アプリバンドルを移動するとそのコピーのトランスローケーションがクリアされます。このステップひとつで、ディスクイメージから直接アプリを実行しようとした人からの「壊れています」報告の驚くほど多くが解決します。

macOS TahoeのプライバシーとセキュリティのOpen Anyway

解凍・転送ツールによる署名の破損

コード署名は、ディレクトリ構造、シンボリックリンク、拡張属性を含むアプリバンドルの内容の暗号ハッシュです。バンドル内の何かが署名後に変更されると、署名は一致しなくなり検証が失敗します。日常的な操作がバンドルを静かに破損させることがあります:

  • シンボリックリンクを保持しない、または解凍時にバンドル構造をフラット化するサードパーティのアーカイブユーティリティ。
  • 拡張属性を削除したりシンボリックリンクを壊したりするツールやファイルシステムを介したファイル転送(一部のネットワーク共有、特定のクラウド同期クライアント、FAT/exFAT USBドライブ)。
  • .appバンドル内の手動編集(ファイル名の変更でも)。

これが起きると、元のダウンロードは問題なかったのに「壊れています」と表示されます。ここでの修正はquarantineを削除するだけでは不十分で――Safariを使って公式ソースからアプリを再ダウンロード(バンドルを正しく処理します)するか、開発者自身のビルドの場合はローカルで再署名することです(後述の注意事項付き)。

Apple SiliconとIntelバイナリ

Apple Silicon Mac(M1から最新M系列まで)でIntelのみのアプリを実行しようとすると、macOSはRosetta 2を必要とします。新しいシステムではRosettaがインストールされていない可能性があり、AppleはRosetta 2の段階的廃止を示唆しています――macOS 27の時代にはその利用可能性が大きく変わります。変換できないIntelバイナリや、arm64スライスが欠けている破損したユニバーサルバイナリは、破損のように見える起動失敗として表れることがあります。バイナリが含むアーキテクチャを調べることができます:

lipo -archs /Applications/ExampleApp.app/Contents/MacOS/ExampleApp

ユニバーサルアプリの出力:

x86_64 arm64

Apple Silicon Macでx86_64しか表示されない場合はRosetta 2(またはネイティブビルド)が必要です。Intel Macでarm64しか表示されない場合、そのビルドは単純にそこでは動作しません。Rossettaの終了については、Rosetta 2サービス終了ガイドで詳しく説明しています。

システムクロックの誤りが公証を壊す

これは意外なところで人を引っかけます。証明書の検証と公証チケットのチェックは時間に敏感です――署名証明書が特定の時点で有効であったこと、チケットが有効期限切れでないことを確認します。Macの日時が大きくずれている場合(古いハードウェアのバッテリー切れ、手動で設定した誤った日付、設定ミスのタイムゾーン)、これらのチェックが失敗して「マルウェアがないことを確認できませんでした」や「壊れています」が表示されることがあります。クロックを確認してください:

date

日付がずれている場合は、システム設定 > 一般 > 日付と時刻で修正し、「日付と時刻を自動的に設定」を有効にして、アプリを再試行してください。些細なことに聞こえますが、これは実際に起きる再現性のある原因です。

安全な修正フロー:まずプライバシーとセキュリティから

黄金律はこれです:Terminalに触れる前に、公式で最もリスクの低い方法を試してください。 Tahoeでは、それはシステム設定の「このまま開く」フローを意味します。これはちょうど一つのアプリを承認し、その他のすべてに対してGatekeeperを完全に維持し、信頼するソフトウェアであることを確認する意図的な瞬間を作ります。

ステップ1:アプリを/Applicationsに移動する

アプリがDownloadsにあるか、マウントされたDMGから実行している場合は、まず.appを/Applicationsフォルダにドラッグしてください。これだけでApp Translocationがクリアされ、他に何もしなくても多くの「壊れています」ケースが解決します。その後ディスクイメージをイジェクトしてください。

ステップ2:開こうとしてから、プライバシーとセキュリティを開く

アプリをダブルクリックします。ブロックダイアログが表示されたら**「キャンセル」**をクリックします(「ゴミ箱に移動」はクリックしないでください)。次に:

システム設定 > プライバシーとセキュリティに移動し、セキュリティセクションまでスクロールします。macOSが最近そのアプリをブロックした場合、「'ExampleApp'はMacを保護するためにブロックされました」という行と横に「このまま開く」**ボタンが表示されます。

ステップ3:「このまま開く」をクリックして認証する

**「このまま開く」**をクリックします。macOSはTouch IDまたはパスワードで認証を求め、最終確認を表示します。確認すると、アプリが起動します。それ以降、そのアプリは承認リストに追加され、通常通り開けるようになります。

これは以前の右クリック → 開くのトリックに取って代わったフローです。macOS 14 Sonoma以前では、アプリを右クリックして「開く」を選択すると、一度限りのバイパスダイアログが表示されました。AppleはこのショートカットをmacOS 15/26世代から削除しました。これは、ユーザーが考えずに反射的にGatekeeperをバイパスするのを防ぐためです。プライバシーとセキュリティルートは意図的に遅くなっています――その摩擦こそが機能なのです。このリリースでのセキュリティ設定の変更について詳しくは、macOS Tahoeセキュリティとプライバシーの完全ガイドで再設計されたパネルを詳しく説明しています。

重要: アプリが厳しい「壊れています」ダイアログを表示し、プライバシーとセキュリティに「このまま開く」ボタンが表示されない場合、通常は署名が真に壊れていることを意味します(単に未公証というわけではありません)。Appleは本当に無効な署名に対するGUIオーバーライドを提供していません。まず公式サイトから再ダウンロードしてください。それでも失敗する場合は、以下のTerminalセクションが次のステップです。

Terminal修正とそのリスク

GUIルートが「このまま開く」ボタンを提供しない場合、Terminalが次のツールです。以下のすべては、信頼できるソースから取得した信頼できる特定のアプリに適用した場合のみ安全です。これらのコマンドは指定したターゲットのセキュリティを低下させます――それこそが目的であり、全体のリスクです。

実行前に調査する

常に実行前に確認してください。拡張属性を一覧表示する:

xattr -l /Applications/ExampleApp.app

com.apple.quarantineが存在する場合、quarantineがブロックの原因です。存在しない場合、削除しても助けにならず、問題は署名やアーキテクチャにあります。

quarantine属性を削除する

単一アプリからquarantineを削除するには、バンドル全体にわたって再帰的に(-r)属性を削除(-d)します:

xattr -dr com.apple.quarantine /Applications/ExampleApp.app

成功時に出力はありません。アプリを再起動してください。多くの場合、GatekeeperがそれをもはやMac外部からのものとして扱わないため、すぐに開きます。属性が消えたことを確認できます:

xattr -l /Applications/ExampleApp.app

com.apple.quarantine行がなくなっているはずです。

Terminalでquarantine属性を削除する

これが実際に何をするか、なぜリスクがあるか: quarantine xattrを削除することは、このアプリを外部からのダウンロードとして精査するのをやめるようGatekeeperに指示します。自分でダウンロードした正当なアプリの場合は問題ありません――すでに行った信頼の決定を単に確認しているだけです。しかし、疑わしいサイト、フォーラムのリンク、または「クラックされた」アプリから入手したものに対して盲目的に実行すると、マルウェアを検出できたかもしれない唯一のチェックを解除したことになります。/Applications全体や保証できないアプリに対してxattr -dr com.apple.quarantineを絶対に実行しないでください。 善意のMacユーザーが感染する最も一般的な経路は、Gatekeeperを解除させたいダウンロードページからquarantine削除コマンドをコピーペーストすることです。

壊れたバンドルの再署名(上級者向け、大きな注意事項あり)

quarantineではなく壊れた署名が問題の場合、属性の削除だけでは助けになりません――GatekeeperはまだInvalid署名を検出します。一部のガイドでは、アドホック署名でアプリを強制再署名することを提案しています:

codesign --force --deep --sign - /Applications/ExampleApp.app

--sign -はアドホック署名(本物のアイデンティティなし)を意味し、--forceは既存の署名を上書きし、--deepはネストされたコードに再帰します。

ここは非常に注意が必要です。 これは本当に上級向けで、しばしば間違った答えです:

  • --deepは署名のためにAppleによって非推奨とされており、複雑なアプリでは微妙に壊れた結果を生む可能性があります。これは適切な署名戦略としてではなく、検証の利便性のために設計されました。
  • アドホック再署名は開発者の実際の署名と公証を完全に捨てることになります。あなた自身のマシンの信頼でアプリを保証しており、Appleの信頼ではありません。
  • バンドルが破損している場合(本当の「壊れている」シナリオ)、破損したものを再署名しても修復されません。正しい修正は公式ソースからクリーンなコピーを再ダウンロードすることです。

実際には、再署名は自分のビルドをデバッグする開発者のツールであり、エンドユーザーの解決策ではありません。自分でビルドしていないアプリにcodesign --force --deep --sign -を実行しようとしているなら、止まって代わりに再ダウンロードしてください。

spctlでGatekeeperの判断を確認する

Gatekeeperがなぜ不満を持っているかを理解するには、直接聞いてみましょう。特定のアプリを詳細に評価する:

spctl -a -vvv /Applications/ExampleApp.app

正常な公証済みアプリは次のようなものを返します:

/Applications/ExampleApp.app: accepted
source=Notarized Developer ID
origin=Developer ID Application: Example Developer (AB12CD34EF)

ブロックされたアプリは次のようなものを返す可能性があります:

/Applications/ExampleApp.app: rejected
source=no usable signature

このsource=行が重要です――source=Notarized Developer IDは問題ないことを意味し、source=no usable signatureは署名が壊れているか欠落していることを意味し、「未公証」の理由での拒否はquarantineではなく公証を指しています。Gatekeeper全体のステータスを確認する:

spctl --status

通常は次を出力します:

assessments enabled

App Store外のアプリを扱う

「壊れています」報告の大多数はMac App Store外でインストールされたアプリから来るため、専用の説明が値します。App Storeのアプリはレビューを経て最初から最後まで署名・公証されているため、これらのダイアログを引き起こすことはほぼありません。Webからのアプリこそ、GatekeeperがActivateします。

信頼度の順序で最も安全なソースは:Mac App Store、公証済みダウンロードのある開発者の公式ウェブサイト、そして公式ソースから一般的に入手するHomebrew Caskなどの信頼できるパッケージマネージャーです。ランダムなダウンロードミラー、有料アプリの「無料」バージョン、フォーラムやチャットで共有されたリンクには、はるかに注意が必要です。quarantineを削除することでアプリを起動させられるという事実は、それを安全に実行できるかとは関係ありません。

公証がスクリーニングであり保証ではないことの冷静なリマインダー:公証されたマルウェアがAppleの自動チェックをすり抜けることがあります。有効なApple公証で配布されたMacSyncスティーラーの解説では、Gatekeeperをきれいに通過したアプリでも悪意のある可能性があることを示しています。教訓は「すべてを疑え」ではなく「ソースがダイアログより重要」です。ウェブサイトを信頼しないなら、どんなにきれいに起動しても、ダウンロードを信頼しないでください。より広いセキュリティ強化チェックリストについては、MacセキュリティとプライバシーガイドでGatekeeperと並行して実行する価値のあるツールを説明しています。

macOS Gatekeeper公証フロー図

TahoeでのこれまでのmacOSとの違い

数年前にこの問題と戦ったことがあるなら、プレイブックが変わっています。違いを知ることで、古いチュートリアルを追うのを避けられます。

右クリック → 開くは廃止されました。 macOS 14 Sonoma以前では、アプリを右クリックして「開く」を選択すると一度限りのバイパスダイアログが得られました。AppleはこれをmacOS 15/26世代で削除し、Tahoe 26.5もそれを継続しています。ブロックされたアプリに対して承認された唯一のオーバーライドは、システム設定 > プライバシーとセキュリティの「このまま開く」ボタンです。右クリックして「開く」を指示するチュートリアルは時代遅れです。

「すべての場所」オプションは非表示になっています。 古いmacOSでは、セキュリティとプライバシーペインでGatekeeperを「すべての場所」からのアプリを許可するように設定できました。そのラジオボタンはUIから数年前に削除され、Tahoeでも非表示のままです。コマンドラインを通じて同様の状態を表示させることもできますが、Appleは「すべてを信頼する」姿勢に到達することを意図的に困難にしています。危険だからです。

spctl --master-disableは宣伝通りには機能しなくなりました。 多くの古いガイドでは、Gatekeeperを完全にオフにして「すべての場所」オプションを再表示させるためにsudo spctl --master-disableを実行するよう指示しています。現代のmacOSでは、このコマンドの効果は制限されています。成功と報告するかもしれませんが、Gatekeeper保護(特に公証とトランスローケーションの動作)は、たとえばmacOS 10.14での方法のように完全には無効化されません。System Integrity Protectionと再設計されたセキュリティアーキテクチャは、単一のコマンドがサブシステム全体をクリーンにオフにすることを不可能にしています。spctl --master-disableを中心に構築されたガイドはすべて時代遅れとして扱ってください。

全体的により意図的な摩擦。 Tahoeのアプローチの通底にあるのは意図的な摩擦です。Appleは、未検証のアプリを承認することを、反射的な右クリックではなく、システム設定で行われる意識的かつ認証された決定にしたいのです。この特定のリリースのセキュリティとCVEの全体像については、macOS Tahoe 26.5リリース更新ガイドをご覧ください。

エンタープライズとMDMに関する注記

組織のMacを管理している場合、エンドユーザーにはない選択肢があります。ユーザーにxattrコマンドを実行させるべきではありません。モバイルデバイス管理(MDM)では、マシンごとではなくスケールで信頼を展開できます。プライバシー設定ポリシー制御(PPPC)プロファイルとGatekeeper関連の構成プロファイルをデプロイして、特定の開発者IDを事前承認することができます。これにより、内部配布および承認されたサードパーティアプリがGatekeeperのプロンプトなしに起動します。適切に署名・公証された内部ビルド――社内ツールでも――が正しい長期的な答えです。Developer IDを取得し、内部アプリに署名・公証して、従業員にGatekeeperを解除させるのではなく、ネイティブに通過させてください。

フリート全体のGatekeeper無効化の誘惑を避けてください。組織のすべてのMacを弱いターゲットにし、攻撃者が見つけることを期待している姿勢そのものです。フリート全体で起動時に何が動くかも管理している場合は、Tahoeログインアイテムとバックグラウンドアプリ管理ガイドがGatekeeperポリシーと組み合わせて、何がいつ実行されるかを制御するのに役立ちます。

よくある問題のトラブルシューティング

問題:プライバシーとセキュリティに「このまま開く」ボタンが表示されない

解決策: これはほぼ常に、表示されたダイアログが穏やかな「開発者を確認できません」ではなく、厳しい「壊れています」(署名の破損・欠落)バリアントであることを意味します――AppleはGUIオーバーライドを本当に無効な署名には提供しません。まず、App Translocati0nを排除するためにアプリをDownloads/DMGから/Applicationsに移動し、再度起動を試みてmacOSが新しいブロックを登録するようにしてください。それでもボタンが表示されない場合は、Safariを使って公式サイトからアプリを再ダウンロードしてください。それでも一貫してダウンロードが壊れている場合は、開発者のビルド自体が問題かもしれません。最後の手段として信頼できるアプリにxattr -dr com.apple.quarantineを使用してください。

問題:xattrを実行するとTerminalが「Operation not permitted」と言う

解決策: これはシンタックスではなくパーミッションの問題です。macOSは特定の場所を保護しており、ターミナルアプリにフルディスクアクセスがない可能性があります。システム設定 > プライバシーとセキュリティ > フルディスクアクセスに移動し、ターミナル(Terminal.app、iTerm等)を有効にして、完全に終了して再起動してください。正しいパスを入力したことも確認してください――アプリをターミナルウィンドウにドラッグして正確なパスを挿入できます。アプリが保護された場所にある場合は、まず/Applicationsにコピーしてそこで操作することで制限を回避できます。

問題:アプリが一度開いたが、更新後に再び「壊れています」になる

解決策: これは自己更新アプリがApp Translocationやその更新ツールの壊れた署名と格闘していることを示しています。アプリが/Applicationsにあることを確認してください(Downloadsではなく)。インプレース自己更新ツールはトランスローケートされると誤動作します。アプリが各更新後に自己再検疫する場合、更新ツールがquarantine対応メカニズムで再ダウンロードしている可能性があります。最もクリーンな修正は、アプリを削除し、公式ソースから新しいコピーをダウンロードし、/Applicationsにドラッグし、「このまま開く」で一度承認して、そこから将来の更新を実行させることです。

問題:オンラインなのに「マルウェアがないことを確認できませんでした」が表示される

解決策: まずdateでシステムクロックを確認してください――日付が間違っているとチケット検証が壊れます。次に、AppleのAppleの公証サーバーをブロックするプロキシ、VPN、またはファイアウォールの背後にないことを確認してください。制限的なVPNを一時的に無効にして再試行すると解決することが多いです。spctl -a -vvv /path/to/App.appを実行して正確な判断を確認してください。接続が回復した後spctlがアプリを承認済み/公証済みと報告した場合、元の失敗は純粋にネットワーク/クロックの問題であり、アプリの問題ではありませんでした。

よくある質問

xattrを使ってquarantine属性を削除するのは安全ですか?

信頼できるソースから取得した本当に信頼できる特定のアプリに適用した場合のみ安全です。コマンド自体はシステムに何の害も与えません。リスクはすべて何に向けて使用するかによります。quarantineを削除すると、そのアプリに対するGatekeeperのチェックが解除されます。疑わしいソフトウェアに実行すると、クリーンなMacがどのように感染するかということになります。開発者のサイトからの信頼できるアプリ:問題ありません。ランダムな「クラックされた」ダウンロード:絶対にやめてください。

Gatekeeperを無効にするとマルウェアに感染しますか?

Gatekeeperをシステム全体で無効にすると、露出リスクが劇的に高まります。Gatekeeperは攻撃者が使用する最も簡単なルート――未署名・未公証のコードを実行させること――をブロックします。オフにすると、すべてのダウンロードがチェックなしで実行されます。個人ユーザーがグローバルに無効にする正当な理由はほとんどありません。「このまま開く」で一つのアプリを承認することで、他のすべてに扉を開けることなく目標を達成できます。Gatekeeperはオンのままにしてください。

xattrを実行するとTerminalが「operation not permitted」と言うのはなぜですか?

ターミナルアプリにフルディスクアクセスがないか、システム保護された場所をターゲットにしています。システム設定 > プライバシーとセキュリティ > フルディスクアクセスでアクセスを付与し、ターミナルを有効にして、終了して再起動してください。アプリをターミナルウィンドウにドラッグしてパスが正しいことを確認してください。これはmacOSのプライバシー保護が機能しているのであり、コマンドのバグではありません。

Tahoeでは右クリックの「開く」トリックはまだ機能しますか?

いいえ。AppleはmacOS 15/26世代で右クリック → 開くによる一度限りのバイパスを削除し、Tahoe 26.5もそれを継続しています。ブロックされたアプリを開く唯一の承認された方法は、認証を必要とするシステム設定 > プライバシーとセキュリティの「このまま開く」ボタンです。右クリック → 開くを推奨するガイドは時代遅れです。

昨日動いていたアプリが今日「壊れています」と表示されます。なぜですか?

このパターンに当てはまるいくつかの原因があります:開発者の署名証明書が失効した、アプリ内更新が壊れた未公証のビルドを導入した、更新中にアプリが自己再検疫した、またはシステムクロックがずれてチケット検証が壊れた。まずdateを確認し、次に公式ソースから新しいコピーを再ダウンロードして一度承認してください。繰り返し発生する場合は、開発者に報告してください。

「App Translocation」とquarantineは同じものですか?

いいえ、関連はありますが異なります。Quarantineはファイルをダウンロード済みとしてフラグを立てる属性です。App TranslocationはmacOSがアプリがquarantine済みでダウンロード場所から実行されているためにトリガーする防御的な動作です――サイドロードされたファイル攻撃を阻止するために、ランダムな読み取り専用パスからアプリを起動します。アプリを/Applicationsに移動するとトランスローケーションが止まります。quarantine属性を削除するとフラグが止まります。異なるメカニズム、異なる修正です。

まとめ

macOS Tahoeの「アプリが壊れていて開けません」エラーは、圧倒的に破損の問題ではなく信頼の問題です。Gatekeeper、com.apple.quarantine属性、公証が連携して、検証できないコードをMacが実行するのを防いでいます――そして多くの場合、正当なアプリがquarantineフラグ、App Translocation、不注意な解凍による壊れた署名、アーキテクチャの不一致、またはクロックの誤りによってこれらに引っかかります。ダイアログを読んで3つの問題のうちどれに当てはまるかを確認し、まずプライバシーとセキュリティの公式「このまま開く」ルートを試み、xattr、spctl、codesignは何を犠牲にするかを理解したうえでのみ使ってください。何より覚えておくべきルールはひとつ:アプリの安全性はどれだけきれいに強制起動できるかではなく、そのソースから来ています。

Macを正しい方法でロックダウンすることについては、2026年のMacセキュリティとプライバシーガイドとmacOS Tahoeセキュリティとプライバシーの完全ガイドに進んでください。