macOS「アプリが破損しています」警告:原因と修正方法

macOS「アプリが破損しています」警告:原因と修正方法

Apple macOS Gatekeeper4分で読了

なぜこの警告が表示されるのか?

macOSは悪意のあるソフトウェアからユーザーを保護するためにGatekeeperと呼ばれるセキュリティメカニズムを使用しています。Gatekeeperは、インターネットからダウンロードされたアプリケーションにApple Developer証明書で署名されていることを要求します。アプリが署名されていないか、Appleによって公証されていない場合、macOSはそれを「破損」とマークします。

OpenGnothiaはオープンソースで無料のプロジェクトです。Apple Developer Programの会員資格は年間99ドルかかり、ボランティア主導のオープンソースプロジェクトにとって持続可能ではない場合があります。そのため、アプリケーションは現在Apple証明書で署名されていません。

この警告は、アプリケーションが実際に破損しているか悪意があることを意味するものではありません。これはmacOSがインターネットからダウンロードされたすべての未署名のアプリケーションに表示する標準的なセキュリティ警告です。OpenGnothiaのソースコードは完全にオープンで、GitHubでレビューできます。

macOS Gatekeeperとは?

GatekeeperはmacOSの組み込みセキュリティ機能の一つです。macOS Catalina(10.15)以降、セキュリティポリシーはさらに強化されています。Gatekeeperは3つのレベルで動作します:App Storeからダウンロードされたアプリ(最も信頼度が高い)、確認された開発者からの署名済みアプリ、不明なソースからのアプリ。

インターネットからファイルをダウンロードすると、macOSはファイルにcom.apple.quarantine(拡張属性)と呼ばれる特別な属性を追加します。アプリを最初に開くとき、Gatekeeperはこの属性をチェックし、アプリケーションの信頼性を評価します。

未署名のアプリの場合、Gatekeeperは2つの異なる警告を表示する場合があります:「[アプリ]は悪意のあるソフトウェアかどうかをAppleでは確認できないため、開けません」、またはより深刻な「[アプリ]は壊れているため開けません。ゴミ箱に入れる必要があります。」2番目の警告はmacOS Ventura以降で特に一般的です。

解決策:ターミナルで隔離属性を削除する

この問題を修正するには、macOSがファイルに追加した隔離属性を削除するだけです。この操作は安全で、ダウンロードされたファイルの隔離フラグをクリアするだけです。

ステップ1:ターミナルアプリケーションを開きます。Command + Spaceを押してSpotlightを開き、「Terminal」と入力してEnterを押します。

ステップ2:以下のコマンドをターミナルに貼り付けてEnterを押します:

xattr -cr /Applications/OpenGnothia.app

アプリをアプリケーションフォルダに移動しておらず、まだダウンロードフォルダにある場合は、代わりにこのコマンドを使用してください:

xattr -cr ~/Downloads/OpenGnothia.app

ステップ3:コマンドを実行した後、OpenGnothiaを通常通り開くことができます。アプリケーションは問題なく動作します。

コマンドは何をするのか?

xattrコマンドはmacOSでファイルの拡張属性を管理するために使用されます。コマンドのフラグの意味は以下の通りです:

-cフラグ:ファイルからすべての拡張属性をクリアします(clear)。これにはcom.apple.quarantine属性が含まれます。

-rフラグ:サブフォルダにも操作を適用します(recursive)。.appファイルは実際にはフォルダ構造であるため、すべてのサブファイルもクリアする必要があります。

このコマンドはファイル属性のみを変更します — アプリケーション自体やシステム設定には影響しません。使用しても完全に安全です。

代替方法:システム設定

ターミナルを使いたくない場合は、macOSのシステム設定から問題を解決することもできますが、この方法は常に機能するとは限りません。

ステップ1:OpenGnothiaを開こうとして警告を受け取ります。

ステップ2:システム設定 > プライバシーとセキュリティに移動します。

ステップ3:ページの下部付近に「OpenGnothiaは確認された開発者のものではないため、使用をブロックされました」というようなメッセージが表示されます。その横にある「このまま開く」ボタンをクリックしてください。

ステップ4:もう一つの確認ダイアログが表示されます — 「開く」をクリックしてください。

注意:「破損しています」の警告が表示されている場合、この方法は機能しない場合があります。その場合は、ターミナルの方法を使用する必要があります。

よくある質問

xattrコマンドを実行しましたが、まだ開けません。どうすればいいですか?正しいファイルパスを使用していることを確認してください。ターミナルでls /Applications/を実行して、OpenGnothia.appがその場所に存在することを確認してください。また、DMGファイルからアプリをアプリケーションフォルダにドラッグしたことを確認してください。

これは安全ですか?はい、xattr -crコマンドはファイルから隔離属性を削除するだけです。アプリケーションのコードやシステムのセキュリティ設定は変更されません。OpenGnothiaはオープンソースであり、すべてのソースコードはGitHubでレビューできます。

アップデートのたびにこれを行う必要がありますか?はい、インターネットから新しいバージョンをダウンロードするたびに、macOSは新しい隔離属性を追加します。そのため、各アップデート後にxattrコマンドを再度実行する必要があるかもしれません。

WindowsやLinuxでもこの問題は発生しますか?いいえ、この問題はmacOSのGatekeeperメカニズムに固有のものです。WindowsやLinuxではこの警告に遭遇しません。