➡️ attestable-mcp-server

➡️ attestable-mcp-server

site icon
2025.03.29 10
Python远程验证可信执行环境SGX其它
attestable-mcp-server 是一个可远程验证的 MCP 服务器,利用可信执行环境(TEE)生成证书,证明其运行的代码与 GitHub Actions 上构建的代码一致。该服务器支持 MCP 客户端远程验证服务器代码,并可选择性地验证客户端。其主要特性包括远程验证能力和基于 SGX 的安全证书生成。
View on GitHub

Overview

基本能力

产品定位

attestable-mcp-server 是一个可远程验证的 MCP 服务器,专注于提供安全的、可验证的代码执行环境。

核心功能

  • MCP 客户端可以远程验证服务器上运行的代码
  • MCP 服务器可以选择性地远程验证客户端
  • 使用 SGX 硬件生成安全证书
  • 支持 RA-TLS 协议进行远程验证

适用场景

  • 需要高安全性的 MCP 服务器部署
  • 需要验证服务器代码完整性的场景
  • 基于 SGX 的可信执行环境应用

工具列表

  • Gramine: 用于构建和运行 SGX 应用程序
  • Intel SGX SDK & PSW: 提供 SGX 开发支持
  • Docker: 用于容器化部署

常见问题解答

  • 如何验证服务器代码?通过 RA-TLS 协议和 SGX 证书进行验证。
  • 是否需要特定硬件?是的,需要 Intel SGX 硬件支持。

使用教程

使用依赖

  • Intel SGX Hardware
  • Gramine
  • python 3.13
  • Ubuntu 22.04
  • Intel SGX SDK & PSW

安装教程

uv sync
docker build -t attestable-mcp-server .
gramine-sgx-gen-private-key
git clone https://github.com/gramineproject/gsc docker/gsc
cd docker/gsc
uv run ./gsc build-gramine --rm --no-cache -c ../gramine_base.config.yaml gramine_base
uv run ./gsc build -c ../attestable-mcp-server.config.yaml --rm attestable-mcp-server ../attestable-mcp-server.manifest
uv run ./gsc sign-image -c ../attestable-mcp-server.config.yaml attestable-mcp-server "$HOME"/.config/gramine/enclave-key.pem
uv run ./gsc info-image gsc-attestable-mcp-server

调试方式

在安全硬件上启动服务器

docker run -itp --device=/dev/sgx_provision:/dev/sgx/provision --device=/dev/sgx_enclave:/dev/sgx/enclave -v /var/run/aesmd/aesm.socket:/var/run/aesmd/aesm.socket -p 8000:8000 --rm gsc-attestable-mcp-server

在本地开发机器上启动服务器

docker run -p 8000:8000 --rm gsc-attestable-mcp-server

许可证

None