跳转到主要内容
macOS 采集器处于抢先体验阶段。本文所述的、经公证且启用 SIP 的 .pkg 安装方式是目标发布模式。请联系您的客户团队,为您的部署启用它。
Hilt macOS 采集器是一个经过公证的 macOS 应用 —— Hilt EDR(bundle EDRApp.app,Team MVMB6LCP2A / Cybe Corporation)—— 内嵌两个 Apple 系统扩展:
  • ESensor —— 一个 Endpoint Security(ES)系统扩展(Hilt.EDRApp.ESensor)。这是遥测传感器:负责进程、文件、持久化和设备事件。
  • NetFilter —— 一个 NetworkExtension 内容过滤系统扩展(Hilt.EDRApp.NetFilter),用于逐流网络归因。
没有内核扩展(kext)。两个扩展都运行在用户空间,基于 Apple 的现代框架。与向内核加载 eBPF 程序的 Linux 采集器不同,macOS 采集器完全依赖 Apple 认可的系统扩展 —— 这正是启用 SIP 安装得以实现的原因。

概览

macOS 版本

**macOS 15.0 (Sequoia) 或更高。**该下限来自构建设置,而非事件 API。随附的采集器二进制以 MACOSX_DEPLOYMENT_TARGET = 15.0 编译,因此在 macOS 14 或更早版本上,安装包的负载虽然会落盘,但系统扩展永远不会启动 —— 结果是一个看似已安装、实则不上报任何数据的 Agent。为杜绝这种情况,安装脚本、pkg 的 preinstall 脚本以及更新清单(min_macos: "15.0")都强制执行 15.0 下限:在更旧的 Mac 上安装会明确报错失败,且更旧的 Mac 永远不会收到更新。 各个 Endpoint Security 事件本身有各自更早的可用版本 —— Background Task Management(btm_add)需要 macOS 13+,NEFilterDataProvider 需要 10.15+ —— 但这些是关于操作系统 API 在订阅时是否可用的事实,而非支持范围的声明。它们在 macOS 15 上全部可用,因此事件覆盖中描述的完整事件集在每一台受支持的主机上都可用。
Full Disk Access 授权偶尔会在 macOS 大版本升级后重置(一种已知的 TCC 行为)。在 MDM 托管的主机上,PPPC 配置文件会自动重新应用;直接下载的用户在大版本 OS 升级后可能需要重新切换一次 Full Disk Access。参见安装。

架构

**通用。**该应用及两个系统扩展以单一通用二进制文件发布,涵盖:
  • Apple Silicon (arm64) —— M 系列 Mac
  • Intel (x86_64)
单个经公证的 .pkg 可安装在任一架构上;无需选择针对特定架构的构件。这与为每种架构发布单独 tarball 的 Linux 采集器不同。

System Integrity Protection (SIP)

**SIP 保持启用。**这是 macOS 采集器的核心亮点:它运行在正常、加固的 Mac 上,无需 csrutil disable、无需开发者模式、无需 kext。启用 SIP 下的运行正是迁移到系统扩展的全部意义所在。 之所以可行,是因为受限的 Endpoint Security entitlement(com.apple.developer.endpoint-security.client)是被授权的,而不仅仅是被请求: 在 SIP 开启的情况下,内核的受信执行(AMFI)层仅当一个将 ES entitlement 列入允许列表的 Apple 签发 provisioning profile 内嵌于正确签名、经公证的 bundle 中时,才会承认该 entitlement。采集器满足所有这些条件,因此它在原厂、锁定的 Mac 上是一个完全受信的 Endpoint Security 客户端。有关完整的 entitlement 与签名说明,参见架构。
公证满足 Gatekeeper 的签名和恶意软件检查 —— 它不会激活扩展。用户(或 MDM)仍需批准系统扩展并授予 Full Disk Access。参见安装。

Full Disk Access

Full Disk Access 是必需的。每个 Apple Endpoint Security 客户端都必须拥有 Full Disk Access(TCC SystemPolicyAllFiles);否则,即便 entitlement 已正确授权,es_new_client() 也会以 ES_NEW_CLIENT_RESULT_ERR_NOT_PERMITTED 失败。Entitlement 授权和 Full Disk Access 是两个独立的运行时关卡 —— 两者都必须通过。 该授权应用于 ESensor 扩展,而非父应用:
  • 在系统设置 → 隐私与安全性 → 完全磁盘访问权限中,条目显示为 ESensor / “Hilt EDR Sensor” —— 而非 “EDRApp”。
  • 一旦系统扩展被批准,该条目会自动出现。
这与 CrowdStrike、SentinelOne 以及其他所有第三方 Endpoint Security 产品所要求的同意相同;这是 Apple 的安全要求,而非 Hilt 特有的要求。若无 MDM,它无法被抑制点击。有关最终用户步骤,参见安装。

MDM

**MDM 是可选的。采集器无需任何 MDM 即可完整安装和运行。仅当需要通过预先批准用户本会手动授予的两项同意,从而在整个主机群中实现零点击(静默)**安装时,才需要 MDM。 对于静默路径,推送两个键控到 Team MVMB6LCP2A 的配置文件 payload: 在应用首次启动之前下发 System Extensions payload。采集器只需要 Full Disk Access —— 从不需要 Camera、Microphone 或 Screen Recording(这些是 PPPC 无法预先授予的)—— 因此 MDM 安装是完全静默的。有关两条路径的详细说明,参见安装。

网络

仅出站 HTTPS。ESensor 将事件以 JSON 行形式发出;一个本地转发 LaunchDaemon 通过出站 HTTPS 将它们传送到 Hilt edr-collector,后者再将其路由到 MSK Kafka 主题以进行富化。 **防火墙规则:**允许主机通过 HTTPS 访问您已配置的 Hilt 摄取端点。无需开放任何入站规则。有关从传感器到 ClickHouse 的完整路径,参见数据流。

它不需要什么

与 Linux 采集器的内核和权限要求相反,macOS 采集器不需要以下任何一项:
  • 无需 csrutil disable —— SIP 保持启用。
  • 无需 systemextensionsctl developer on —— 开发者模式只是一种仅供开发使用的变通方案,绝不用于真实安装。
  • 无需内核扩展(kext) —— 纯用户空间系统扩展。
  • ES 扩展上无需 App Sandbox —— 沙盒化会破坏 es_new_client。
  • 独立安装无需 MDM —— MDM 仅用于零点击主机群部署。
  • 无需入站网络访问 —— 仅出站 HTTPS。

它不做什么

与 Linux 采集器一致,macOS 采集器仅在元数据层面进行观察:
  • 不读取文件内容 —— 仅路径、操作类型和元数据。
  • 不捕获数据包负载 —— 仅流元数据(目的地、端口、字节数、所属 bundle id)。
  • 不捕获击键或屏幕内容 —— 它不请求 Screen Recording。
  • 不阻断或隔离任意活动 —— 遥测绝大多数为 NOTIFY。一小组 AUTH 自我保护集(signal、file_unlink、file_rename)在内核内拒绝对代理的未授权篡改;参见事件覆盖。由控制台驱动的设备端隔离响应在 macOS 上尚不可用。

状态

macOS 采集器处于抢先体验阶段。本页所述的、经公证且启用 SIP 的 .pkg 是目标发布模式。自动更新和设备端隔离响应在 macOS 上尚不可用;升级通过重新安装已签名的 .pkg(直接下载)或通过包推送(MDM)来交付。
最后修改于 2026年10月8日