実行中、AI エージェントはユーザーとの会話の処理、外部ツールの呼び出し、長期記憶の管理、サービス認証情報の取り扱いを行うため、従来のアプリケーションよりもはるかに広い攻撃対象領域を生み出します。このトピックでは、ワンクリックデプロイ スクリプトを使用して、Alibaba Cloud g9i TDX コンフィデンシャルコンピューティングインスタンス上に OpenClaw のコンフィデンシャル AI エージェントを迅速に構築する方法について説明します。OpenClaw は、モデル推論に Model Studio API を使用し、Intel TDX のハードウェアレベルのメモリ暗号化、リモートアテステーション、エンドツーエンドで暗号化された通信と組み合わせることで、ユーザーとの会話、エージェントの状態、サービス認証情報を保護します。
ソリューション概要
このトピックでは、コンフィデンシャル エージェント ソリューションについて説明します。OpenClaw (オープンソースのパーソナル AI エージェント) を Intel TDX (Trust Domain Extensions) の信頼された実行環境 (TEE) にカプセル化することで、このソリューションはハードウェアレベルのメモリ暗号化、リモートアテステーション、検証可能なサプライチェーン、およびエンドツーエンドで暗号化されたアクセスを使用し、ユーザーとの会話、エージェントの状態、およびツールの実行プロセスが保護された境界内で処理されることを保証します。
このソリューションでは、モデル推論は Alibaba Cloud Model Studio (DashScope) API が提供します。AI エージェントは Intel TDX トラストドメイン内で実行されます。ユーザーの入力とエージェントのコンテキストが TDX のメモリ境界内で組み立てられた後、OpenClaw が HTTPS 経由で Model Studio API を呼び出してモデル推論を行います。ユーザーの会話履歴、エージェントの長期記憶、SKILL ファイル、サービス認証情報、および IM プラットフォームの状態はすべて TDX トラストドメイン内に保持されます。この「コンフィデンシャル エージェント + マネージドモデル」アーキテクチャは、汎用の TDX インスタンス (GPU は不要) 上で実行され、大規模モデルをローカルで実行する場合と比較して、デプロイの障壁とコストを大幅に削減し、スケーラビリティを向上させます。
「異種コンフィデンシャルコンピューティングインスタンスでの OpenClaw コンフィデンシャル AI エージェントの構築」で説明されている「インスタンス上の vLLM 推論」ソリューションとは異なり、このソリューションでは大規模なモデル推論サービスを TDX インスタンス内にデプロイしません。モデル推論のプロンプトとレスポンスは、HTTPS 経由で Model Studio API に送信されます。Model Studio API は Alibaba Cloud が提供しており、Alibaba Cloud のデータ保護コミットメントに準拠していますが、プロンプトのコンテンツは TDX インスタンスのハードウェア暗号化境界の外に出ます。推論プロセスにおいても「データが TEE を離れない」ことが要件の場合は、インスタンス上の vLLM 推論ソリューションを使用してください。
セキュリティアーキテクチャ
コンフィデンシャル エージェントのデプロイでは、すべてのコアデータが TEE (信頼された実行環境) の境界内で処理されます。以下の資産が保護されます:
保護対象の資産 | 説明 |
ユーザーの会話のプライバシー | ユーザーの入力、ツールの実行コンテキスト、AI のレスポンス。これらには、個人を特定できる情報、医療データ、財務データ、その他の機密情報が含まれる可能性があります。 |
エージェントのメモリと状態 | OpenClaw の長期記憶、設定、SKILL ファイル。これらは時間とともに蓄積され、価値の高いターゲットとなります。 |
サービス認証情報 | Model Studio DashScope API キー、DingTalk OAuth 認証情報、および OpenClaw ゲートウェイトークン。これらの認証情報が漏洩すると、サービス乗っ取りやクォータの不正利用につながる可能性があります。 |
セキュリティアーキテクチャは、下から上に、ハードウェア、ブートチェーン、ランタイム、キー管理、通信の 5 つのレイヤーをカバーしています:
保護レイヤー | メカニズム |
ハードウェア | Intel TDX は、すべてのゲスト OS のメモリを透過的に暗号化します。クラウドプラットフォームとホストマシンは、平文データを読み取ることはできません。 |
ブートチェーン | 統合カーネルイメージ (UKI) と dm-verity rootfs が改ざんを防止します。イメージの計測値は Rekor 透明性ログにアップロードされます。 |
ランタイム |
|
キー管理 | ディスク暗号化キー、OpenClaw の設定、DingTalk 認証情報、Model Studio API キーは、リモートアテステーションが成功した後にのみインジェクトされます。 |
通信 | RATS-TLS によるエンドツーエンド暗号化。チャネルは、リモートアテステーションがインスタンスの ID を検証した後にのみ確立されます。すべての通信は転送中に暗号化されます。 |
デプロイメントアーキテクチャ
デプロイメントプロセスは以下の通りです:
認証情報の準備:デプロイマシンで Alibaba Cloud AccessKey、Model Studio API キー、および (オプション) DingTalk 認証情報をエクスポートします。
ワンクリックデプロイメント:ワンクリックデプロイメントスクリプトを実行します。これにより、依存関係のインストール、信頼できるイメージの構築、参照値のアップロード、クラウドリソースの作成、リモートアテステーションの実行、シークレットのインジェクトが自動的に行われます。
暗号化チャネルの確立:スクリプトは TNG 接続トンネルを自動的に開始し、デプロイマシンと TDX インスタンスの間に RATS-TLS 暗号化チャネルを確立します。
サービスへのアクセス:DingTalk、Web、デスクトップクライアント、または TUI を通じて OpenClaw にアクセスします。すべてのトラフィックは、RATS-TLS 暗号化チャネルを通じて TDX インスタンスに入ります。
前提条件
Alibaba Cloud ECS が有効化されており、アカウントに TDX コンフィデンシャルコンピューティングインスタンス、VPC、vSwitch、セキュリティグループ、OSS バケット、およびカスタムイメージを作成する権限があること。
デプロイマシンとして Alibaba Cloud Linux 3 ECS インスタンスが準備されており、少なくとも 80 GB の利用可能なディスク領域があること。
重要デプロイマシンは、ビルドとデプロイ操作にのみ使用されます。ワンクリック スクリプトは、OpenClaw サービスを実行するための新しい TDX コンフィデンシャルコンピューティングインスタンスを自動的に作成します。デプロイマシン自体は TDX インスタンスである必要はありません。
Alibaba Cloud アクセス資格情報が取得されていること。プライマリアカウントの AccessKey ペアを長期間保存するのではなく、最小権限の RAM ユーザー、RAM ロール、または STS 一時的な資格情報を使用することを推奨します。
Alibaba Cloud Model Studio が有効化されており、DashScope API キーが取得されていること。
(オプション) DingTalk 統合を使用する場合、DingTalk 企業内部アプリケーションが作成されており、
クライアント IDとクライアントシークレットが取得されていること。デプロイマシンがインターネットにアクセスし、ソースコード、システムパッケージ、Node.js、npm パッケージ、Rekor 透明性ログ、および Alibaba Cloud OpenAPI を取得できること。
操作手順
このトピックでは、ecs.g9i.xlarge インスタンスタイプ、cn-beijing リージョン、および cn-beijing-i ゾーンをデフォルト設定として使用します。
ステップ 1:認証情報の準備
ワンクリックデプロイ スクリプトでは、クラウドリソース (Elastic Compute Service (ECS) インスタンス、Virtual Private Cloud (VPC)、セキュリティグループなど) を作成するための Alibaba Cloud AccessKey と、OpenClaw にモデル推論機能を提供するための Model Studio API キーが必要です。デプロイマシンで次のコマンドを実行し、認証情報を環境変数としてエクスポートします。
export ALICLOUD_ACCESS_KEY="<YOUR_ACCESS_KEY>"
export ALICLOUD_SECRET_KEY="<YOUR_SECRET_KEY>"
export DASHSCOPE_API_KEY="<YOUR_DASHSCOPE_API_KEY>"上記のコマンド内のプレースホルダーは、実際の値に置き換えてください。次の表にパラメーターを示します。
プレースホルダー | 説明 | 取得方法 |
| Alibaba Cloud AccessKey ID | 「Create an AccessKey pair」をご参照ください。 |
| Alibaba Cloud AccessKey Secret | AccessKey ID と同時に生成されます。 |
| Model Studio DashScope API キー | Model Studio console から取得します。 |
プライマリアカウントの AccessKey ペアを長期間保存する代わりに、最小権限の RAM ユーザーまたは STS の一時的な認証情報を使用することを推奨します。
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 Developer Portal から取得します。
ステップ 2:ワンクリックデプロイの実行
デプロイマシンで次のコマンドを実行し、インタラクティブモードでのデプロイを開始します:
curl -fsSL https://raw.githubusercontent.com/inclavare-containers/confidential-agent/one-click/one-click/install.sh | shスクリプトはデフォルトでインタラクティブモードで起動し、不足している Alibaba Cloud 認証情報、Model Studio API キー、DingTalk 認証情報、OpenClaw Gateway Token、オペレーター CIDR の入力を求めます。主なデフォルト構成は次のとおりです:
構成項目 | デフォルト値 | 説明 |
リージョン |
| Alibaba Cloud のリージョン。 |
ゾーン |
| TDX インスタンスタイプをサポートするゾーン。 |
インスタンスタイプ |
| デフォルトの TDX インスタンスタイプ。 |
システムディスク |
| OpenClaw イメージとランタイム状態に必要なディスク領域。 |
OpenClaw バージョン |
| OpenClaw のバージョン。 |
Node.js バージョン |
| OpenClaw ランタイム向けの Node.js バージョン。 |
npm レジストリ |
| OpenClaw イメージのビルドに使用する npm レジストリ。 |
参照値 |
| ビルド後、参照値は Rekor にアップロードされ、デプロイ時の検証に使用されます。 |
状態ディレクトリ |
| ローカル状態、キー、Terraform、およびビルド成果物のディレクトリ。 |
ワンクリック スクリプトはデプロイマシンのパブリック IP を自動検出し、インタラクティブモードでオペレーターのアクセス CIDR の入力を求めます:
オプション | 説明 | 適用シナリオ |
デプロイマシンのパブリック IP | 現在のデプロイマシンのみが、コントロールプレーン、ステータス API、デバッグ用 SSH、connect ポートにアクセスできます。 | デフォルトで推奨します。本番環境とテストに適しています。 |
| すべての IPv4 ソースが、オペレーター公開ポートにアクセスできます。 | 一時的なデモ、または制御されたネットワーク環境。 |
0.0.0.0/0 は攻撃対象領域を拡大します。デフォルトでは、OpenClaw はデバイス認証を無効化しており、コントロールプレーンは 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クラウドリソースを作成せずに、ローカル依存関係のインストールと、コンフィデンシャル エージェントのコンポーネントおよびツールイメージのビルドのみを行うには、次のコマンドを実行します:
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ステップ 3:デプロイの待機と確認
スクリプトは次の処理を自動的に実行します:
デプロイマシンの依存関係をインストールします。
confidential-agent、confidential-agentd、cai-pepをビルドし、confidential-agentを/usr/local/binにインストールします。confidential-agent-tools:latestをビルドし、イメージ内のバージョンに一致する OpenClaw CLI をデプロイマシンにインストールします。FDE、dm-verity、UKI を有効化した OpenClaw の信頼できるイメージをビルドします。
イメージの参照値を Rekor 透明性ログにアップロードします。
Alibaba Cloud リソースを作成し、TDX ECS インスタンスを起動します。
リモートアテステーションに合格した後、OpenClaw の設定、Model Studio API キー、DingTalk 認証情報、Gateway Token をインジェクトします。
ローカルの TNG connect トンネルを起動し、Web 到達性チェック、Gateway WebSocket プローブ、チャットプローブを実行します。チャットプローブでは、Model Studio 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 が再利用されます。トークンをローテーションするには、このファイルを削除してからスクリプトを再実行します。
ステップ 4:OpenClaw サービスへのアクセス
サービスの準備ができたら、次の 4 つの方法で OpenClaw にアクセスできます。すべてのトラフィックは TNG RATS-TLS チャネルを介して TDX インスタンスに入ります。
方法 1:DingTalk チャット
DingTalk で構成済みのボットを見つけ、メッセージを送信して OpenClaw との会話を開始します。

