セキュリティ

Pontia はエージェントの実行をデバイス上に保ち、リモートの認可と暗号化されたデバイスの通信を分離します。デバイス、認証情報、Pontia の状態ディレクトリ、ブラウザーの Session、セルフホストの Edge のホストを保護してください。

信頼境界

コンポーネントセキュリティ上の役割プロジェクトファイルへのアクセス
デバイス上の pontiadローカルおよびリモートのリクエストを認証し、Agent Client を調整しますローカルユーザーの権限と設定済みの Workspace を通じてアクセスします
Agent Client独自の認証情報、ツール、サンドボックス、承認を使ってエージェントの作業を実行しますその Client のローカルの権限に従います
Pontia Cloudユーザーを認証し、所有権を記録し、デバイスと Edge を登録し、接続を認可しますデバイスのファイルシステムにはアクセスしません
Edge認可されたデバイスのトンネルを受け入れ、ブラウザーとデバイス間の暗号文を中継しますプロジェクトに平文でアクセスしません
ブラウザー選択したデバイスから返されたデータを表示しますファイルシステムに直接アクセスしません

Cloud は新しいリモート接続を認可します。Dashboard の通信は Edge を経由し、デバイスはリクエストを受け入れる前にブラウザーの認可を検証します。

エンドツーエンドで暗号化されたリモートアクセス

ブラウザーは一時的な ID を作成し、そのブラウザーの鍵、対象のデバイス、デバイスの鍵のバージョンに紐付いた、署名付きの短期間有効なケイパビリティを取得します。デバイスは Session を受け入れる前に、Pontia Cloud の検証鍵でケイパビリティを検証します。

ブラウザーとデバイスは X25519 ベースの HPKE で Session 鍵を確立し、ChaCha20-Poly1305 でレコードを保護します。認証されたリクエスト ID と上限付きのリプレイ追跡により、傍受された暗号化リクエストが再実行されることを防ぎます。アイドル状態の E2E Session は期限切れになり、アクティブなストリームには別の上限が設けられています。

Edge から見えるのは、ルーティングのメタデータと、暗号化された通信のサイズとタイミングです。Dashboard API のリクエストとレスポンスは、ブラウザーとデバイスの間で暗号化されたままです。

ローカルアクセス

Local Dashboard と External API は、$PONTIA_HOME/config.toml の external_api_token を使用します。デフォルトのリスナーはループバックのみです。bind_addr をループバック以外のアドレスに変更すると、トークンで認証される API がそのネットワークに公開されます。信頼できるネットワークとトランスポートの保護は自分で用意してください。

リモートアクセスでは、デバイスが検証する別の暗号化されたブラウザーとデバイス間の Session を使い、現在の External API と同じケイパビリティを認可します。

保護すべきシークレット

次の値とファイルは非公開にしてください。

  • config.toml の external_api_token
  • $PONTIA_HOME/auth.json
  • $PONTIA_HOME/e2e-identity.json
  • セルフホストの Edge のデプロイコマンドと、保留中の初期化状態
  • /etc/pontia/edge/credential と TLS の秘密鍵
  • Agent Client とモデルプロバイダーの認証情報

Pontia は認証情報ファイルを制限的な権限で作成します。そのバックアップを保護し、診断情報を共有する前にシークレットを取り除いてください。認証情報を含むシェル履歴は機密情報として扱ってください。

認証情報が漏洩した場合の対応

  • ローカル API トークン: config.toml で新しいトークンを生成し、pontia up を実行して、信頼できるローカルのブラウザーを更新します。
  • デバイスのアクセス: デバイス設定からデバイスを削除して、新しいリモート接続を防ぎます。CLI のログインと他の登録済みデバイスは引き続き使用できます。
  • デバイスの ID: pontia remote rotate-key を実行します。
  • デバイスの紛失: デバイス設定からデバイスを削除し、見覚えのないブラウザーの Session を取り消します。
  • Edge の認証情報またはホスト: Cloud で Edge の登録と関連するデバイスを削除し、信頼できる Edge に再デプロイしてデバイスを再登録します。

デバイスに保持されるデータ

Pontia は、永続的なコントロールプレーンのレコード、限られたメッセージと関連付けのデータ、Workflow ファイル、ネイティブのタイムラインのロケーターを PONTIA_HOME に保存します。完全な会話履歴は Agent Client が保存し管理します。ネイティブの会話を管理または削除するには、その Client のデータ管理ツールを使用してください。