Cortex Code CLIサンドボックス¶
Cortex Code CLIは、サンドボックス内でシェルコマンドを実行し、ファイルシステムアクセス、ネットワークアクセス、プロセス機能を制限できます。サンドボックスは分離層を追加し、エージェントが誤ってファイルを変更したり、プロジェクト外のリソースにアクセスしたりすることを防ぎます。
重要
この機能のサポートは試験的なものであり、変更される可能性があります。
プラットフォームのサポート¶
サンドボックスは、オペレーティングシステムの組み込み分離機能を使用してコマンドを制限します。
プラットフォーム |
実装 |
依存関係 |
|---|---|---|
macOS |
``sandbox-exec``(組み込み) |
|
Linux |
|
|
Windows |
ネイティブ制限トークン |
なし |
依存関係のインストール¶
macOS:
Debian/Ubuntu:
Fedora/RHEL:
サンドボックスの有効化¶
Cortex Code CLIで``/sandbox``スラッシュコマンドを使用します。
設定ファイルでサンドボックスを有効にすることもできます。~/.snowflake/cortex/settings.json``(ユーザーレベル)または.snowflake/cortex/settings.json``(プロジェクトレベル)に``sandbox``オブジェクトを追加します。
デフォルトの権限モードは``"regular"です。自動許可モードを使用するには、"mode": "autoAllow"``を明示的に設定します。権限モード をご参照ください。
権限モード¶
サンドボックスには、コマンドの承認方法を制御する2つの権限モードがあります。
モード |
設定値 |
動作 |
|---|---|---|
自動許可 |
|
サンドボックス化できるコマンドは、プロンプトなしで自動的に実行されます。サンドボックス化できないコマンド(例:許可されていないドメインへのネットワークアクセスを必要とするコマンド)は、通常の権限フローにフォールバックします。 |
通常 |
|
サンドボックス内で実行されている場合でも、すべてのコマンドは承認を求めます。 |
``/sandbox``コマンドを使用するか設定でモードを設定します。
ファイルシステムの制限¶
サンドボックスは、コマンドが読み取りおよび書き込みできるパスを制御します。
デフォルトの動作¶
保護されたパス(常に書き込み拒否)¶
構成に関係なく、次のパスは常に保護されます。
カスタムファイルシステムルール¶
設定でファイルシステムへのアクセスを構成します。
重要
拒否ルールは、常に許可ルールよりも優先されます。パスが``allowWrite``と``denyWrite``の両方に一致する場合、パスは拒否されます。
ネットワークの制限¶
サンドボックスは、コマンドがネットワークを介してアクセスできるドメインを制限できます。
サンドボックス化されていないコマンドのフォールバック¶
一部のコマンドはサンドボックスと互換性がない場合があります。``allowUnsandboxedCommands``設定は、コマンドがサンドボックス内で実行できない場合の動作を制御します。
設定 |
動作 |
|---|---|
|
エージェントはホスト上でコマンドを実行するようにリクエストできます。承認を求められます。 |
|
コマンドはサンドボックス内で実行するか、``excludedCommands``に記載されている必要があります。どちらにも当てはまらない場合、コマンドは失敗します。 |
除外されるコマンド¶
常にサンドボックス外のホスト上で実行するコマンドを指定できます。
除外されたコマンドはサンドボックスをバイパスし、通常の権限フローに従います。
設定の参照¶
完全な``sandbox``設定オブジェクト:
設定 |
デフォルト |
説明 |
|---|---|---|
|
|
サンドボックスを有効または無効にします。 |
|
|
権限モード: |
|
|
コマンドをサンドボックス化できない場合に、ホスト実行へのフォールバックを許可します。 |
|
|
常にサンドボックス外のホスト上で実行されるコマンド。 |
|
|
高レベルの権限の許可ルール。 |
|
|
高レベルの権限の拒否ルール。``permissions.allow``と同じパターン構文。許可ルールよりも優先されます。 |
|
|
ネットワークドメインの許可リスト(空 = すべて許可)。ワイルドカードをサポートします。 |
|
|
ネットワークドメインの拒否リスト。許可リストよりも優先されます。 |
|
|
サンドボックス化されたコマンドがローカルポートにバインドすることを許可します。 |
|
|
読み取りの許可リスト(空 = 拒否以外のすべてを許可)。 |
|
|
読み取りの拒否リスト。優先されます。 |
|
|
書き込みの許可リスト。 |
|
|
書き込みの拒否リスト。優先されます。 |
|
|
会話のコンテキストとセッションデータの保存に使用されるコンテキストディレクトリ( |
構成スコープ¶
サンドボックスの設定は、他のCortex Codeの設定と同じ優先順位に従います。
**プロジェクトレベル**(最優先):
.snowflake/cortex/settings.jsonユーザーレベル:
~/.snowflake/cortex/settings.json管理/適用:管理者は、管理設定ファイルを介してサンドボックスポリシーを適用できます。管理設定(組織ポリシー) をご参照ください。