AI Agent在运行过程中会处理用户对话、调用外部工具、管理长期记忆和服务凭证,攻击面远超传统应用。阿里云gn8v-tee异构机密计算实例,基于Intel TDX和NVIDIA GPU机密计算特性实现了完整的机密计算可信执行环境,通过将开源AI Agent框架OpenClaw部署在该实例中,可实现硬件级数据保护、远程证明和供应链可验证能力,确保模型推理和用户交互全链路安全。
方案概述
本文介绍Confidential Agent方案,通过将OpenClaw封装在支持Intel TDX(Trust Domain Extensions)技术的gn8v-tee实例上,同时在本地运行Qwen3.6-35B-A3B混合专家模型(MoE),使得Agent运行和模型推理过程完全在TDX信任域中完成,无需调用任何第三方API服务,用户输入、模型权重、推理中间态和AI输出在处理过程中均不离开机密实例信任边界。
gn8v-tee是阿里云推出的GPU机密计算实例规格族,内置Intel TDX硬件加密能力与NVIDIA GPU加速,同时满足AI推理性能与数据安全合规要求。本文以ecs.gn8v-tee.4xlarge为例,运行Alibaba Cloud Linux 3,地域为cn-beijing-l。如需更大规模,可横向扩展至多卡实例规格。
安全架构
Confidential Agent 部署中的所有核心数据均在 TEE 边界内闭环流转,以下三类资产受到严格保护:
保护对象 | 说明 |
用户对话隐私 | 用户输入、工具执行上下文和AI回复,可能包含个人身份、医疗、金融等敏感信息。 |
Agent记忆与状态 | OpenClaw的长期记忆、配置、SKILL文件,随运行时间积累形成高价值目标。 |
服务凭证 | 钉钉等IM平台的OAuth凭据、外部API密钥、网关Token。 |
安全架构自底向上覆盖硬件、启动、运行时、密钥和通信五个层级:
保护层级 | 机制 |
硬件层 | Intel TDX 内存加密引擎(MEE)对 Guest 全部内存透明加密,云厂商无法读取明文 |
启动链 | UKI 统一内核镜像 + dm-verity rootfs 防篡改,远程证明验证运行完整性,供应链参考值记录于Rekor 透明日志 |
运行时 | PEP 策略沙箱拦截高危命令和敏感路径访问,防止 Prompt 注入导致权限提升 |
密钥管理 | 磁盘加密密钥在引导阶段通过远程证明挑战注入,由用户本地持有,云厂商不参与 |
通信链路 | RATS-TLS 端到端加密,远程证明验证实例身份后才建立通道,全程加密传输 |
部署使用流程
源码审计:部署人员审计业务源码,确认无恶意代码或后门。
制品构建与软件参考值公开:从审计后的源码构建仅包含OpenClaw服务的轻量级OS镜像,同时将构建产物的SLSA签名上传至Rekor透明日志,公开软件参考值。
创建机密实例:使用构建好的镜像创建gn8v-tee机密计算实例。
远程证明审计、上传机密资源:部署人员通过部署工具,对实例进行远程证明验证其运行在真实TDX硬件上,确认后自动上传机密资源(磁盘加密密钥、钉钉机器人凭证等)。
访问OpenClaw:用户通过Web浏览器、桌面客户端或TUI终端直接访问OpenClaw,也可通过钉钉等IM平台间接访问。
远程证明审计、加密传输:可信网关客户端在建立连接前,先从Rekor获取软件参考值、从Intel PCCS和 RIM/OCSP获取硬件参考值,完成远程证明验证后建立RATS-TLS加密通道,所有通信全程加密。
前提条件
已开通阿里云ECS服务,且账号具备创建gn8v-tee实例的权限。
已准备一台运行 Alibaba Cloud Linux 3 的通用型(或其他) ECS 实例作为部署机,可用磁盘空间不低于 80 GB。
重要部署机仅用于部署操作,使用通用型实例即可,无需使用gn8v-tee,后续步骤会在部署机上执行命令创建gn8v-tee实例。
已获取阿里云AccessKey(建议使用RAM角色或STS临时凭证)。
如需使用钉钉集成,已创建钉钉企业内部应用并获取相关凭据。
操作步骤
步骤一:构建包含OpenClaw和vLLM推理引擎的可信镜像
在部署机(Alibaba Cloud Linux 3实例)上完成源码下载、依赖安装、密钥生成、云资源配置,并构建可信镜像。
登录ECS实例。
访问ECS控制台-实例。在页面左侧顶部,选择目标资源所在的资源组和地域。
进入目标实例详情页,单击远程连接,选择通过Workbench远程连接。选择连接方式为终端连接,输入账号和密码,登录图形化终端页面。
下载项目源码。
cd ~/ git clone https://github.com/inclavare-containers/confidential-agent cd confidential-agent安装所有必需的软件依赖。
make install-deps该命令将自动安装Docker、Terraform、Go、Python、cosign、rekor-cli等构建和部署所需的工具。
生成部署所需的加密密钥和配置文件。
make generate-secrets生成密钥后,需要编辑
secrets/openclaw-vllm.json,将占位符替换为实际值,例如钉钉应用凭据、模型配置等,说明如下:占位符
说明
获取方式
<DINGTALK_BOT_CLIENT_ID>钉钉机器人 ClientId
参考钉钉机器人+ OpenClaw,在钉钉开发者后台创建应用后获取。
<DINGTALK_BOT_CLIENT_SECRET>钉钉机器人 ClientSecret
同上,应用详情页面获取。
配置Terraform变量文件。
说明Terraform是一款开源的基础设施即代码(IaC)工具,可以通过编写声明式的配置文件来自动化构建、变更和版本化管理阿里云上的各种云资源及服务,这里使用了Terraform来辅助机密实例的部署。
cp terraform/terraform.tfvars.example terraform/terraform.tfvars编辑
terraform/terraform.tfvars文件,按下表配置关键参数。配置项
推荐值
说明
zone_id"cn-beijing-l"支持gn8v-tee的可用区
vpc_cidr"10.0.0.0/16"VPC网段
vswitch_cidr"10.0.1.0/24"交换机网段
security_group_allowed_cidr您需要访问OpenClaw服务的客户端环境IP段
安全组放通的源IP范围
重要security_group_allowed_cidr默认值为0.0.0.0/0,生产环境请务必修改限制为具体的IP段,仅放通必要的源IP地址。导出阿里云访问凭证用于Terraform创建云资源。
export ALICLOUD_ACCESS_KEY="<YOUR_ACCESS_KEY>" export ALICLOUD_SECRET_KEY="<YOUR_SECRET_KEY>"说明建议使用RAM角色或临时凭证(STS),避免长期存储AccessKey。关于如何创建AccessKey,请参见创建AccessKey。
构建包含OpenClaw和vLLM推理引擎的可信镜像。
make build PROFILE=openclaw-vllm说明首次构建涉及GPU驱动安装等步骤,请耐心等待。
构建完成后会生成以下两个镜像:
镜像类型
说明
Production镜像
安全加固版本,移除SSH服务端,仅保留最小化运行时,用于正式部署
Debug镜像
保留SSH访问和调试工具,仅用于问题排查
构建过程同时会将镜像参考值上传至Rekor透明日志,生成
.rekor-meta.json元数据文件用于部署时验证。
步骤二:部署可信镜像到实例
将可信镜像部署到gn8v-tee实例,并通过TNG建立端到端加密通道。
在部署机上,执行以下命令,使用可信镜像创建gn8v-tee实例,并在实例创建成功后对实例进行远程证明审计,并完成机密资源的上传。
make deploy PROFILE=openclaw-vllm RV_MODE=rekor关键参数说明:
参数
说明
PROFILE=openclaw-vllm指定部署配置文件
RV_MODE=rekor部署时通过Rekor透明日志验证镜像参考值的完整性
部署过程在云端创建以下资源:
OSS Bucket:私有存储空间,用于上传并托管可信虚拟机镜像(.qcow2)
ECS自定义镜像:由 OSS 镜像文件导入阿里云 ECS 自定义镜像库
ECS GPU机密计算实例:ecs.gn8v-tee.4xlarge 规格机密计算实例,挂载安全组与虚拟交换机,UKI 引导参数包含远程证明挑战配置
安全组:放通 SSH(22)和 TNG 端口(18789),仅允许指定 CIDR 访问
说明默认部署Debug镜像。如需部署Production镜像(无SSH访问),可手动指定镜像文件。
重要由于部署期间将完成镜像上传到OSS、从ModelScope下载模型等步骤,需要访问公网并产生部分流量费用。
在部署机上启动TNG Client,建立部署机与云端gn8v-tee实例之间的RATS-TLS加密通道。
make connect-tng连接成功后,输出中将包括访问OpenClaw所需的HTTP及WebSocket URL和访问Token。后续所有通信均经RATS-TLS加密保护。
通过TNG隧道检查OpenClaw服务是否就绪。
curl -s http://localhost:18789/health返回健康状态后即可继续访问服务。
步骤三:访问受机密计算保护的OpenClaw服务
服务就绪后,可以通过以下四种方式访问OpenClaw服务。
方式一:通过钉钉聊天
在钉钉中找到已配置的机器人,直接发送消息即可与OpenClaw对话。

