権限 · App Signatures

Mac のアプリが署名・公証されているか確認する

App Signatures は、「アプリケーション」フォルダ内のすべてのアプリのコード署名を調べ、署名がないもの、開発者の ID なしで署名されたもの、Apple による公証がないもの、署名後に変更されたものを見つけて、それぞれが何を意味するかを説明します。codesign と Gatekeeper と同じチェックを、すべてのアプリに対して一度に行います。

macOS 26 Tahoe 以降 · クレジットカード不要 · すべて Mac 上で実行

コード署名でわかること

Mac アプリのコード署名には2つの役割があります。Apple が開発者に発行した証明書によって、誰がそのアプリを作ったかを示し、アプリの中身を封印するので、署名後に変更されたファイルがあれば封印が破れます。公証(notarization)はそこに3つ目を加えます。開発者がその特定のビルドを Apple に送り、Apple がリリース前にマルウェアをスキャンしたということです。

Gatekeeper は、ダウンロードしたアプリを初めて開くときに、これらすべてを使います。ブラウザがダウンロードに付ける隔離マークで、ダウンロードしたものだと判断します。ディスクからコピーしたアプリや、マークを落とすツールで展開したアプリは、このチェックをまったく受けていない可能性があります。

アプリのコード署名を自分で確認する方法

ターミナルで、次のコマンドを使うと1つのアプリを確認できます。

  • codesign --verify --verbose=2 /Applications/Example.app は、署名が有効で、アプリが変更されていないことを確認します。
  • codesign -dvv /Applications/Example.app は、開発者の Team ID を含め、署名者を表示します。
  • spctl --assess --type execute -vv /Applications/Example.app は、Gatekeeper がそのアプリを許可するかどうかとその理由を尋ねます。source=Notarized Developer ID という行があれば、そのアプリは公証されています。

これは1つのアプリの場合です。App Signatures なら、すべてのアプリでそれを行います。

App Signatures がチェックする項目

Check Apps をクリックすると、Tidy My Mac は /Applications とご自身の ~/Applications フォルダ内のすべてのアプリを読み込みます。ユーティリティのように1階層下にあるアプリも対象です。署名後に変更されたアプリを見つけるために、すべてのアーキテクチャとすべてのリソースファイルについて、各署名を完全に検証します。所要時間は約1分です。

Safari のように macOS の一部であるアプリは対象外です。封印されたシステムボリュームによって、変更されていないことがすでに保証されているからです。

各アプリは1つのカテゴリーに入ります。注意すべきものは次のとおりです。

検出内容意味
Broken signature開発者が署名した後にアプリが変更されたか、署名の形式が正しくありません。アプリに仕込まれたマルウェアはこのように見え、クラック版も同様です。自分自身の内部にファイルを書き込む一部のアプリも、無害ながらこうなります。その場合は、開発者から再インストールすれば解決します。
Not signed誰が作ったのか、変更されていないのかを示すものが何もありません。
No developer identity開発者証明書なしの ad hoc 署名なので、誰が作ったのかを示すものがありません。オープンソースのビルドや、有料アプリのクラック版でよく見られます。
Not notarizedDeveloper ID で署名されているので、開発者は Apple に知られていますが、Apple はこのビルドのマルウェアチェックをしていません。
Unusual signature開発用証明書など、Apple がアプリの配布に使わない証明書で署名されています。

それ以外はすべて、Apple 製のもの、Mac App Store のもの、Apple が公証したビルドの開発者のものとして、まとめの行に集計されます。注意が必要なものがなければ、カードにその旨が表示されます。

これら5つのカテゴリーのいずれかに入り、かつ隔離マークもないアプリには、Never checked by Gatekeeper のタグが付きます。Gatekeeper の目に触れない経路で Mac に届いたということだからです。署名が壊れている場合は、その行に、何が問題かについての macOS 自身の説明も表示されます。

検出されたときの対処

検出は、調べるきっかけであって、マルウェアの証拠ではありません。見覚えのないアプリや、開発者以外から入手したアプリなら、Scan with Antivirus で、その行からそのアプリに対してアンチウイルスを直接実行でき、虫眼鏡で Finder に表示できます。信頼しているアプリの署名が壊れている場合は、開発者から再度ダウンロードしてください。削除したいときは、Uninstallerが残りのファイルもまとめて削除します。

Gatekeeper 自体の設定は、Security Settingsのスコアの一部です。

App Signaturesに関するよくある質問

ターミナルで spctl --assess --type execute -vv に続けてアプリのパスを入力して実行し、source=Notarized Developer ID があるかを確認します。App Signatures は、Mac 上のすべての Developer ID アプリに同じチェックを行い、公証されていないものを一覧にします。

必ずしもそうではありません。署名後にアプリが変更されたという意味です。仕込まれたマルウェアやクラック版はそのように見えますが、自身のファイルを変更する正規のアプリもあります。開発者から入手して信頼できるアプリなら再インストールし、そうでなければアンチウイルスでスキャンしてください。

codesign -s - などで、証明書なしで作られる署名です。アプリの中身は封印されますが、誰が作ったかについては何も示しません。多くのオープンソースアプリや自作アプリがこの方法で署名されており、元の署名を取り除かれた有料アプリのクラック版も同様です。

macOS の一部であるアプリは、macOS 自身が検証する封印されたシステムボリュームにあるため、対象外です。App Store などから「アプリケーション」にインストールした Apple 製アプリは、チェックされて集計されます。

すべてのセクションを7日間無料でお試しください。

必要なのはメールアドレスだけで、クレジットカードは不要です。その後は、最初の1年間が$19.99、2年目以降は年間$59.99です。

無料トライアルを始める