Layr-Labs/d-inference
GitHub: Layr-Labs/d-inference
Darkbloom 是一个将闲置 Apple Silicon Mac 组成去中心化私有推理网络的平台,提供兼容 OpenAI/Anthropic 的 API 并通过端到端加密保护用户数据隐私。
Stars: 206 | Forks: 42
# Darkbloom
Darkbloom 将闲置的 Mac 变成私有的、兼容 OpenAI 的推理云。
如今,AI 算力传递到你手中需要经过层层加价 —— 从芯片制造商到超大规模云服务商,再到 API 供应商。与此同时,超过一亿台 Apple Silicon Mac 大多处于闲置状态,每台都拥有高达 512 GB 的统一内存和高达 819 GB/s 的带宽 —— 足以以交互式速度运行前沿规模的大模型。Darkbloom 将这些闲置算力直接与需求对接,并向机器的所有者支付报酬。
最困难的地方在于隐私。运行 provider 节点的人对其执行推理的机器拥有 root 权限和物理掌控权 —— 但他们**绝不能**能够读取你的 prompt 或模型的响应。Darkbloom 封锁了所有通向该明文的软件路径:
- **无可观测面。** 推理通过 MLX **在进程内**运行 —— 没有子进程,没有本地服务器,也没有可供窃听的 IPC。
- **锁定进程。** 在内核级别拒绝调试器(`PT_DENY_ATTACH`);Hardened Runtime 阻止了内存读取 API。这些保护在进程生命周期内是不可变的,因为移除它们需要禁用 SIP,而这需要重启并会导致进程终止。
- **端到端加密。** 协调器使用 NaCl Box(X25519 + XSalsa20-Poly1305)将每个请求重新密封给 provider 经认证的密钥,因此在 provider 机器上,只有受加固的进程 —— 而绝不是其所有者 —— 才能解密它。
- **硬件认证。** 一个四层链条 —— Secure Enclave 签名、MDM 交叉检查、Apple Managed Device Attestation 以及 APNs 代码身份 —— 证明了每个节点的安全状态,并且它运行的是真正的、未经修改的二进制文件。
剩下的是 Apple 为 Private Cloud Compute 所接受的相同残余威胁模型:物理上拆焊并探测内存芯片。除此之外的所有威胁都已在工程设计中被消除。
该 API 兼容 OpenAI 和 Anthropic,因此大多数客户端只需更改一个 base URL 即可工作。
## 目录
- [工作原理](#how-it-works)
- [隐私与安全](#privacy--security)
- [快速开始(消费者)](#quickstart-consumers)
- [API 概览](#api-surface)
- [模型](#models)
- [定价](#pricing)
- [运行 provider](#run-a-provider)
- [自路由与直连模式](#self-route--direct-mode)
- [代码库布局](#repository-layout)
- [开发](#development)
- [文档](#documentation)
- [许可与免责声明](#license--disclaimer)
## 工作原理
```
flowchart LR
U["Consumer
OpenAI / Anthropic SDK · curl · Web UI"] subgraph coord["Coordinator · Go · Confidential VM (AMD SEV-SNP)"] CO["Auth · Routing · Billing
Attestation · E2E relay"] end subgraph prov["Provider · Swift CLI · hardened macOS process"] P["mlx-swift-lm (in-process)"] --> G["Apple Silicon GPU (Metal)"] end U -->|"HTTPS · OpenAI-compatible
TLS + optional NaCl Box"| CO CO -->|"WebSocket · outbound from provider
mandatory per-request NaCl Box"| P P -.->|"encrypted SSE chunks"| CO CO -.->|"streamed response"| U ``` 消费者通过标准的 HTTPS、兼容 OpenAI 的 API 调用协调器。**协调器** 是运行在 Confidential VM 中的 Go 控制平面;它对请求进行身份验证、选择 provider、处理计费并中继加密的 payload。**Provider** 是运行 `darkbloom` Swift CLI 的 Apple Silicon Mac;它们通过 WebSocket 进行*出站*连接 —— **无需端口转发或入站防火墙更改** —— 在受加固的进程内解密请求,并通过 MLX 在进程内于 GPU 上运行推理。 ## 隐私与安全 Darkbloom 的工程设计确保 **运行你推理任务 Mac 的操作者无法读取你的 prompt 或响应。** 任何地方唯一的明文暴露都是瞬态的 —— 位于协调器的硬件加密 Confidential-VM 内存中 —— 并且永远不会被记录或保留。 ### 逐跳加密 ``` sequenceDiagram participant C as Consumer participant K as Coordinator (CVM) participant P as Provider (Secure Enclave-bound) C->>K: Request over TLS
(optionally NaCl Box-sealed to coordinator key) Note over K: Decrypts in CVM memory for routing + billing.
Never logs or retains prompt content. K->>P: Re-encrypts body with a fresh ephemeral key →
provider's attested X25519 key (mandatory NaCl Box) Note over P: Only the hardened provider process decrypts.
Runs inference in-process on the GPU. P-->>K: Response SSE chunks encrypted to
coordinator's ephemeral key K-->>C: Relays response (re-sealed if sender encryption is on) ``` | 跳 | 保护措施 | |-----|------------| | 消费者 → 协调器 | 默认 TLS;**可选** 通过 NaCl Box 密封到协调器的 X25519 密钥(`GET /v1/encryption-key`) | | 协调器内部 | 仅出于路由和计费目的在 Confidential-VM 内存中解密;**从不记录或保留 prompt 内容** | | 协调器 → Provider | **强制** 对每个请求使用 NaCl Box 密封到 provider 经认证的 X25519 密钥,且每次请求使用新的临时密钥 | | Provider → 协调器 | 响应块被加密返回给协调器的临时密钥 | ### Provider 加固 | 层 | 作用 | |-------|--------------| | 进程内推理 | MLX 在 provider 进程内运行 —— 无子进程、本地服务器或 IPC 可供观测 | | Hardened Runtime + SIP | 阻止调试器附加、内存读取和代码注入;在进程生命周期内不可变 | | `PT_DENY_ATTACH` | 内核级别拒绝调试器附加 | | Hypervisor 内存隔离 | `Hypervisor.framework` 的 Stage-2 页表保护推理内存免受 RDMA/DMA 攻击 | ### 认证与信任 ``` flowchart TB SE["Secure Enclave P-256 key
hardware-bound, keychain-ACL"] --> SIG["Signs attestation blob"] SIG --> SS["self_signed"] SS --> MDM["MDM SecurityInfo cross-check
SIP · Secure Boot · FileVault"] MDM --> MDA["Apple MDA certificate chain
Enterprise Attestation Root CA"] MDA --> HW["hardware"] HW --> APNS["APNs code-identity attestation (v0.6.0+)
proves the running binary is genuine"] CHAL["Challenge-response every 5 min
re-verifies SIP / Secure Boot"] -.-> SS CHAL -.-> HW ``` Provider 携带三个信任级别之一,通过 `X-Provider-Trust-Level` 头(与 `X-Provider-Attested`、`X-Provider-Encrypted`、`X-Provider-Chip` 和 `X-Provider-Secure-Enclave` 一起)在每次响应中向消费者展示: | 级别 | 验证 | |-------|--------------| | `none` | 无认证 —— 不允许用于私有文本流量 | | `self_signed` | Secure Enclave P-256 签名 + 周期性挑战-应答 | | `hardware` | MDM 注册 + Apple Managed Device Attestation (MDA) 证书链 | 最强大的生产门控是 **APNs 代码身份认证**,它证明正在运行的 provider 二进制文件是真实的,并由团队进行配置。任何 provider 的完整认证链都可以在 **`GET /v1/providers/attestation`** 公开验证。 ## 快速开始(消费者) API 兼容 OpenAI —— 将任何 OpenAI SDK 指向 Darkbloom 的 base URL 即可。 **Base URL:** `https://api.darkbloom.dev/v1` **认证:** `Authorization: Bearer`,其中 `` 是 API 密钥(`sk-db-…`,在[控制台](https://console.darkbloom.dev)中创建)或 Privy 会话 JWT。
```
from openai import OpenAI
client = OpenAI(
base_url="https://api.darkbloom.dev/v1",
api_key="sk-db-...",
)
stream = client.chat.completions.create(
model="gemma-4-26b", # use an id from GET /v1/models
messages=[{"role": "user", "content": "Hello, Darkbloom!"}],
stream=True,
)
for chunk in stream:
if chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="")
```
```
curl https://api.darkbloom.dev/v1/chat/completions \
-H "Authorization: Bearer sk-db-..." \
-H "Content-Type: application/json" \
-d '{"model":"gemma-4-26b","messages":[{"role":"user","content":"Hello!"}],"stream":true}'
```
**Anthropic Messages API** 也受支持 —— 将 Anthropic SDK 指向相同的 base URL 并使用 `/v1/messages`。
有关身份验证、流式传输和 SDK 的详细信息,请参阅 [`docs/consumer/quickstart.md`](docs/consumer/quickstart.md)。
## API 概览
兼容 OpenAI,支持 Anthropic Messages。推理端点需要 Bearer 密钥;标记为 *公开* 的读取操作无需认证。
| 方法与路径 | 用途 |
|---------------|---------|
| `POST /v1/chat/completions` | OpenAI Chat Completions(流式 + 非流式) |
| `POST /v1/responses` | OpenAI Responses API(自动检测 `input` 与 `messages`) |
| `POST /v1/completions` | OpenAI 传统文本补全 |
| `POST /v1/messages` | Anthropic Messages API |
| `GET /v1/models` | 列出模型(OpenAI 格式) |
| `GET /v1/models/{id}` | 获取模型详情 |
| `GET /v1/models/catalog` | *公开* —— 包含 Darkbloom 元数据的完整模型目录 |
| `GET /v1/pricing` | *公开* —— 实时按 token 定价 |
| `GET /v1/encryption-key` | *公开* —— 用于可选发送方密封的协调器 X25519 密钥 |
| `GET /v1/providers/attestation` | *公开* —— 用于验证的 provider 认证链 |
| `GET /v1/payments/balance`, `GET /v1/payments/usage` | 账户余额与使用量 |
推理端点支持:**流式传输(SSE)**、**工具 / 函数调用**、**视觉 / 多模态**输入、**推理模型**,以及用于提升吞吐量的服务端**连续批处理**。`n > 1` 会被拒绝并返回 `400`(适用于 chat completions 和 Responses API)。未实现的 OpenAI 端点(例如 `/v1/embeddings`)会返回结构化的 `404`。
完整的请求/响应 schema:[`docs/reference/api-contracts.md`](docs/reference/api-contracts.md)。
## 模型
模型目录由**协调器拥有**并由数据库支持 —— 没有硬编码的模型列表。面向消费者的名称是稳定的别名(例如 `gemma-4-26b`、`gpt-oss-20b`),它们会解析为具体的、带版本号的构建;别名可以重新指向新的构建而不会中断客户端。Provider 从 `https://models.darkbloom.ai` 下载经过批准的模型,并在提供服务前验证每个文件及聚合的 SHA-256 哈希值。
**权威的实时列表永远是 [`GET /v1/models`](https://api.darkbloom.dev/v1/models)**(或公开的 `GET /v1/models/catalog`)。当前具有代表性的模型:
| 别名 | 系列 | 备注 |
|-------|--------|-------|
| `gemma-4-26b` | Gemma 4 (MoE, ~4B 激活) | Google 最新的 MoE;多模态(文本 + 视觉) |
| `gpt-oss-20b` | GPT-OSS 20B (MoE, ~3.6B 激活) | OpenAI 开源权重推理模型 |
量化与确切的构建细节会不断演进 —— 请查询 `/v1/models` 而非硬编码它们。参见 [`docs/consumer/models.md`](docs/consumer/models.md)。
## 定价
定价按 token 计费并按请求结算:依次为 provider 的自定义价格、平台价格,最后为内置的兜底价格。
| 项目 | 兜底默认值 |
|------|------------------|
| 输入 token | $0.05 / 1M |
| 输出 token | $0.20 / 1M |
| 最低收费 | $0.0001 / 请求 |
| 平台费用 | 公开 Alpha 阶段 **0%** |
按 token 的费率目标大约是同类托管 API 的一半。**实时按模型定价永远在 [`GET /v1/pricing`](https://api.darkbloom.dev/v1/pricing)。** 资金通过 Solana USDC 充值(在链上验证)或 Stripe 提供;provider 支出通过 Stripe Connect 处理。通过[自路由](#self-route--direct-mode)定向到你自己的机器的请求是**免费的**。参见 [`docs/reference/pricing-model.md`](docs/reference/pricing-model.md)。
## 运行 provider
通过在你的闲置 Mac 上提供推理服务来赚取收益 —— 并通过[自路由](#self-route--direct-mode)停止为你自己的使用付费。
### 要求
| | 最低 | 推荐 |
|---|---|---|
| **芯片** | Apple Silicon (M1+) | M1 Pro/Max/Ultra 或更新 |
| **macOS** | 14 (Sonoma) | 最新稳定版 |
| **内存** | 8 GB(低于 8 GB 启动会被拒绝) | 大型或多模型建议 32 GB+ |
| **磁盘** | 50 GB 可用空间 | 100 GB+ |
| **网络** | 出站 HTTPS (443) | 连接 `api.darkbloom.dev` 的低延迟路径 |
当模型适配可用内存加上少量预留空间(`权重 + ~2 GB`)并在扣除系统预留后,即会加载模型。参见 [`docs/provider/hardware-requirements.md`](docs/provider/hardware-requirements.md)。
### 安装
```
curl -fsSL https://api.darkbloom.dev/install.sh | bash
```
零前置条件,无需 `sudo`。安装程序会获取最新签名版本,根据协调器的发布记录验证 bundle / binary / `mlx.metallib` 的 SHA-256,检查 Apple Developer ID 代码签名,配置 Secure Enclave 助手,并提供安装用于硬件信任的 MDM 注册配置文件的选项。参见 [`docs/provider/installation.md`](docs/provider/installation.md)。
### 首次运行
```
darkbloom start # background launchd service (interactive model picker)
darkbloom start --foreground # run attached to the terminal
darkbloom login # link your account (RFC 8628 device-code flow)
darkbloom status # config, hardware, schedule, live trust verdict
darkbloom doctor # local diagnostics + coordinator's trust view
```
[`docs/provider/quickstart.md`](docs/provider/quickstart.md) 详细介绍了完整流程。
### CLI 参考
| 命令 | 用途 |
|---------|---------|
| `start` | 开始服务(launchd 守护进程、`--foreground` 或 `--local`) |
| `stop` / `restart` | 停止(`--uninstall` 移除代理)/ 就地重启 |
| `status` | 硬件、配置、计划以及实时的守护进程/信任状态 |
| `doctor` / `verify` | 诊断(`verify` = 严格模式,任何警告都会返回非零值) |
| `models` | `catalog`、`list`、`download`、`remove` 缓存的模型 |
| `login` / `logout` | 将 provider 链接至 / 解绑 Darkbloom 账户 |
| `enroll` / `unenroll` | 用于硬件认证的 MDM 注册 |
| `benchmark` | 本地 tokens/sec 基准测试 |
| `update` | 检查并应用 provider 更新 |
| `logs` | 追踪 provider 日志 |
**没有** `serve` 或 `earnings` 命令 —— 请使用 `start`,并在[控制台](https://console.darkbloom.dev)查看收益。完整参数:[`docs/provider/cli-reference.md`](docs/provider/cli-reference.md)。
### 配置
配置文件位于 `~/.config/darkbloom/provider.toml`(在首次启动时创建):
```
[provider]
name = "darkbloom-mac-1"
memory_reserve_gb = 4
auto_update = true
auto_restart = true
[backend]
enabled_models = [] # empty = advertise all downloaded models
idle_timeout_mins = 60 # unload an idle model after N minutes (0 = never)
max_model_slots = 3 # max models resident at once
continuous_batching = true
[coordinator]
url = "wss://api.darkbloom.dev/ws/provider"
heartbeat_interval_secs = 5
private_only = false # true = serve only your own self-route traffic
# 可选的可用时间窗口 — 在此之外 node 将断开连接并释放 GPU 内存
[schedule]
enabled = true # windows only take effect when this is true
[[schedule.windows]]
days = ["mon", "tue", "wed", "thu", "fri"]
start = "22:00"
end = "08:00"
```
## 自路由与直连模式
运行一个节点也会让你**自己**的推理免费。
- **自路由** —— *“使用我自己的机器,免费。”* 在任何请求中添加 `X-Darkbloom-Route: self`,即可**仅**路由到你账户拥有的 provider:免费、端到端加密,且不会回退到付费节点群(如果你的机器无法提供服务,你会收到明确的错误)。`X-Darkbloom-Route: prefer` 会优先路由到你的机器,但如果不可用则会回退到付费节点群,以免你卡住。API 密钥也可以通过 `self_route_only` 钉死为仅限自有节点。参见 [`docs/provider/self-route.md`](docs/provider/self-route.md)。
- **直连模式** —— 当客户端可以访问到你的 Mac 时(同一台机器 / LAN / tailnet),`darkbloom start --local` 会在本地提供兼容 OpenAI 的端点,并**完全跳过协调器**:最低延迟、支持离线、数据字节永远不会离开你的网络。参见 [`docs/provider/direct-mode.md`](docs/provider/direct-mode.md)。
## 代码库布局
| 路径 | 语言 | 角色 |
|------|----------|------|
| `coordinator/` | Go | 控制平面:OpenAI/Anthropic API、路由、认证、计费、模型注册表 |
| `provider-swift/` | Swift | 用于 Apple Silicon 的 `darkbloom` provider CLI(进程内 MLX 推理) |
| `console-ui/` | Next.js 16 / React 19 | Web 仪表板:聊天、计费、模型、provider 验证 |
| `landing/` | 静态 HTML | 营销主页面 |
| `e2e/` | Go | 系统级端到端测试与负载测试框架 |
| `scripts/` | Shell | 安装程序、管理 CLI、模型发布、部署助手 |
| `docs/` | Markdown | 架构、安全、运维和参考文档 |
协调器和 provider 共享必须保持同步的 WebSocket 消息类型(`coordinator/protocol/` ↔ `provider-swift/Sources/ProviderCore/Protocol/`)。
## 开发
```
# Coordinator (Go)
cd coordinator && go test ./...
GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -o coordinator-linux ./cmd/coordinator # container build
# Provider (Swift) — 依赖于 libs/mlx-swift 和 libs/mlx-swift-lm submodules
cd provider-swift && swift test
cd provider-swift && swift build -c release # → .build/release/darkbloom
# Console UI (Next.js 16)
cd console-ui && npm install && npm run dev
cd console-ui && npm run build && npm test # production build + vitest
```
构建、测试和发布详情:[`docs/developer/build.md`](docs/developer/build.md)、[`docs/developer/test.md`](docs/developer/test.md)、[`docs/developer/release.md`](docs/developer/release.md)。
## 文档
完整的技术文档位于 [`docs/`](docs/README.md)。阅读起点:
| 你想要… | 从这里开始 |
|---|---|
| 调用 API | [`docs/consumer/quickstart.md`](docs/consumer/quickstart.md) |
| 了解系统 | [`docs/architecture/overview.md`](docs/architecture/overview.md) |
| 了解隐私模型 | [`docs/architecture/security/encryption.md`](docs/architecture/security/encryption.md) |
| 运行 provider 节点 | [`docs/provider/installation.md`](docs/provider/installation.md) → [`docs/provider/quickstart.md`](docs/provider/quickstart.md) |
| 验证 provider 的认证 | [`docs/consumer/verification.md`](docs/consumer/verification.md) |
| 构建或贡献代码 | [`docs/developer/build.md`](docs/developer/build.md) |
## 许可与免责声明
专有。保留所有权利。
**安全漏洞:** 将漏洞报告发送至 **security@eigenlabs.org** —— *不要*通过 GitHub Issues 提交。
OpenAI / Anthropic SDK · curl · Web UI"] subgraph coord["Coordinator · Go · Confidential VM (AMD SEV-SNP)"] CO["Auth · Routing · Billing
Attestation · E2E relay"] end subgraph prov["Provider · Swift CLI · hardened macOS process"] P["mlx-swift-lm (in-process)"] --> G["Apple Silicon GPU (Metal)"] end U -->|"HTTPS · OpenAI-compatible
TLS + optional NaCl Box"| CO CO -->|"WebSocket · outbound from provider
mandatory per-request NaCl Box"| P P -.->|"encrypted SSE chunks"| CO CO -.->|"streamed response"| U ``` 消费者通过标准的 HTTPS、兼容 OpenAI 的 API 调用协调器。**协调器** 是运行在 Confidential VM 中的 Go 控制平面;它对请求进行身份验证、选择 provider、处理计费并中继加密的 payload。**Provider** 是运行 `darkbloom` Swift CLI 的 Apple Silicon Mac;它们通过 WebSocket 进行*出站*连接 —— **无需端口转发或入站防火墙更改** —— 在受加固的进程内解密请求,并通过 MLX 在进程内于 GPU 上运行推理。 ## 隐私与安全 Darkbloom 的工程设计确保 **运行你推理任务 Mac 的操作者无法读取你的 prompt 或响应。** 任何地方唯一的明文暴露都是瞬态的 —— 位于协调器的硬件加密 Confidential-VM 内存中 —— 并且永远不会被记录或保留。 ### 逐跳加密 ``` sequenceDiagram participant C as Consumer participant K as Coordinator (CVM) participant P as Provider (Secure Enclave-bound) C->>K: Request over TLS
(optionally NaCl Box-sealed to coordinator key) Note over K: Decrypts in CVM memory for routing + billing.
Never logs or retains prompt content. K->>P: Re-encrypts body with a fresh ephemeral key →
provider's attested X25519 key (mandatory NaCl Box) Note over P: Only the hardened provider process decrypts.
Runs inference in-process on the GPU. P-->>K: Response SSE chunks encrypted to
coordinator's ephemeral key K-->>C: Relays response (re-sealed if sender encryption is on) ``` | 跳 | 保护措施 | |-----|------------| | 消费者 → 协调器 | 默认 TLS;**可选** 通过 NaCl Box 密封到协调器的 X25519 密钥(`GET /v1/encryption-key`) | | 协调器内部 | 仅出于路由和计费目的在 Confidential-VM 内存中解密;**从不记录或保留 prompt 内容** | | 协调器 → Provider | **强制** 对每个请求使用 NaCl Box 密封到 provider 经认证的 X25519 密钥,且每次请求使用新的临时密钥 | | Provider → 协调器 | 响应块被加密返回给协调器的临时密钥 | ### Provider 加固 | 层 | 作用 | |-------|--------------| | 进程内推理 | MLX 在 provider 进程内运行 —— 无子进程、本地服务器或 IPC 可供观测 | | Hardened Runtime + SIP | 阻止调试器附加、内存读取和代码注入;在进程生命周期内不可变 | | `PT_DENY_ATTACH` | 内核级别拒绝调试器附加 | | Hypervisor 内存隔离 | `Hypervisor.framework` 的 Stage-2 页表保护推理内存免受 RDMA/DMA 攻击 | ### 认证与信任 ``` flowchart TB SE["Secure Enclave P-256 key
hardware-bound, keychain-ACL"] --> SIG["Signs attestation blob"] SIG --> SS["self_signed"] SS --> MDM["MDM SecurityInfo cross-check
SIP · Secure Boot · FileVault"] MDM --> MDA["Apple MDA certificate chain
Enterprise Attestation Root CA"] MDA --> HW["hardware"] HW --> APNS["APNs code-identity attestation (v0.6.0+)
proves the running binary is genuine"] CHAL["Challenge-response every 5 min
re-verifies SIP / Secure Boot"] -.-> SS CHAL -.-> HW ``` Provider 携带三个信任级别之一,通过 `X-Provider-Trust-Level` 头(与 `X-Provider-Attested`、`X-Provider-Encrypted`、`X-Provider-Chip` 和 `X-Provider-Secure-Enclave` 一起)在每次响应中向消费者展示: | 级别 | 验证 | |-------|--------------| | `none` | 无认证 —— 不允许用于私有文本流量 | | `self_signed` | Secure Enclave P-256 签名 + 周期性挑战-应答 | | `hardware` | MDM 注册 + Apple Managed Device Attestation (MDA) 证书链 | 最强大的生产门控是 **APNs 代码身份认证**,它证明正在运行的 provider 二进制文件是真实的,并由团队进行配置。任何 provider 的完整认证链都可以在 **`GET /v1/providers/attestation`** 公开验证。 ## 快速开始(消费者) API 兼容 OpenAI —— 将任何 OpenAI SDK 指向 Darkbloom 的 base URL 即可。 **Base URL:** `https://api.darkbloom.dev/v1` **认证:** `Authorization: Bearer
标签:API网关, Apple Silicon, EVTX分析, 人工智能, 分布式计算, 加密通信, 大模型推理, 异常处理, 日志审计, 用户模式Hook绕过, 隐私计算