
ターミナルで 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

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