权限 · App Signatures

检查你的 Mac 应用是否已签名并经过公证

App Signatures 会检查“应用程序”文件夹中每个应用的代码签名,找出未签名、签名时没有开发者身份、未经 Apple 公证或签名后被改动的应用,并解释每项发现的含义。它与 codesign 和 Gatekeeper 做的检查相同,只不过一次覆盖所有应用。

macOS 26 Tahoe 或更高版本 · 无需信用卡 · 一切都在你的 Mac 上运行

代码签名能告诉你什么

Mac 应用的代码签名有两个作用。它通过 Apple 颁发给开发者的证书说明应用是谁制作的,并对应用内容加封,因此签名后被改动的任何文件都会破坏这个封印。公证则增加了第三层保障:开发者把这个确切的版本提交给了 Apple,Apple 在发布前对其进行了恶意软件扫描。

当你第一次打开下载的应用时,Gatekeeper 会用到以上所有信息,它通过浏览器为下载内容添加的隔离标记来识别这类应用。从磁盘复制过来的应用,或由会丢掉该标记的工具解压的应用,可能根本没有经过这项检查。

如何自己验证应用的代码签名

在“终端”中,可以用以下命令检查单个应用:

  • 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 这一行就表示该应用已经过公证。

这样只能检查一个应用。App Signatures 则对所有应用一次完成。

App Signatures 检查什么

点击 Check Apps,Tidy My Mac 会读取 /Applications 和你自己的 ~/Applications 文件夹中的每个应用,包括下一级文件夹中的应用,例如 Utilities 中的应用。它会完整验证每个签名、每种架构和每个资源文件,因为这样才能发现签名后被改动的应用。整个过程大约需要一分钟。

属于 macOS 的应用(例如 Safari)会被排除在外:受封印的系统卷已经保证它们没有被改动。

每个应用会归入一个类别。值得你留意的类别列在下面:

发现含义
签名已损坏应用在开发者签名之后被改动过,或者签名格式有误。被注入恶意软件的应用是这种情况,破解版也是。此外,一些会在自身内部写入文件的应用也会如此,但这是无害的;从开发者处重新安装即可解决这种情况。
未签名没有任何信息说明它是谁制作的,也没有信息表明它未被改动。
无开发者身份使用临时签名(ad hoc),没有开发者证书,因此没有任何信息说明它是谁制作的。这在开源构建版本中很常见,在付费应用的破解版中也很常见。
未经公证使用 Developer ID 签名,因此 Apple 知道开发者是谁,但 Apple 从未对这个版本进行过恶意软件检查。
异常签名使用了 Apple 不用于分发应用的证书进行签名,例如开发证书。

其余所有应用会统计在一行摘要中:来自 Apple、来自 Mac App Store,以及来自其版本已获 Apple 公证的开发者的应用。如果没有需要你留意的内容,卡片上会这样说明。

属于这五个类别之一、同时又没有隔离标记的应用,会被标记为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 自行验证,因此会被排除在外。你安装到“应用程序”中的 Apple 应用(例如从 App Store 安装的)则会被检查并计入统计。

免费试用每个板块 7 天。

只需邮箱,无需信用卡。之后首年 $19.99,再往后每年 $59.99。

开始免费试用