# Gatekeeper、XProtect 与公证：macOS 真正拦下了什么——又漏掉了什么

> Apple 在每台 Mac 中内置了三层真实、有文档记载的恶意软件防御。Apple 自己的安全指南也坦率地说明了这些防线并不承诺拦截的东西。

HisnLabs Security & Research Team · Published 2026-08-26
Canonical: https://hisnlabs.com/zh/blog/gatekeeper-xprotect-de-juxian

值得了解一下 macOS 已经在为你做什么——用直白的话，直接取自 Apple 自己的安全文档；同样重要的是，Apple 自己说这些系统并非为哪些事情而设计。

## 三道防线

- Gatekeeper 会在应用首次打开前检查它是否由已知开发者签名，对于来自 App Store 之外的应用，还会检查 Apple 是否已对其公证。
- 公证意味着 Apple 在应用发布前扫描过其中是否含有已知恶意软件，并且之后可以撤销这一批准——Apple 在后台检查撤销记录的频率远高于常规软件更新的运行频率。
- XProtect 使用基于签名的规则（独立于完整的 macOS 更新进行更新），在应用启动、发生变化或新签名到达时检测并清除已知恶意软件——外加一个针对它从未见过的恶意软件的行为分析引擎。

## Apple 自己承认这些系统做不到的事

Apple 自己的文档把这描述为分层防御，而不是保证：它明确指出 XProtect 基于签名的规则仍可以不断扩展以捕获变种——这意味着（安全研究人员早已证实）一个真正新出现或经过修改的威胁，可以在对应签名存在之前运行一段时间。

这并不是在批评 Apple 的做法；每一个主流操作系统都面临同样的取舍：是立即拦截已知威胁，还是等到确认一个新威胁确实有害之后再标记它。它只是提醒我们，不要把“我的 Mac 有 Gatekeeper 和 XProtect”当作关于什么可以安全运行这场讨论的终点。

这三个系统都不会检查一个合法、正确签名、已获批准的应用在打开之后做了什么——包括它联系哪些服务器、位于哪个国家、多久一次，或者在一次例行更新把代码整个替换之后，这种行为是否发生了变化。那是另一项互补的工作：在网络层面持续观察行为，而不是在文件运行之前只对照清单检查一次。

## FireAI 和 HisnLabs 在其中扮演的角色

Apple 自己的文档明确指出，这些防线并不是完整的保护——而这正是 FireAI 要填补的空隙：不是取代 Gatekeeper 和 XProtect，而是在它们完成自己那部分工作之后，看清究竟有什么真正离开了你的 Mac。

FireAI 是 HisnLabs 自己的产品：一款直接在 Mac 上运行的 AI 防火墙。它用通俗易懂的语言显示你的应用建立的每一个连接，并让你决定哪些数据可以离开你的 Mac——它的 AI 在本地运行，因此你的流量永远不会发送给我们或任何其他人。HisnLabs 的安全研究团队负责让这些判断保持准确：归类哪些域名只是普通的遥测、哪些属于真正的服务，追踪连接背后的国家和网络，并用真实的流量模式训练设备端模型（FireAI Pilot 功能）——这一切都不会离开你的 Mac。

你可以阅读它背后的技术决策，或试用 FireAI 17 天：[HisnLabs 出品的 FireAI](https://hisnlabs.com/fireai/zh/download)。

## Sources

- [Apple Platform Security: Protecting against malware](https://support.apple.com/guide/security/protecting-against-malware-sec469d47bd8/web)
