> ## Documentation Index
> Fetch the complete documentation index at: https://hilt.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# 系统要求

> Hilt macOS 采集器的 macOS 版本、架构、System Integrity Protection、Full Disk Access、MDM 和网络要求。

> [!NOTE]
>
> macOS 采集器处于**抢先体验**阶段。本文所述的、经公证且**启用 SIP** 的 `.pkg` 安装方式是目标发布模式。请联系您的客户团队，为您的部署启用它。

Hilt macOS 采集器是一个经过公证的 macOS 应用 —— **Hilt EDR**（bundle `EDRApp.app`，Team `MVMB6LCP2A` / Cybe Corporation）—— 内嵌两个 Apple 系统扩展：

* **ESensor** —— 一个 [Endpoint Security](https://developer.apple.com/documentation/endpointsecurity)（ES）系统扩展（`Hilt.EDRApp.ESensor`）。这是遥测传感器：负责进程、文件、持久化和设备事件。
* **NetFilter** —— 一个 [NetworkExtension](https://developer.apple.com/documentation/networkextension) 内容过滤系统扩展（`Hilt.EDRApp.NetFilter`），用于逐流网络归因。

**没有内核扩展（kext）**。两个扩展都运行在用户空间，基于 Apple 的现代框架。与向内核加载 eBPF 程序的 [Linux 采集器](https://hilt.ai/docs/zh/linux-collector/system-requirements.md)不同，macOS 采集器完全依赖 Apple 认可的系统扩展 —— 这正是**启用 SIP** 安装得以实现的原因。

## 概览

| 要求 | 值 |
| :- | :- |
| **macOS 版本** | 15.0 (Sequoia) 或更高 |
| **架构** | 通用 —— Apple Silicon (`arm64`) 和 Intel (`x86_64`) |
| **System Integrity Protection (SIP)** | **启用**（受支持 —— 且必需；无需 `csrutil disable`） |
| **Full Disk Access** | ESensor **必需**（任何 ES 客户端都需要） |
| **MDM** | 可选 —— 仅用于零点击（静默）安装 |
| **出站网络** | 到您的 Hilt 摄取端点的 HTTPS |
| **入站网络** | 无 |

## 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 上全部可用，因此[事件覆盖](https://hilt.ai/docs/zh/macos-collector/event-coverage.md)中描述的完整事件集在每一台受支持的主机上都可用。

> [!NOTE]
>
> Full Disk Access 授权偶尔会在 **macOS 大版本升级**后重置（一种已知的 TCC 行为）。在 MDM 托管的主机上，PPPC 配置文件会自动重新应用；直接下载的用户在大版本 OS 升级后可能需要重新切换一次 Full Disk Access。参见[安装](https://hilt.ai/docs/zh/macos-collector/install-flow.md)。

## 架构

\*\*通用。\*\*该应用及两个系统扩展以单一通用二进制文件发布，涵盖：

* **Apple Silicon** (`arm64`) —— M 系列 Mac
* **Intel** (`x86_64`)

单个经公证的 `.pkg` 可安装在任一架构上；无需选择针对特定架构的构件。这与为每种架构发布单独 tarball 的 [Linux 采集器](https://hilt.ai/docs/zh/linux-collector/release-artifacts.md)不同。

## System Integrity Protection (SIP)

\*\*SIP 保持启用。\*\*这是 macOS 采集器的核心亮点：它运行在正常、加固的 Mac 上，**无需 `csrutil disable`、无需开发者模式、无需 kext**。启用 SIP 下的运行正是迁移到系统扩展的全部意义所在。

之所以可行，是因为受限的 Endpoint Security entitlement（`com.apple.developer.endpoint-security.client`）是被**授权**的，而不仅仅是被请求：

| 要素 | 详情 |
| :- | :- |
| **Entitlement** | `com.apple.developer.endpoint-security.client`，由 Apple 授予 Team `MVMB6LCP2A` |
| **签名** | Developer ID Application 证书 |
| **Provisioning profile** | 内嵌于 bundle 中，授权 ES entitlement |
| **Hardened Runtime** | 已启用 |
| **公证（Notarization）** | 由 Apple 公证并装订（stapled） |
| **App Sandbox** | ES 扩展上**未**使用 —— 沙盒化会使 `es_new_client` 以 `ERR_NOT_PERMITTED` 失败 |

在 SIP 开启的情况下，内核的受信执行（AMFI）层仅当一个将 ES entitlement 列入允许列表的 Apple 签发 provisioning profile 内嵌于正确签名、经公证的 bundle 中时，才会承认该 entitlement。采集器满足所有这些条件，因此它在原厂、锁定的 Mac 上是一个完全受信的 Endpoint Security 客户端。有关完整的 entitlement 与签名说明，参见[架构](https://hilt.ai/docs/zh/macos-collector/networking-security.md)。

> [!NOTE]
>
> 公证满足 Gatekeeper 的签名和恶意软件检查 —— 它**不会**激活扩展。用户（或 MDM）仍需批准系统扩展并授予 Full Disk Access。参见[安装](https://hilt.ai/docs/zh/macos-collector/install-flow.md)。

## 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，它无法被抑制点击。有关最终用户步骤，参见[安装](https://hilt.ai/docs/zh/macos-collector/install-flow.md)。

## MDM

\*\*MDM 是可选的。**采集器无需任何 MDM 即可完整安装和运行。仅当需要通过预先批准用户本会手动授予的两项同意，从而在整个主机群中实现**零点击（静默）\*\*安装时，才需要 MDM。

| 安装路径 | 用户需要做什么 | 是否需要 MDM |
| :- | :- | :- |
| **独立安装**（直接下载） | 批准扩展一次，切换 Full Disk Access 一次（约 2 次操作 + 1 次密码） | 否 |
| **MDM 托管**（零点击） | 无需操作 | 是 |

对于静默路径，推送两个键控到 Team `MVMB6LCP2A` 的配置文件 payload：

| Payload | 效果 | 要求 |
| :- | :- | :- |
| **System Extensions**（`com.apple.system-extension-policy`，`AllowedTeamIdentifiers = MVMB6LCP2A`） | 自动批准扩展 —— 抑制批准提示 | 已加入 MDM（UAMDM）；**无需**监督（supervision） |
| **PPPC**（`com.apple.TCC.configuration-profile-policy`，`SystemPolicyAllFiles = Allow`） | 预先授予 Full Disk Access | 经 MDM 下发（UAMDM）；macOS 11+ 的设备注册自动获得监管——**无需** ADE |

在应用首次启动**之前**下发 System Extensions payload。采集器只需要 Full Disk Access —— 从不需要 Camera、Microphone 或 Screen Recording（这些是 PPPC 无法预先授予的）—— 因此 MDM 安装是完全静默的。有关两条路径的详细说明，参见[安装](https://hilt.ai/docs/zh/macos-collector/install-flow.md)。

## 网络

**仅出站 HTTPS。**ESensor 将事件以 JSON 行形式发出；一个本地转发 LaunchDaemon 通过**出站 HTTPS** 将它们传送到 Hilt `edr-collector`，后者再将其路由到 MSK Kafka 主题以进行富化。

| 方向 | 详情 |
| :- | :- |
| **出站** | 到已配置的 Hilt 摄取端点的 HTTPS |
| **入站** | 无 —— 没有监听套接字 |
| **回连（Phone-home）** | 无 —— 除已配置的摄取端点外不做任何连接 |

\*\*防火墙规则：\*\*允许主机通过 HTTPS 访问您已配置的 Hilt 摄取端点。无需开放任何入站规则。有关从传感器到 ClickHouse 的完整路径，参见[数据流](https://hilt.ai/docs/zh/macos-collector/data-flow.md)。

## 它不需要什么

与 Linux 采集器的内核和权限要求相反，macOS 采集器**不**需要以下任何一项：

* **无需 `csrutil disable`** —— SIP 保持启用。
* **无需 `systemextensionsctl developer on`** —— 开发者模式只是一种仅供开发使用的变通方案，绝不用于真实安装。
* **无需内核扩展（kext）** —— 纯用户空间系统扩展。
* **ES 扩展上无需 App Sandbox** —— 沙盒化会破坏 `es_new_client`。
* **独立安装无需 MDM** —— MDM 仅用于零点击主机群部署。
* **无需入站网络访问** —— 仅出站 HTTPS。

## 它不做什么

与 [Linux 采集器](https://hilt.ai/docs/zh/linux-collector/event-data-model.md)一致，macOS 采集器仅在元数据层面进行观察：

* **不读取文件内容** —— 仅路径、操作类型和元数据。
* **不捕获数据包负载** —— 仅流元数据（目的地、端口、字节数、所属 bundle id）。
* **不捕获击键或屏幕内容** —— 它不请求 Screen Recording。
* **不阻断或隔离任意活动** —— 遥测绝大多数为 NOTIFY。一小组 AUTH 自我保护集（`signal`、`file_unlink`、`file_rename`）在内核内拒绝对代理的未授权篡改；参见[事件覆盖](https://hilt.ai/docs/zh/macos-collector/event-coverage.md)。由控制台驱动的设备端隔离响应在 macOS 上尚不可用。

## 状态

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


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.