com.apple.quarantineを削除する方法:「そのようなxattrはありません」と表示される場合

日本語 English Français Deutsch Español Português

com.apple.quarantine

ターミナルで 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属性が付いているか確認する

ディレクトリまたはアプリ内のどのファイルにcom.apple.quarantine拡張属性が付いているか確認するには、次のコマンドを実行します。

cd folder/app_name

find . -xattrname com.apple.quarantine

 注: ファイルやフォルダのパスを取得するには、対象をターミナルに直接ドラッグ&ドロップするのが簡単です。

フォルダ内のcom.apple.quarantine属性が付いたファイルを確認する

com.apple.quarantineを削除する方法

com.apple.quarantine属性は重要なセキュリティ機能ですが、次のようなエラーが表示され、開発元が未確認のアプリを開けないことがあります。

ファイルやアプリのcom.apple.quarantine属性を手動で削除するには、ターミナルで次のコマンドを実行します。

xattr -d com.apple.quarantine file_path

たとえば、次のように入力します。xattr -d com.apple.quarantine /applications/rstudio.app

Macでcom.apple.quarantine属性を削除する方法

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?

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

削除した com.apple.quarantine 属性を復元する方法

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