方式二:通过浏览器Web界面
前置准备:建立本地到部署机的端口转发
步骤二中的make connect-tng在部署机上运行,将TNG隧道绑定到部署机的localhost:18789。用户需从个人电脑通过SSH端口转发将端口映射到部署机:
ssh -L 18789:127.0.0.1:18789 root@<部署机IP>完成后,用户在个人电脑上的浏览器或客户端访问localhost:18789即可等同于访问部署机上的TNG隧道。
通过浏览器访问
在用户自己的个人电脑完成SSH端口转发后,在浏览器中访问http://localhost:18789/openclaw,打开Web控制面板,填入步骤二中获得的OpenClaw Token即可访问。

方式三:通过OpenClaw桌面客户端
前置准备:建立本地到部署机的端口转发
步骤二中的make connect-tng在部署机上运行,将TNG隧道绑定到部署机的localhost:18789。用户需从个人电脑通过SSH端口转发将端口映射到部署机:
ssh -L 18789:127.0.0.1:18789 root@<部署机IP>完成后,用户在个人电脑上的浏览器或客户端访问localhost:18789即可等同于访问部署机上的TNG隧道。
通过桌面客户端访问
在个人电脑上安装OpenClaw桌面客户端,配置remote模式,填入连接地址为ws://localhost:18789,填入步骤二中获得的OpenClaw Token后即可使用。
方式四:通过OpenClaw TUI
在部署机安装OpenClaw作为客户端:
npm install -g openclaw@latest --registry=https://registry.npmmirror.com然后在部署机运行以下命令,以客户端形式启动OpenClaw的TUI界面连接到远程的OpenClaw实例:
openclaw tui --url ws://localhost:18789 --token <gateway-token>其中<gateway-token>为步骤二中获取的OpenClaw网关Token。
首次通过TUI连接时,会提示pairing required。此时请在浏览器中访问http://localhost:18789/openclaw,在节点页面找到待授权设备,单击Approve完成授权后再返回TUI即可正常使用。
授权完成后,TUI即可正常对话:

