blindai
基于Intel SGX硬件级隔离的机密AI推理引擎,支持ONNX模型在Enclave内安全执行
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
基于Intel SGX硬件级隔离的机密AI推理引擎,支持ONNX模型在Enclave内安全执行
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象这样一个场景:某三甲医院放射科引入了一套AI辅助诊断系统,医生上传患者的肺部X光片,AI在云端给出诊断建议。问题来了——这些包含患者隐私的影像数据,在传输、存储、推理的全过程中,是否真的安全?
传统方案下,数据在云端对服务商是「可见」的。哪怕服务商承诺「不会滥用」,数据本身依然暴露在内存中、磁盘里、日志文件里。更严峻的是,如果AI模型本身是医院的核心资产,服务商在提供推理服务时,也能看到模型的权重和结构——这无异于把商业机密拱手让人。
BlindAI 正是为解决这一双侧隐私难题而生的开源方案:它让AI模型的推理过程,在硬件层面就被隔离保护起来。
BlindAI 由法国巴黎的 Mithril Security 公司开发和维护,2021年正式开源,目前 GitHub 获 511 Stars。项目使用 Apache-2.0 许可证,核心技术栈为 Rust + Python + Intel SGX。
Mithril Security 专注于机密计算(Confidential Computing)领域,核心团队来自学术机构和安全行业。项目在 README 中明确注明:当前项目已停止活跃维护,不再适合处理真正的敏感数据——但其架构设计和代码实现仍具有重要的参考价值。
BlindAI 的核心安全机制建立在 Intel SGX(Software Guard Extensions) 之上。这是一种 CPU 级别的硬件隔离技术,能够在内存中划出一个称为 Enclave(飞地) 的受保护区域:
形象地说,Intel SGX 给 AI 推理提供了一个「物理保险箱」:数据送进去,推理在箱内完成,只有结果拿出来,箱内的一切对外界完全不可见。
BlindAI 分为两大组件:
核心二进制 src/main.rs 是用 Rust 编写的 SGX Enclave 应用。关键模块:
model.rs:模型加载与管理,支持 ONNX 格式model_store.rs:模型仓库,按上传顺序管理多个模型client_communication.rs:HTTP 风格的通信层,通过 rouille(Rust Web框架)处理加密请求tract/ 子目录中,负责 ONNX 模型的加载和执行推理服务端通过 sgx_isa crate 处理 SGX 远程证明(Quote 验证),调用 Intel DCAP 服务获取 TCB(Trusted Computing Base)认证信息。
Python 包 client/blindai/ 提供简洁的 API:
import blindai
# 上传 ONNX 模型(AI公司侧)
client = blindai.Core(url="https://your-blindai-server.com")
response = client.upload_model(model="./COVID-Net-CXR-2.onnx")
model_id = response.model_id
# 运行推理(用户侧)
result = client.run_model(model_id, confidential_image)
print(result.output[0].as_flat()[0][1]) # 0.8906(Covid阳性概率)
client/blindai/api.py 还封装了 Audio.transcribe() 方法,可直接调用 Whisper 模型进行音频转写,全程在 Enclave 内完成。
服务端构建极为复杂,需要:
cargo build --target x86_64-fortanix-unknown-sgx(Fortanix SDK)ftxsgx-elf2sgxs 将 ELF 转为 SGX 格式runner 二进制作为可信加载器justfile 记录了完整的构建配方。
适用场景:
当前局限:
BlindAI 代表了隐私计算领域的重要技术路线:基于硬件可信执行环境(TEE)的机密AI推理。与联邦学习、安全多方计算(MPC)等纯密码学方案相比,TEE 方案的性能损失极低(约5-10%),但对硬件和厂商有依赖。
Intel SGX 在 2020 年后的处理器中逐步被限制(Plundervolt 等侧信道攻击),AMD SEV 和 Nitro Enclave 成为替代方案——BlindAI 文档中也能看到 Nitro TCB 的示意图。Mithril Security 后来推出的 Bastionlab(差分隐私工具)可视为其在隐私保护ML领域的延续。
总结:BlindAI 是一部设计精良的机密AI推理系统范本,尽管已停止维护,但其 Rust + SGX Enclave + ONNX Runtime 的技术组合、远程证明协议实现、以及 Python SDK 的 API 设计,对理解隐私AI的工程实践具有很高的学习价值。在生产环境中使用,建议等待官方重启维护或迁移至 Bastionlab 等活跃项目。
分析时间:2026-06-23 | 数据来源:GitHub API + 源码分析