
ターミナルで ls -l@ コマンドを実行して、ファイルに付加されている拡張属性を確認すると、一部のファイルに com.apple.quarantine 属性が付いていることがあります。この属性の意味や削除方法を知りたい場合は、この記事で確認できます。
com.apple.quarantineとは
com.apple.quarantineは、インターネットからダウンロードしたファイルやアプリ、メールの添付ファイル、App Store以外の入手先から取得したファイルなどに付加される拡張属性です。Google Chrome、Safari、メールなど、ファイルのダウンロードや受信に使用したアプリやサービスによって設定されます。
この属性が付いたアプリやファイルを初めて開こうとすると、開く操作の確認を求めるメッセージが表示され、macOSによって安全性を確認するためのセキュリティチェックが実行されます。具体的には、次の処理が行われます。
警告メッセージ: com.apple.quarantine属性が付いたファイルやアプリを開くと、macOSは入手元を知らせるメッセージを表示し、開いてもよいか確認します。
Gatekeeperによる確認: 開くことを確認すると、Gatekeeperがアプリの開発元の署名を検証します。識別された開発元またはMac App Storeから提供されたアプリであることを確認し、コードが変更されていないかどうかもチェックします。
XProtectによるスキャン: Gatekeeperの確認を通過すると、XProtectがマルウェア定義を使用して、既知の悪意あるコンテンツが含まれていないかスキャンします
com.apple.quarantine属性を確認する方法
com.apple.quarantineはファイルではないため、ディスク上に開いて確認できる物理的な場所があるわけではありません。ただし、ターミナルで次のコマンドを実行すれば、特定のファイルにcom.apple.quarantine拡張属性が付いているかどうかや、その属性が付いたファイルを確認できます。
ファイルやアプリにcom.apple.quarantine拡張属性が付いているか確認するには、次のコマンドを実行します。属性が付いている場合は、その値が表示されます。
xattr -p com.apple.quarantine file_path

ディレクトリまたはアプリ内のどのファイルにcom.apple.quarantine拡張属性が付いているか確認するには、次のコマンドを実行します。
cd folder/app_name
find . -xattrname com.apple.quarantine
注: ファイルやフォルダのパスを取得するには、対象をターミナルに直接ドラッグ&ドロップするのが簡単です。

com.apple.quarantineを削除する方法
com.apple.quarantine属性は重要なセキュリティ機能ですが、次のようなエラーが表示され、開発元が未確認のアプリを開けないことがあります。
- 開発元が未確認のため、アプリを開けません。
- 開発元を確認できないため、アプリを開けません。
- 「*」はコンピュータに損害を与える可能性があります。ゴミ箱に移動してください。
- macOSは、このアプリにマルウェアが含まれていないことを確認できません。
ファイルやアプリのcom.apple.quarantine属性を手動で削除するには、ターミナルで次のコマンドを実行します。
xattr -d com.apple.quarantine file_path
たとえば、次のように入力します。xattr -d com.apple.quarantine /applications/rstudio.app

com.apple.quarantine属性を再帰的に削除する場合は、代わりに次のコマンドを実行します。
xattr -r -d com.apple.quarantine folder_path
たとえば、次のように入力します。xattr -r -d com.apple.quarantine /applications/steam.app
コマンドが機能しない場合や、「xattr: [Errno 13] Permission denied:」というエラーが表示される場合は、コマンドの前にsudoを付け、管理者権限で実行してください。たとえば、sudo xattr -d com.apple.quarantine /applications/visual studio code.appのように入力します。この場合は管理者パスワードを入力してEnterキーを押してください。(パスワードを入力しても、画面には表示されません。)
ヒント: xattrコマンドの詳しい使い方を確認するには、ターミナルでman xattrを実行してください。
com.apple.quarantine属性の削除方法を、ぜひ他の方にも共有してください。
No such xattr: com.apple.quarantine?

xattr -d com.apple.quarantine または xattr -p com.apple.quarantine コマンドを実行してファイルの com.apple.quarantine 属性を削除または確認する際、ファイルにその属性が設定されていない場合は、ターミナルに No such xattr: com.apple.quarantine と表示されます。
表示例:
- xattr: /Applications/LICE.app: No such xattr: com.apple.quarantine
- xattr /opt/homebrew/bin/chromedriver: No such xattr com.apple.quarantine
- xattr /applications/visual studio code.app: No such xattr com.apple.quarantine
- xattr: chromedriver: No such xattr: com.apple.quarantine
com.apple.quarantine 属性を復元する方法
削除した com.apple.quarantine 属性を後から復元したい場合は、以下のコマンドを使用できます。
xattr -w com.apple.quarantine "Vaule" /path/to/your/file_or_app
属性の値を控えていない場合は、以下の例にある値を入力できます。
iBoysoft Data Recovery というアプリに com.apple.quarantine 属性を復元するには、次のコマンドを実行します。
xattr -w com.apple.quarantine "0081;5f186d1d;Chrome;" /Applications/iBoysoft\ Data\ Recovery.app

この記事が役に立った場合は、ぜひシェアしてください。