
2026/01/13 3:34
Show HN:Yolobox – AI コーディング エージェントを完全 sudo で実行し、ホームディレクトリを破壊せずに運用
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
改良された概要
Yolobox は Docker や Podman の中で動作するコンテナベースの AI コーディングアシスタントです。プロジェクトディレクトリ
/workspace だけをマウントし、完全な sudo 権限を持たせつつユーザーのホームフォルダーは隔離します。ベースイメージには Claude Code、Gemini CLI、OpenAI Codex(いずれも “yolo” モードにエイリアス)と Node 22 + npm/yarn/pnpm、Python 3 + pip + venv、make、cmake、gcc、Git + GitHub CLI、および ripgrep、fd、fzf、jq、vim などのユーティリティが同梱されています。
ユーザーは以下のコマンドセットを通じてコンテナと対話します:
yolobox, yolobox run <cmd …>, yolobox upgrade, yolobox reset --force, yolobox config, yolobox version, および yolobox help。コンテナ内では
claude(claude --dangerously-skip-permissions)、codex(codex --dangerously-bypass-approvals-and-sandbox)、gemini(gemini --yolo)といったエイリアスが権限プロンプトを省略します。
コマンドラインフラグにより、実行時パラメータやイメージ、マウント (
--mount src:dst) 、環境変数 (--env KEY=val) 、SSH エージェント転送 (--ssh-agent) 、ネットワーク分離 (--no-network) 、読み取り専用プロジェクトモード (--readonly-project) 、Claude の設定 (--claude-config) などを細かく調整できます。自動フォワードされる API キーには ANTHROPIC_API_KEY、OPENAI_API_KEY、GITHUB_TOKEN/GH_TOKEN、OPENROUTER_API_KEY、および GEMINI_API_KEY が含まれます。
設定ファイルはデフォルトを決定します:
~/.config/yolobox/config.toml(グローバル)とプロジェクト内の .yolobox.toml。優先順位は CLI フラグ > プロジェクト設定 > グローバル設定 > ビルトインデフォルト の順です。
サポートされるランタイムは Docker(macOS では Docker Desktop、OrbStack、または Colima;Linux では Docker または Podman)と Podman であり、Colima を使用する際は Claude Code に 4 GB のメモリ割り当てを推奨します。
Yolobox のセキュリティモデルは AI をコンテナ内に隔離し、ユーザーのホームディレクトリ、SSH キー、認証情報、他プロジェクト、およびホストファイルを保護します。ただし、プロジェクトディレクトリ自体、ネットワークアクセス、カーネル脆弱性やコンテナエスケープに対する防御は行いません。ハードニングオプションは Level 1(デフォルト)から Level 4(完全な VM 隔離)まであり、中間レベルでは no‑network / read‑only プロジェクトモードや rootless Podman を使用して影響を軽減します。ネットワーク分離は rootless Podman の slirp4netns によって実現でき、ホストのネットワークアクセスを防ぎつつインターネット接続は許可されます。
本ツールは MIT ライセンスの下で公開されており、コミュニティへの貢献とソフトウェアエンジニアリング業界全体での採用を奨励しています。
本文
YoloBox – AI コーディングエージェントを安全に実行
速く始める
# インストール(Go が必要) curl -fsSL https://raw.githubusercontent.com/finbarr/yolobox/master/install.sh | bash # もしくはクローンしてビルド git clone https://github.com/finbarr/yolobox.git cd yolobox && make install
どこからでも:
cd /path/to/your/project yolobox # サンドボックス化されたシェルに入る
何が入っているのか
- AI CLI – Claude Code、Gemini CLI、OpenAI Codex(すべて “full‑auto” モードで実行されます)
→claudeclaude --dangerously-skip-permissions
→codexcodex --dangerously-bypass-approvals-and-sandbox
→geminigemini --yolo
- ランタイム – Node.js 22 + npm/yarn/pnpm、Python 3 + pip + venv
- ビルドツール – make, cmake, gcc
- VCS – Git + GitHub CLI
- ユーティリティ – ripgrep, fd, fzf, jq, vim
- コンテナ内でフル sudo 権限を取得可能
- ホームディレクトリはマウントされません(明示的に要求しない限り)
よく使うコマンド
| コマンド | 説明 |
|---|---|
| インタラクティブシェルに入る |
| 単一コマンドを実行 |
| Claude Code をサンドボックスで起動 |
| バイナリを更新し最新イメージを取得 |
| 解決済み設定を表示 |
| ボリュームを削除(新規開始) |
| バージョン情報を表示 |
| ヘルプを表示 |
フラグ
| フラグ | 説明 |
|---|---|
| Docker か Podman を使用 |
| カスタムベースイメージ |
| 追加マウント(複数可) |
| 環境変数を設定(複数可) |
| SSH エージェントソケットを転送 |
| ネットワークアクセスを無効化 |
| プロジェクトを読み取り専用でマウント ( に書き込み) |
| ホストの 設定をコンテナへコピー |
自動転送される環境変数:
ANTHROPIC_API_KEYOPENAI_API_KEYGITHUB_TOKEN / GH_TOKENOPENROUTER_API_KEYGEMINI_API_KEY
設定
グローバルデフォルトは
~/.config/yolobox/config.toml、プロジェクト固有の設定はそのディレクトリに .yolobox.toml を置きます。優先順位:CLI フラグ > プロジェクト設定 > グローバル設定 > デフォルト。
例 – グローバル設定
runtime = "docker" image = "ghcr.io/finbarr/yolobox:latest" ssh_agent = true
例 – プロジェクト固有設定
mounts = ["../shared-libs:/libs:ro"] env = ["DEBUG=1"] no_network = true
注意:
を設定すると、コンテナ起動時に毎回ホストのclaude_config = true設定を上書きします。ワンタイム同期のみなら~/.claudeフラグを使用してください。--claude-config
ランタイムサポート
| OS | 対応ランタイム |
|---|---|
| macOS | Docker Desktop, OrbStack, Colima |
| Linux | Docker or Podman |
メモリ:Claude Code は ≥ 4 GB RAM が必要です。Colima のメモリを増やすには:
colima stop && colima start --memory 8
セキュリティモデル
- 隔離 – コンテナランタイム(Docker/Podman)が境界です。
- 保護対象 – ホームディレクトリ、SSH キー、他のプロジェクト、ホストファイル。
- 保護されないもの – プロジェクトディレクトリ(読み書き可能マウント)、ネットワークアクセス(無効化しない限り)、カーネル脆弱性によるコンテナ脱出。
強化オプション
| レベル | 実行例 |
|---|---|
| 1 (デフォルト) | – 標準のコンテナ隔離 |
| 2 | |
| 3 | Rootless Podman: |
| 4 | VM 隔離(UTM, Parallels, Lima on macOS; Podman machine or dedicated VM on Linux) |
Rootless Podman はコンテナの root を非特権ユーザーにマップすることで、脱出時の影響を低減します。
Rootless Podman でのネットワーク隔離
podman run --network=slirp4netns:allow_host_loopback=false …
YoloBox はまだこのフラグを公開していませんが、Rootless Podman を使用すれば自動的に適用されます。
ライセンス
MIT License