SuperAPI AI 工具集

attestable-mcp-server

attestable-mcp-server 是一个可远程证明的 MCP(Model Context Protocol)服务器示例项目。它通过可信执行环境(TEE)生成代表当前运行代码的证书,并在 TLS 握手时将该证书发送给 MCP 客户端,从而让客户端在连接前验证服务器运行的是预期且未被篡改的代码。项目使用 RA-TLS 协议扩展标准 TLS,嵌入 Intel SGX 报价及证据声明,支持在模拟硬件或真实安全硬件上本地构建并验证相同的度量值。

访问官网

工具介绍

attestable-mcp-server 是一个演示 MCP 服务器远程证明能力的开源项目。它的核心目标是让 MCP 客户端能够验证所连接的 MCP 服务器确实运行着预期且未经篡改的代码,验证方式基于硬件级远程证明。

【用途与原理】 该项目利用可信执行环境(TEE,具体为 Intel SGX)来生成一个代表当前运行代码的证书。在建立 TLS 连接时,attestable-mcp-server 会先将该证书发送给 MCP 客户端,以此证明其运行的代码与在 GitHub Actions 上构建的代码一致,并且这些值可以通过在模拟硬件或真实安全硬件上本地构建与运行进行独立验证,结果相同。

客户端与服务器之间的远程证明协议为 RA-TLS,这是 TLS 的扩展,增加了可被 MCP 客户端验证的机器与代码特定度量值。

【证书与证据声明】 RA-TLS 证书的关键在于:它在标准 X.509 扩展字段中嵌入了 SGX 报价,使用 TCG DICE 的 “tagged evidence” OID。该字段内包含 SGX 报告以及完整的 Intel SGX 证书链。除 SGX 报价外,证书还包含证据声明,其中最重要的声明是 “pubkey-hash”,它包含由 TEE 生成的临时公钥(DER 格式)的哈希,该公钥对应运行中 MCP 服务器的内存镜像。

【主要能力】

  • MCP 客户端可以远程证明任意 MCP 服务器上运行的代码。
  • MCP 服务器也可以选择性地远程证明 MCP 客户端。

【构建与验证流程】 仓库中的 GitHub Action 脚本在自托管的 GitHub Runner 上运行,该 Runner 位于可信执行环境(TEE)内部。该脚本会构建包含 attestable-mcp-server 的 Docker 容器,并生成运行在 TEE 内代码的签名证明。随后该 Docker 镜像由 GitHub 签名。用户可以在有或没有安全硬件的情况下独立生成相同的值,并查询项目运行中的服务器来获取相同值。

【使用方式与依赖】 项目涉及 Intel SGX 硬件、Intel SGX SDK 与 PSW。文档提及了“在安全硬件上启动服务器”和“在本地开发机器上启动服务器”两种方式,但具体安装命令与启动步骤在现有资料中暂未提供。

【适用场景】 适用于需要确保 MCP 服务器代码完整性与来源可信的 MCP 客户端连接场景,尤其适合对供应链安全、代码未被篡改有严格要求的部署环境。

【限制与状态】 README 中列出的待办事项包括:添加演示 RA-TLS 的 MCP 客户端;将来自 GitHub Action 的 Intel 签名度量值添加到 README 以便简单独立验证;以及 JSON Web Key(JWK)证明声明验证。因此当前项目处于持续完善阶段,部分功能与详细使用步骤暂未提供。