概要
- jai はAIエージェント利用時の ファイル損失やディレクトリ消去 リスクを低減する軽量サンドボックス
- Docker や VM のような複雑なセットアップ不要、コマンド一つで即利用可能
- 作業ディレクトリ のみ完全アクセス、他は コピーオンライト や 隠蔽 で保護
- 3つの分離モード で用途に応じて隔離レベルを選択可能
- Stanford Secure Computer Systems研究グループ による 無償ソフトウェア
jai: AIエージェント用軽量サンドボックス
- AIツール利用時の危険性 :ファイル消失、作業ツリー消去、ホームディレクトリ全消去などの被害報告
- 従来の問題点 :本アカウントをAIエージェントに渡すと全権限を与えてしまう
- jaiの特徴 :コンテナやVM構築の手間なし、既存ワークフローに即導入可能な軽量サンドボックス
- 用途例
- コーディング支援
- 一時的なローカルタスク実行
- 外部作成インストーラスクリプトの安全実行
ファイルアクセス管理
- 作業ディレクトリ(CWD) :サンドボックス内で完全な読み書き権限
- ホームディレクトリ :コピーオンライトで保護、オリジナルは変更されない
- その他ファイル :/tmpや/var/tmpはプライベート、それ以外は読み取り専用
使い方
- 実行方法 :コマンドの前に「jai」を付けるだけ
- 例:
jai codex、jai claude、または単にjaiでシェル起動
- 例:
- セットアップ不要 :Dockerfileやイメージ作成不要
- 即時利用 :一行でサンドボックス環境へ
分離モード
- Casualモード
- ホームディレクトリ:コピーオンライト
- プロセス権限:ユーザー自身
- 機密性:弱(多くのファイルが読める)
- 整合性:オーバーレイでオリジナル保護
- NFS対応:あり
- Strictモード
- ホームディレクトリ:空のプライベート
- プロセス権限:非特権jaiユーザー
- 機密性:強(UID分離)
- 整合性:完全隔離
- NFS対応:なし
- Bareモード
- ホームディレクトリ:空のプライベート
- プロセス権限:ユーザー自身
- 機密性:中(UIDは同じだがホーム隠蔽)
- 整合性:完全隔離
- NFS対応:あり
他ツールとの比較
- Docker
- イメージベースの再現性重視
- ad-hocなホストツールのサンドボックスには重い
- ホームディレクトリのオーバーレイ運用不可
- bubblewrap
- 強力な名前空間サンドボックス
- ファイルシステムビューの明示的構築が必要で煩雑
- jaiはこの手間を排除
- chroot
- セキュリティ機構ではない
- マウント、PID、認証情報の分離なし
- Linux公式でもサンドボックス用途非推奨
セキュリティモデル
- 完全な安全性は保証しない
- jaiは「カジュアルサンドボックス」
- 被害範囲(blast radius)は縮小するが、全リスク排除は不可
- Casualモードは機密性保護なし
- Strictモードでもハード化されたコンテナやVMと同等ではない
- 強固な分離や多人数利用時は本格的なコンテナやVMを推奨
ライセンスと開発体制
- 無償ソフトウェア
- 開発元:Stanford Secure Computer Systems研究グループ、Future of Digital Currency Initiative
- 目的:AI活用時の安全性向上推進