AI News HubLIVE
サイト内リライト2 分で読了

Sandbox-bwrap-Nix:AIエージェントと実験のための軽量サンドボックス

bubblewrapとNixを組み合わせた最小限のサンドボックス。デーモン不要、イメージプル不要、root権限不要で、1秒未満で起動し、AIエージェントや実験に隔離環境を提供します。

ソースHacker News AI著者: grigio

AIコーディングツールをローカルで実行する際、エージェントが誤ってファイルを削除しないか心配になります。従来のコンテナ(DockerやPodman)はデーモンやイメージ管理、root権限が必要で重いです。sandbox-bwrap-nixはよりシンプルな解決策を提供します。

sandbox-bwrap-nixはbubblewrapとNixを組み合わせた最小限のサンドボックスで、1秒未満で起動し、デーモンやイメージプル、root権限を必要としません。スクリプトを実行するだけでクリーンで隔離されたシェルに入れます。bubblewrapがインストールされ、Nixでflakeが有効なLinuxマシンなら動作します。

仕組み:シェルスクリプトがbwrapを呼び出し、ホストの/nix/storeを読み取り専用でマウント、独立した/tmp、/home、プロセス名前空間を提供します。その後、nix developを実行し、git、bun、uv、gnumake、opencodeなどのツールが入った開発シェルを起動します。

ユースケース:AIエージェント(OpenCodeなど)の実行(エージェントはコードベースを操作できるが実際のホームディレクトリは見えない)、Nixの実験(ホスト環境を汚染しない)、信頼できないスクリプトの実行(ネットワークアクセスはあるがファイルには触れない)。

隔離は3層:ディレクトリ(特定のパスのみ公開、ホームはリセット可能なsandbox-home)、プロセス(独立PID名前空間)、環境(環境変数をクリア)。

欠点:完全なコンテナではなく、イメージ管理やレイヤーキャッシュ、レジストリはない。ホストのネットワークとカーネルを共有。Dockerより軽量だが、Linux限定でNixが必要。

使い方:リポジトリをクローンしてstart-sandbox.shを実行。エイリアスを設定すればどこからでも起動可能。中ではNixパッケージをインストールし、opencodeを実行し、ファイルを編集できる。

sandbox-homeは.bashrc(gitブランチ表示、エイリアス)、nix.conf(flake有効化)、opencode設定を含む。開発シェルにはnix、git、bun、uv、opencode、gnumake、micro、less、bashInteractiveが含まれ、flake.nixを編集して追加可能。

通常のnix developと比較して、sandbox-bwrap-nixはファイルシステムへのアクセスを制限。Dockerと比較してシンプルで高速だが、可搬性は低い。プロジェクト構造は最小限:start-sandbox.sh、flake.nix、flake.lock、sandbox-homeディレクトリ。

sandbox-bwrap-nixは特定の問題をシンプルに解決し、AIコーディングエージェント、Nix実験、使い捨て環境に適しています。

Sandbox-bwrap-Nix:AIエージェントと実験のための軽量サンドボックス | AI News Hub