当你尝试打开从 App Store 之外下载的应用程序时,你的 Mac 可能会阻止它,并显示类似“macOS 无法验证此应用程序是否不含恶意软件”的警告。根据你的 macOS 版本,你可能还会看到“开发者无法验证”或“未识别的开发者”等消息。
有时,这只是 Apple 严格的安全机制在发挥作用。但另一些时候,这是一个真正的危险信号。下面介绍如何判断你遇到的是哪一种情况,以及如何在必要时安全地绕过该错误。
什么是“macOS 无法验证此应用程序是否不含恶意软件”错误消息?
简而言之,此消息意味着该应用程序已被 Apple 的 Gatekeeper 过滤器标记。Gatekeeper 是 macOS 中包含的一项安全技术,旨在确保只有受信任的软件才能在用户的 Mac 上运行。那么,它是如何工作的呢?
了解 Gatekeeper 和公证
Gatekeeper 主要检查应用程序是否经过“公证”。当用户从 App Store 以外的来源下载并打开应用程序、插件或安装包时,Gatekeeper 会执行检查,以确保该程序来自已识别的开发者。它还会确保该程序没有被篡改,并经过 Apple 公证,不包含已知的危险材料。
什么是公证?也很简单。要使应用程序获得公证,开发者需要将其发送给 Apple。然后,该公司会执行一些检查,以确保该应用程序不会构成安全威胁。如果一切正常,Apple 会生成一个哈希代码,该代码存储在 macOS 本身中。当你下载应用程序时,如果它经过公证,macOS 会将其哈希与它为该应用程序存储的哈希进行比较。如果哈希匹配,则应用程序打开。最重要的是,此过程无需任何用户输入即可发生,从而保护你,即使你甚至没有意识到它的存在。
值得注意的是,即使应用程序通过了公证,也不能百分之百保证安全。公证只是表明该应用程序在提交给 Apple 时未包含已知的恶意软件。然而,恶意软件的开发者总是在寻找新的方法来绕过安全措施。因此,用户保持警惕并采取额外的安全预防措施仍然很重要。
“macOS 无法验证此应用程序是否不含恶意软件”:出现此错误的常见原因
如果哈希不匹配会怎么样?嗯,发生这种情况的原因有很多。让我们分别检查每一个原因。
- 下载已损坏:这是一种非常罕见的情况。如果应用程序未正确下载,其哈希将与存储在 macOS 中的哈希不同,并且它将无法打开。在这种情况下,即使 Gatekeeper 和公证不存在,该应用程序也可能无法运行。这是因为,如果下载已损坏,应用程序运行所需的文件将损坏甚至丢失。
- 实际的安全威胁:显然,该应用程序很可能确实是恶意软件。在这种情况下,你可以放心,Gatekeeper 阻止了任何严重的事情发生在你的 Mac 上。
- 你的安全设置:默认情况下,macOS 配置为仅允许安装来自 Mac App Store 的应用程序。如果你不更改此设置,即使是合法的应用程序也将无法通过 Gatekeeper 检查。因此,将为任何外部下载的应用程序显示“macOS 无法验证此应用程序是否不含恶意软件”消息。
- 未经公证的合法应用程序:由于某种原因,一些开发者可能更喜欢不对其应用程序进行公证。有些人认为 Apple 进行公证过程的方式过于局限。例如,最近一篇文章中推荐的窗口管理器 AeroSpace 就是这种情况。
- 需要有风险权限的应用程序:最后,一些合法的应用程序可能需要 Apple 认为风险过高且不会批准的权限。然后,开发者甚至没有选择对其应用程序进行公证。
我应该忽略该消息吗?禁用 Gatekeeper 安全吗?
这两个问题的答案都是“视情况而定”。你是否信任开发者,知道该应用程序不是威胁,并且可以安全地假设该警告是过度的?那就继续吧。如果不是,最好谨慎行事,让 macOS 处理这件事。
需要注意的是,如果应用程序来自你信任的来源,并且你确信它是安全的,那么绕过 Gatekeeper 的保护是可以接受的。然而,如果你不确定应用程序的来源或其安全性,最好不要冒险并让 Gatekeeper 阻止它。
如何修复“macOS 无法验证此应用程序是否不含恶意软件”? 该怎么办?
正如我指出的那样,你需要首先确认该应用程序是否安全。如果不是,唯一可能的行动方案是摆脱它。然而,即使它是合法的应用程序,也需要考虑一些方面。
首先,你需要检查它是否没有打开可能被实际恶意软件利用的漏洞。然后,有一些行动方案。我们将在下面详细介绍每一个。
确保你下载的应用程序是安全的
强调不要让不安全的应用程序绕过 Gatekeeper 检查的重要性怎么强调也不为过。这可能会使你的文件面临风险,并导致各种麻烦,包括密码盗窃甚至财务问题。此外,恶意软件很可能会自我复制并感染其他计算机。
在决定允许应用程序绕过 Gatekeeper 的保护之前,请务必进行研究。阅读评论,查看开发者网站,并确保你正在下载的应用程序来自信誉良好的来源。如果你有任何疑虑,最好谨慎行事,不要安装该应用程序。
绕过单个应用程序的 Gatekeeper:4 种方法
如果你 100% 确定该应用程序是安全的,那么有几种方法允许它打开。每一种方法都有优点和缺点,请在下面查看。
1. 右键单击应用程序(最简单的方法,但有限制)

