macOSのxattrコマンドでBinanceクライアントの隔離属性を解除する手順
ブラウザからダウンロードしたBinanceの .dmg ファイルをダブルクリックしてマウントし、アプリを起動しようとすると、macOSで「開発元が未確認のため、Binance.app を開けません」という警告が頻繁に表示されます。原因は、Gatekeeperがファイルに隔離マーク(Quarantine)を付けているためです。システム設定で「このまま開く」をクリックする以外にも、コマンドラインの xattr ツールを使用して解決することができます。本記事ではその使い方を明確に解説します。クライアントのダウンロードはまず Binance公式サイト または Binance公式アプリ へアクセスしてください。iPhoneへのインストールは iOSインストールチュートリアル をご覧ください。
隔離属性とは何か
macOSにおける「com.apple.quarantine」はファイル拡張属性(xattr)の一種であり、ブラウザやメールアプリがファイルをダウンロードする際に自動的に追加されます。これはGatekeeperに対して「このファイルはインターネットからダウンロードされたものであり、初回起動時には厳格なチェックが必要である」と伝えます。
ファイルの署名が検証され、Appleによって公証されている場合、Gatekeeperはユーザーに一度確認を求めた後、実行を許可します。署名がない、または検証に失敗した場合、実行は直接拒否されます。
Binance macOSアプリの署名状況
BinanceのmacOSクライアントにはDeveloper ID署名があり、Appleの公証も受けているため、理論上Gatekeeperは正常に開くことを許可するはずです。しかし、以下のような状況では依然としてブロックされることがあります:
- macOS 13以降で「アプリケーションはシステム設定で明示的に許可する必要がある」というより厳格なポリシーが有効になっている場合
- 特定の環境でDMGファイルを転送した際に署名情報が失われた場合
- ユーザーがApple系以外のブラウザ(BraveやFirefoxなど)でダウンロードした場合、Gatekeeperの処理プロセスがわずかに異なるため
これらの状況では、xattrコマンドが代替手段となります。
システム設定で許可する(推奨)
最も安全な対処手順は、コマンドラインを使用しない方法です:
- Binanceアプリをダブルクリックし、「開けません」というダイアログを確認する
- 「ゴミ箱に入れる」はクリックせず、「キャンセル」をクリックする
- 「システム設定」 → 「プライバシーとセキュリティ」を開く
- 一番下までスクロールし、「Binance.appの使用がブロックされました」という表示を確認する
- その横にある「このまま開く」をクリックする
- 確認のポップアップが表示されるので、ユーザーパスワードを入力する
- その後はアプリをダブルクリックするだけで直接起動できます
この方法がAppleによって最も推奨されており、最も安全です。
xattrコマンドを使用する方法
コマンドラインに慣れている場合は、xattrを使用して1ステップで隔離属性を削除できます:
- ターミナルを開く(アプリケーション → ユーティリティ → ターミナル)
- コマンドを入力する(具体的には
xattr -d com.apple.quarantineの後にアプリの完全なパスを続けます。例:/Applications/Binance.app) - Enterキーを押して実行する
- コマンドが成功した場合、何も出力されません
- アプリをダブルクリックすれば正常に起動します
操作のポイント:
- アプリのパスは完全に記述する必要があります。Finderからターミナルにドラッグ&ドロップすると自動入力されます
- アプリがユーザーディレクトリではなくアプリケーション(Applications)フォルダにある場合、sudo権限が必要になることがあります
- コマンド自体がファイルを破損させることはありません
コマンドの応用的な使い方
xattrは他にもいくつかの関連する操作を行えます:
- ファイルにどのような拡張属性があるかを確認する
- ディレクトリ内のすべてのファイルの隔離マークを再帰的に削除する
- ファイルにカスタム拡張属性を追加する
一般ユーザーは隔離マークの削除さえできれば十分であり、その他の使い方は主に開発者向けです。
操作のリスク
隔離属性を削除することの副作用:
- Gatekeeperの「初回起動時の確認」プロセスをスキップしてしまう
- 「開発元は...」というポップアップのプロンプトが表示されなくなる
- ユーザーが署名情報を確認するように誘導されなくなる
肯定的な影響:
- ファイルを破損しない
- アプリのその後のアップデートに影響しない
- デジタル署名の検証に影響しない(署名は依然として有効)
もしアプリの出所が信頼できる(Binance公式サイトからダウンロードした)と100%確信できるなら、xattrを使用してもリスクはありません。出所が不明な場合は、xattrを使って無理に開かないでください。
xattrが適用できないケース
xattrは「開発元が未確認」という警告のみを処理できます。以下のケースには対応できません:
- macOSの起動セキュリティポリシーが、未署名のカーネル拡張機能をブロックした場合
- ユーザーアカウントに管理者権限がない場合
- ファイル自体が破損している場合(隔離属性だけの問題ではない)
- macOS 13以降の「セキュリティポリシーの引き下げ」により、再起動してリカバリーモードに入るよう求められる場合
これらの状況では、別の方法で解決する必要があります。
SIPとxattrの関係
System Integrity Protection(SIP)はAppleのシステムレベルの保護機能であり、rootユーザーであっても特定のディレクトリを変更できないように制限します。xattrとSIPは別々のメカニズムです:
- xattrはファイルのメタデータを変更する(ユーザー権限の範囲内)
- SIPはシステムディレクトリと署名検証インフラを保護する
一般ユーザーはSIPを無効にしないでください。より大きなリスクをもたらす可能性があります。
コマンドのエイリアスと簡略化
xattrを頻繁に使用するユーザーは、~/.zshrcにエイリアス(alias)を設定できます。例えば、「unquar」を隔離属性削除のxattrコマンドのエイリアスにすることができます。ただし、以下の点に注意してください:
- エイリアスは現在のユーザーのシェルに対してのみ有効です
- sudoで実行する場合、エイリアスは機能しません(完全なコマンドを記述する必要があります)
操作でエラーが出た場合の対処
| エラーメッセージ | 対処法 |
|---|---|
| Operation not permitted | sudoを追加して再試行する |
| No such xattr | ファイルに元々隔離マークがないため、操作は不要 |
| No such file | パスの記述ミス |
| Permission denied | ファイル権限の問題、chownで修正する |
長期的な推奨事項
最も安定しているのは、システム設定 → プライバシーとセキュリティから行う方法です。理由は以下の通りです:
- 操作が直感的で、コマンドを覚える必要がない
- Appleが将来的にxattrによる特定の保護属性の変更を制限する可能性がある
- 誤操作のリスクが低い
xattrは、偶発的な特殊ケースでのみ使用してください。
FAQ
Q:xattrの操作により、Binanceの自動更新機能が失われますか? A:いいえ。自動更新はアプリ内のロジックで実行されるため、隔離属性とは無関係です。
Q:Binanceをアップデートした後、再度xattrを実行する必要がありますか? A:通常は必要ありません。アプリ内でのアップデートでは、隔離マークが再付与されることはありません。
Q:Applications(アプリケーションフォルダ)内のすべてのアプリを一括処理できますか? A:技術的には可能ですが、出所が確実なアプリのみを処理することをお勧めします。
Q:どのブラウザでダウンロードすると隔離属性が付きますか? A:Safari、Chrome、Firefox、Edge、Braveなど、ほぼすべての主要なブラウザで追加されます。