方法 2:Web ブラウザ
ブラウザをデプロイマシンで実行している場合は、次の URL に直接アクセスします:
http://127.0.0.1:18789/openclawブラウザをパーソナルコンピューターで実行している場合は、まずパーソナルコンピューター上で次のコマンドを実行し、SSH ポートフォワーディングを確立します:
ssh -L 18789:127.0.0.1:18789 root@<DEPLOY_MACHINE_PUBLIC_IP><DEPLOY_MACHINE_PUBLIC_IP> は、デプロイマシンのパブリック IP アドレスです。
その後、ブラウザで http://127.0.0.1:18789/openclaw にアクセスし、ステップ3で取得した Gateway Token を入力します。

方法 3:OpenClaw デスクトップクライアント
パーソナルコンピューターに OpenClaw デスクトップクライアントをインストールし、Remote モードを設定します:
構成項目 | 値 |
Server URL |
|
Token | ステップ3で取得したGateway Token |
デスクトップクライアントをデプロイマシン以外で実行する場合は、先にパーソナルコンピューター上で SSH ポートフォワーディングを確立します:
ssh -L 18789:127.0.0.1:18789 root@<DEPLOY_MACHINE_PUBLIC_IP><DEPLOY_MACHINE_PUBLIC_IP> は、デプロイマシンのパブリック IP アドレスです。
方法 4:OpenClaw TUI
ワンクリック スクリプトは、クラウドイメージに一致する OpenClaw CLI をデプロイマシンにインストールします。次のコマンドを実行して TUI を起動します:
openclaw tui --url ws://127.0.0.1:18789 --token <YOUR_GATEWAY_TOKEN><YOUR_GATEWAY_TOKEN> は、ステップ 3 でデプロイ後に出力される Gateway Token です。
初めて TUI 経由で接続する際に、pairing required が表示された場合は、ブラウザーで http://127.0.0.1:18789/openclaw にアクセスし、ノードページで保留中のデバイスを見つけ、[承認] をクリックしてから、TUI に戻ります。
ステップ 5 (オプション):リソースの解放
サービスが不要になったら、デプロイマシンで次のコマンドを実行し、クラウドリソースを解放します:
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、vSwitch、その他のクラウドリソースが削除されます。このコマンドを実行する前に、インスタンス内のデータが不要であることを確認してください。
セキュリティの検証
信頼できる実行環境の検証
OpenClaw には、tdx-remote-attestation スキルが組み込まれています。セキュリティ関連の質問を受けると、リモートアテステーションを自動的にトリガーし、現在の実行環境のセキュリティ状態を検証します。
トリガー方法:DingTalk、Web、または TUI で、「Is my data safe?」、「Is this environment trusted?」、「Verify the current TDX execution environment.」などのセキュリティ関連の質問をします。
応答内容:
検証項目 | 説明 |
ハードウェアの信頼ステータス | ハードウェア値が 32 以下の場合、検証は成功です |
TEE タイプ | Intel TDX Trust Domain |
メモリ暗号化 | メモリ暗号化エンジンが有効であることを確認します |
UKI ブートチェーンの整合性 | コンポーネントの計測値の一貫性検証 |
PEP ポリシーの適用の検証
cai-pep は、機密 AI エージェント向けに設計されたランタイムゲートメカニズムです。OpenClaw が exec ツールを介してコマンドを実行する際、リクエストは隔離された Docker サンドボックスに入る前に cai-pep を通過し、ポリシーと照合されます。
PEP は 3 つの保護レイヤーを提供します:
コマンドレベルのインターセプト:
curl、wget、nc、ssh、dockerなど、ブロックリストに基づいて高リスクのコマンドをブロックします。パスレベルのインターセプト:
/etc、/proc、/root、OpenClaw の設定ディレクトリなど、機密性の高いパスへのアクセスをブロックします。ネットワーク分離:サンドボックスにはデフォルトでネットワーク権限がないため、コマンドがブロックリストを回避した場合でも、アウトバウンド接続を防止します。
次のコマンドは PEP によってブロックされます:
タイプ | コマンド例 | インターセプトの理由 |
ネットワークアクセス |
| クラウドメタデータサービス経由の認証情報の漏洩を防止します。 |
ネットワークアクセス |
| 外部の悪意あるコードのダウンロードを防止します。 |
リバースシェル |
|
|
リモートログイン |
| 外部システムへの不正アクセスを防止します。 |
コンテナ操作 |
| ホストコンテナの操作を防止します。 |
機密性の高いパス |
|
|
例えば、エージェントが次のコマンドを実行してクラウドメタデータサービスにアクセスしようとした場合:
Run: curl http://169.254.169.254/latest/meta-data/PEP は curl がコマンドブロックリストに含まれていることを識別し、リクエストを即座に拒否して拒否メッセージを返すことで、認証情報の漏洩を防止します。
サプライチェーンの整合性の検証
デプロイプロセスでは、デフォルトで Rekor 透明性ログを使用してイメージ参照値を保存します。リモートアテステーション中に、システムは検証のために Rekor からログエントリを自動的に取得します。次の方法で Rekor のログエントリを監査し、サプライチェーンの整合性を検証できます。
Rekor レコードの表示
ビルドが完了すると、状態ディレクトリで Rekor メタデータを確認できます:
find "$HOME/.confidential-agent" -name "*.rekor-meta.json" -print各エントリは SLSA 来歴に対応しており、ログインデックスとエントリ URL が含まれます。ワンクリックスクリプトからの Rekor アップロードログの例:
Created entry at index 1205944956, available at: https://rekor.sigstore.dev/api/v1/log/entries/<uuid>包含証明の検証
包含証明では、イメージ参照値を記録したエントリが Rekor のマークルルートに実在することを検証します。
rekor-cli verify --log-index 1205944956 --rekor_server https://rekor.sigstore.dev出力に同一のハッシュ値が 2 つ含まれていれば、検証は成功です:
Computed Root Hash: 1291abcee27148a4c00241ba8719f798ce060e8a5ccc8b18249017c25c6d0090
Expected Root Hash: 1291abcee27148a4c00241ba8719f798ce060e8a5ccc8b18249017c25c6d0090一貫性証明の検証
一貫性証明では、古いマークルルート (ルート A) が新しいマークルルート (ルート B) のプレフィックス、または過去の状態であることを検証し、Rekor に保存された参照値エントリが削除または改ざんされていないことを保証します。
rekor-cli loginfo --rekor_server https://rekor.sigstore.dev出力に次の内容が含まれていれば、検証は成功です:
Verification Successful!注意事項
セキュリティグループルール
セキュリティグループルールは、ワンクリックデプロイ中に自動的に作成されます。後から変更する必要がある場合は、次のポートを保持してください:
ポート | プロトコル | 説明 | 推奨事項 |
22 | TCP | SSH リモート管理 (デバッグイメージのみ) | ソース IP を管理ネットワークに制限してください。 |
18789 | TCP | OpenClaw サービスにアクセスするための TNG トンネルエンドポイント (RATS-TLS) | ソース IP を制限するか、TNG 経由でのみアクセスしてください。 |
デフォルトのオペレーター CIDR は、デプロイマシンのパブリック IP と /32 です。手動で 0.0.0.0/0 を指定した場合は、トークン漏洩リスクを低減するため、本番環境では特定のパブリック IP またはエンタープライズ Egress CIDR に変更してください。
Model Studio API キーとクォータ
Model Studio API キーによって、インスタンスで使用可能なモデルとクォータが決まります。推奨事項は次のとおりです:
必要最小限のクォータが設定された API キーを使用してください。プライマリアカウントキーの使用は避けてください。
インジェクション後に定期的にローテーションするには、
secrets/gateway.tokenを削除し、DASHSCOPE_API_KEYを再エクスポートして、ワンクリックスクリプトを再実行します。Model Studio コンソールのアクセス監査機能を使用して、異常な呼び出し量に対するアラートを設定してください。
よくある質問
peering 'ops' already exists with a different CIDR
原因:現在の状態ディレクトリに、異なる CIDR を持つオペレーターピアリングがすでに存在します。
解決策:既存のピアリングに一致する --allowed-cidr を渡すか、インタラクティブモードで置き換えを確認するか、非インタラクティブモードで --yes を追加します。
Shelter is required または SLSA generator is required
原因:デプロイマシンに Shelter がインストールされていないか、Rekor モードで SLSA ジェネレーターが見つかりません。
解決策:
hack/ディレクトリにshelter-*.rpmが存在することを確認するか、--shelter-rpmで RPM パスを指定してください。Shelter RPM を再インストールし、
/usr/libexec/shelter/slsa/slsa-generatorが存在することを確認してください。ローカル開発およびテスト専用として、
--reference-values sampleを使用して Rekor プロセスをスキップしてください。
Web ポートにアクセスできない
原因とトラブルシューティング:
connect.logを確認してください:tail -F "$HOME/.confidential-agent/one-click/connect.log"。ECS インスタンスのセキュリティグループが
opsおよびdeployerオペレーターピアリングを許可していることを確認してください。デプロイマシンのパブリック IP が変更された場合は、ワンクリック スクリプトを再実行するか、
peering remove deployerを実行して、新しい IP で新しいdeployerピアリングを追加してください。
チャットプローブが失敗する
原因:このソリューションでは推論は Model Studio API によって実行されるため、チャットプローブの失敗は、通常、Model Studio 側の設定に起因します。
解決策:
DASHSCOPE_API_KEYが正しく、アクティブであることを確認してください。Model Studio コンソールで、選択したモデルが利用可能で、料金の未払いがないことを確認してください。
デバッグ SSH 経由でゲストにログインし、OpenClaw ゲートウェイログを確認してください。
DingTalk が応答しない
原因とトラブルシューティング:
デプロイメント中に
--enable-dingtalkが渡されたか、インタラクティブモードで DingTalk が有効化されたことを確認してください。ゲストの
openclaw statusでDingTalkチャネルがONと表示されているかどうかを確認してください。journalctl -u cai-openclaw-gateway.service -n 200 --no-pagerでdingtalk接続エラーを確認してください。HTTP 401 が表示される場合は、DingTalk のクライアント IDとクライアントシークレットが DingTalk オープンプラットフォームのものと一致していることを確認してください。DingTalk アプリケーションがメッセージの送受信に必要な権限を持っていることを確認してください。
cai-pep がすべてのツールコールを拒否する
原因:PEP ポリシー設定が正しくないか、サービスが正しく起動していません。
解決策:デバッグイメージでデプロイした後、SSH 経由で TDX インスタンスにログインし、cai-pep ログで具体的なインターセプトの理由を確認してください。
journalctl -u cai-pep.service -n 200 --no-pager