步骤四(可选):释放资源
不再需要该服务时,执行以下命令释放所有云资源:
make destroy PROFILE=openclaw-vllm销毁操作不可逆,会删除ECS实例及相关网络资源。请确认不再需要实例中的数据后再执行。
安全验证
验证运行环境可信
OpenClaw内置了tdx-remote-attestation skill,当询问安全问题时会自动触发远程证明,验证当前运行环境的安全状态。
触发方式:在钉钉、Web或TUI中询问"我的数据安全吗?"、"这个环境可信吗?"等安全相关的问题。
返回内容:
验证项 | 说明 |
硬件可信状态 | hardware值 ≤ 32表示验证通过 |
TEE类型 | Intel TDX Trust Domain |
内存加密保护 | 确认内存加密引擎已启用 |
UKI启动链完整性 | 组件度量值一致性验证 |

验证PEP策略拦截
PEP(Policy Enforcement Point,策略执行点)是一个为机密AI Agent设计的运行时门禁机制。当 OpenClaw等Agent 通过 exec 工具执行命令时,请求先经过 cai-pep 进行策略匹配,再在隔离的 Docker 沙箱(网络模式 none)中执行,同时使用可配置的策略实施对Agent可执行的工具实施强制限制,从而防范恶意 Prompt 注入导致的安全风险。
PEP 提供三层防护:
命令级拦截:基于黑名单拒绝高危命令(如
curl、wget、nc、ssh、docker等)路径级拦截:阻止访问敏感路径(如
/etc、/proc、/root、/home/openclaw/.openclaw等)网络隔离:沙箱无网络权限,即使命令绕过黑名单也无法发起连接
默认策略文件位于部署机的 ~/confidential-agent/image/customize/files/cai-pep-default-policy.json,您可在构建镜像前按需调整命令黑名单、路径黑名单和资源限制等参数。
假设 Agent 被恶意 Prompt 注入,攻击者诱导其建立反向 Shell 或下载恶意载荷,PEP 会自动拦截这些高危操作:
攻击手段 | 示例命令 | 拦截原因 |
反向 Shell |
|
|
下载恶意载荷 |
|
|
读取敏感文件 |
|
|
验证供应链完整性
部署流程默认使用Rekor透明日志存储镜像参考值,远程证明过程中自动从Rekor获取日志条目进行验证。您可以通过以下方式对Rekor日志条目进行审计,验证供应链完整性。
查看Rekor记录
构建完成后,在部署机上可以找到该条目的log index和entry URL:
cat ~/confidential-agent/image/output/slsa-output-cai-openclaw-vllm-debug-*/rekor-v1-upload.txt输出示例:
Created entry at index 1205944956, available at: https://rekor.sigstore.dev/api/v1/log/entries/<uuid>验证包含性(inclusion proof)
包含性证明用于确认记录着镜像参考值的条目确实存在于Rekor的默克尔树根(Merkle Root)中。
rekor-cli verify --log-index 1205944956 --rekor_server https://rekor.sigstore.dev如果输出中包含两段相同的hash值,则说明验证成功:
Computed Root Hash: 1291abcee27148a4c00241ba8719f798ce060e8a5ccc8b18249017c25c6d0090
Expected Root Hash: 1291abcee27148a4c00241ba8719f798ce060e8a5ccc8b18249017c25c6d0090验证一致性(consistency proof)
一致性证明可确认一个较旧的默克尔树根(Root A)是较新的默克尔树根(Root B)的前缀或历史状态,从而确保Rekor上存储的参考值条目没有被删改。
rekor-cli loginfo --rekor_server https://rekor.sigstore.dev输出中包含以下内容则说明验证成功:
Verification Successful!安全组配置
make deploy过程中将自动创建安全组规则。如果您后续需要修改安全组,请确保安全组中包含以下规则:
端口 | 协议 | 说明 | 安全建议 |
22 | TCP | SSH远程管理(仅Debug镜像) | 限制源IP为管理网络 |
18789 | TCP | TNG隧道端点(RATS-TLS),用于访问OpenClaw服务 | 限制源IP或通过TNG访问 |
重要:生产环境务必将security_group_allowed_cidr修改为具体的管理IP段,避免使用0.0.0.0/0。
常见问题
make build失败,提示缺少依赖确认依赖安装完整,并检查磁盘空间是否充足:
make install-deps df -h /如果上述方法无法解决问题,运行
make clean-image清除构建产物后重新尝试构建。make deploy失败,提示NoSetRoletoECSServiceAcount该错误表示未授权ECS镜像导入角色。请执行以下操作之一:
登录阿里云控制台,进入ECS > 镜像 > 导入镜像,单击授权创建
AliyunECSImageImportDefaultRole角色。通过RAM控制台,为角色
AliyunECSImageImportDefaultRole授权AliyunOSSFullAccess策略。
服务未响应
确认部署的是Debug镜像(Production镜像不包含SSH)。
重新部署一次,确认
make deploy无报错。使用Debug镜像部署后,通过SSH连接查看日志排查。
本地TNG验证失败
确认本地Trustee容器已启动并健康:
# 确认本地Trustee容器已启动 docker ps | grep cai-local-trustee # 检查Trustee健康状态 curl http://127.0.0.1:18081/api/health # 如果Trustee未就绪,重新执行 make connect-tngcai-pep拒绝所有工具调用
使用Debug镜像部署后,通过SSH连接查看cai-pep日志排查具体拦截原因。