macOSのquarantine属性、xattrで一発で消せる

  • macOS
  • Security
  • CLI

この記事は、構成と文章の整理にAIを使っています。
あくまで読みやすくするための補助で、内容そのものをAIにすべて任せて書いているわけではありませんが、ところどころ相談しながら整えています。

Web経由でダウンロードしたファイルを開こうとすると「開発元を確認できないため開けません」って出ることがある。あれはGatekeeperがcom.apple.quarantineという拡張属性を見て判断してるだけらしい。属性自体を消せば警告は出なくなる。

ターミナル
xattr -d com.apple.quarantine download.zip

xattrは拡張属性を扱うコマンドで、-dは指定した属性の削除。対象はdownload.zip。

中身

  • ダウンロード元のアプリ(ブラウザとか)が、外部から来たファイルにcom.apple.quarantineを自動で付与する
  • Finderでダブルクリックした時、この属性があるとGatekeeperが警告を出す
  • 属性をxattr -dで消せば、以降は普通に開ける

気をつけること

  • そもそも出所が怪しいファイルに対してこれをやるのは本末転倒。quarantine自体は正当なセキュリティ機構なので、信頼できるファイルにだけ使うべき
  • zipファイル自体の属性を消しても、解凍後のフォルダやファイルには別途属性が付いてる場合がある。再帰的に消したいなら-rが要る
ターミナル
xattr -dr com.apple.quarantine 展開後のフォルダ
  • 対象がそもそも属性を持ってない場合はNo such xattr: com.apple.quarantineって怒られる