logo
Development
検索
ランタイムセキュリティ

ランタイムセキュリティ

概要

ランタイムセキュリティ設定は、Agent の実行過程におけるセキュリティポリシーを設定するためのもので、連絡先ノードサンドボックスの3つのタブを含みます。

ランタイムセキュリティページ-CN


ツール権限の分類

すべてのツールはセキュリティレベルに応じて3段階に分類されます。

レベル 名称 動作 適用ツールの例
P0 自動実行 ユーザーの確認不要、サイレントで実行 Read File、List Directory、Memory Query
P1 初回確認 初回呼び出し時に権限ダイアログで確認 Bash、Web Fetch、Skill
P2 毎回確認 呼び出しごとにユーザーの確認が必要 高リスク操作

権限ダイアログ

Agent が P1/P2 レベルのツールを呼び出す際、画面に権限確認ダイアログが表示されます。

権限確認ダイアログ-CN

情報 説明
ツール名 呼び出しを要求されたツール
操作説明 ツールが実行する具体的な操作
入力パラメータ ツールが受け取るパラメータの詳細
許可 / 拒否 ユーザーの判断ボタン

危険コマンドの事前チェック

Bash ツールには危険コマンドの事前チェック機構(bashCommandPreflightCheck)が組み込まれています。

検出タイプ 説明
破壊的パスの検出 rm -rf /rm -rf ~ などの高リスク削除コマンドを検出
システムコマンドの検出 shutdownreboot などのシステムレベルコマンドを検出
データ損失リスク データ損失を招く可能性のある操作を検出

危険コマンドを検出した場合、自動的に P2 レベル(毎回確認)に引き上げられます。


Hook による割り込み

システムは beforeToolUse および afterToolUse Hook をサポートします。

Hook トリガータイミング 機能
beforeToolUse ツール実行前 実行の阻止、パラメータの変更、確認レベルの強制引き上げが可能
afterToolUse ツール実行後 ログの記録、後続操作のトリガーが可能

サンドボックス実行環境

サンドボックスは隔離されたコード実行環境を提供し、ホストシステムの安全を保護します。

技術仕様

パラメータ
仮想化 VirtIO Serial 通信によるマイクロ仮想マシン
アーキテクチャ対応 arm64、amd64
ランタイム 完全な Linux 環境(Bash、Python、Node.js)

3つの実行モード

モード 説明
local ホストシステム上で直接実行(デフォルト)
sandbox サンドボックス内での実行を強制
auto サンドボックスが必要かどうかをシステムが自動判断

インストールの流れ

  1. システム検出:ホストシステムの互換性をチェック
  2. Runtime のダウンロード:仮想化ランタイムをダウンロード
  3. Image のダウンロード:Linux ディスクイメージをダウンロード
  4. 準備完了:サンドボックスが利用可能

サンドボックスインストール進捗-CN

インストール進捗は CoworkSandboxProgress コンポーネントで表示されます(段階、ダウンロード済み/合計、パーセンテージ)。

ステータス検出

ステータスフィールド 説明
supported 現在のシステムがサンドボックスに対応しているか
runtimeReady ランタイムがインストール済みか
imageReady イメージがインストール済みか
downloading ダウンロード中かどうか

ノードセキュリティ

ノードタブでは、マルチノードシナリオにおけるセキュリティポリシーを設定します。

設定 説明
ノードの可視性 本ノードの外部への可視範囲を制御(account / enterprise)
能力の宣言 本ノードが外部に公開するツールとコマンドのリストを設定
リモート権限 リモートノードが権限を要求した際の処理ポリシー(具体的なクロスノード配信ルールは マルチノードアーキテクチャ — 権限ダイアログの配信ルール を参照)


セキュリティレベルが実際に与える影響

セキュリティレベルが日常利用に与える実際の影響を理解しましょう。

シナリオ P0(自動実行) P1(初回確認) P2(毎回確認)
Agent がファイルを読み取る必要がある サイレントで読み取り、無自覚 初回にダイアログで確認、以降は自動 毎回ダイアログで確認
Agent が npm install を実行 直接実行 初回にダイアログで確認 毎回ダイアログ表示
Agent が rm -rf node_modules を実行 直接実行(危険!) 初回にダイアログで確認 毎回ダイアログ表示
Agent がウェブを検索 直接検索 初回にダイアログで確認 毎回ダイアログ表示

注意:Bash ツールは P0 では削除操作を含むあらゆる Shell コマンドをサイレントで実行します。危険コマンドの事前チェックが組み込まれていますが、すべてのリスクコマンドを網羅することはできません。Bash は少なくとも P1 に設定することを推奨します。

セキュリティレベル選択の推奨

利用環境 推奨設定 理由
完全に信頼できる個人開発機 Bash: P1、その他: P0 高効率かつ、Bash の初回確認で誤操作を防止
共有デバイス / チーム環境 Bash: P2、Web Fetch: P1、その他: P0 コマンド実行のたびに確認が必要となり、誤操作による他者への影響を防止
初心者ユーザー すべて P1 または P2 確認ダイアログを通じて Agent の挙動パターンを学習
デモ環境 すべて P2 最大限のセキュリティで完全に制御可能

サンドボックスが実際に与える影響

比較の観点 サンドボックス無効(local モード) サンドボックス有効(sandbox モード)
ファイル操作 Agent がローカルファイルを直接読み書き Agent は隔離環境内で操作し、本機のファイルに影響しない
ソフトウェアのインストール npm install がプロジェクトに直接インストール サンドボックス内にインストールされ、終了後に消える
危険コマンド rm -rf がファイルを直接削除 サンドボックス内の仮想ファイルシステムにのみ影響
実行速度 ネイティブ速度 やや遅い(仮想化のオーバーヘッド)
適用シーン 信頼できる日常的な開発タスク 信頼できないコードの実行、実験的な操作

3つの実行モードの選び方

モード 適した対象 説明
local(デフォルト) 日常的な開発者 すべてのコマンドを本機で直接実行、最速
sandbox セキュリティ重視のユーザー すべてのコマンドをサンドボックス内で実行、完全に隔離
auto 上級ユーザー システムがコマンドのリスクに応じて自動判断し、低リスクはローカル実行、高リスクはサンドボックスへ

サンドボックスのインストール方法

  1. APP を開く → 設定 → ランタイムセキュリティサンドボックス タブ
  2. システムが現在のデバイスのサンドボックス対応を自動検出
  3. 対応している場合、インストール ボタンをクリック
  4. Runtime(約 50〜100MB)と Image(約 200〜500MB)のダウンロードを待つ
  5. ダウンロード完了後、サンドボックスのステータスが「準備完了」と表示される
  6. 実行モードで sandbox または auto を選択

注意:サンドボックスは現在 macOS(arm64 および amd64)のみ対応しています。Windows 対応は計画中です。


ノードの可視性が実際に与える影響

設定 影響
account(個人) あなた自身が他のデバイスでログインした場合にのみ、このノードが表示され呼び出せます。チームメンバーには表示されません。
enterprise(企業) 同一ワークスペースのすべてのメンバーがこのノードを表示でき、Gateway を通じてこのデバイスにタスクを派遣して実行できます。

ヒント:enterprise に設定すると、チームメンバーが開始した対話があなたのコンピューター上で Agent タスク(ファイルの読み書きやコマンド実行を含む)を実行する可能性があります。この影響を理解し、チームメンバーを信頼していることを確認してください。


関連ドキュメント