根据你的 macOS 版本,你可以右键单击(或按住 Control 键然后单击)该应用程序以打开它。从上下文菜单中选择打开,它应该会启动。

此方法有两个主要限制。首先,它基于每次使用的情况,因此每次打开应用程序时都需要执行该过程。其次,较新的 macOS 版本可能不支持此功能。在我的测试中,我无法在 macOS 15 Sequoia 中以这种方式运行未经公证的应用程序。
2. 更改隐私和安全设置(永久修复)

更永久的修复涉及系统设置应用程序。所有操作都应在隐私和安全窗格中执行。
你需要打开安全下拉菜单。从App Store更改为App Store 和已知的开发者。这样,从 App Store 以外下载的经过公证的应用程序将正常打开。
此外,当你尝试打开未经公证的应用程序时,你将看到一个只有两个按钮的对话框。可用的选项完成和移到废纸篓似乎没有留下太多选择。

但是,如果你单击完成,你仍然可以在系统设置 > 隐私和安全中绕过 Gatekeeper。你将看到一条消息,提示该应用程序已被阻止以保护你的 Mac。
单击仍然打开,然后在出现的对话框中单击仍然打开,然后输入你的密码。该应用程序现在应该可以正常打开。

此方法的主要缺点是,对于每个新的未经公证的应用程序,它都涉及打开系统设置。此外,对话框中的按钮可能会让你认为你根本无法打开该应用程序。
好消息是,此方法是永久性的。对于任何给定的应用程序,当你以这种方式绕过 Gatekeeper 时,你将不再需要这样做。
3. 使用终端绕过 Gatekeeper

如果你更喜欢使用终端并避免浏览无数的菜单和对话框,那么还有另一种选择。只需使用以下命令:
sudo xattr -rd com.apple.quarantine /Path/to/Your.app
系统会提示你输入密码。之后,该应用程序将始终正常打开,就像你使用了上一种方法一样。
4. 使用 Homebrew 安装应用程序
对于终端粉丝来说,另一种选择是在可能的情况下使用 Homebrew。Homebrew 是一个包管理器,类似于 Linux 发行版中使用的 APT 或 Pacman。在安装过程中,Homebrew 会自动执行上一种方法,从而节省你一些时间。
例如,AeroSpace 的开发者建议用户通过 Homebrew 安装该应用程序。这样,它不仅绕过了 Gatekeeper,还获得了自动更新。
在 macOS 中系统级禁用 Gatekeeper
所需时间:5 分钟
最后,你可以完全禁用 Gatekeeper。这是一个非常危险的过程,不是因为它复杂,而是因为它的影响。执行此操作后,如果你打开一个未经公证的应用程序,你将不会看到任何类型的警告。因此,你将更容易受到恶意软件的攻击,因此最好在此之后多加注意。
-
在终端窗口中,键入
sudo spctl --master-disable
并按 Return。 - 输入你的密码。你将看到一条消息,提示你需要在系统设置中确认更改。
-
转到系统设置 > 隐私和安全。在安全下,下拉菜单中将出现一个新选项:任何来源。
- 选择此选项将再次提示你输入密码。之后,你会看到一个关于禁用 Gatekeeper 风险的最终恐吓对话框。确认你的选择,就完成了。

禁用 Gatekeeper 可能会让你摆脱“macOS 无法验证此应用程序是否不含恶意软件”消息。但是,它也会让你面临一些相当大的风险。与往常一样,这是一个安全与便利的问题,由你来决定哪个最重要。
除了禁用 Gatekeeper 之外,还有其他方法可以提高 Mac 的安全性。确保你已安装最新的安全更新,使用强密码,并对敏感数据启用双重身份验证。通过采取这些步骤,你可以帮助保护你的 Mac 免受恶意软件和其他威胁的侵害。