OpenClaw はどんな課題を解決するのか?
Cursor、Claude Code、AutoGPT などの AI Agent ツールは、能力が高まるほどリスクも増えます。ファイルの読み書き、シェル実行、ネットワーク通信——権限管理が甘いと、設定の誤変更から鍵の漏洩、データ削除まで起こり得ます。macOS 開発ではさらに厄介で、Xcode ツールチェーン、Apple Neural Engine、コード署名といったネイティブ機能が不可欠であり、Docker コンテナや Linux VM では代替できません。
OpenClaw の役割は、実機の macOS 物理マシン上で、各 AI Agent タスクに対して監査可能・追跡可能・いつでも停止できる操作境界を引くことです。Agent を何もできない檻に閉じ込めるのではなく、どのディレクトリにアクセスできるか、どのシステムコマンドを呼べるか、どのネットワーク宛先へ接続できるかを精密に制御しながら、macOS のネイティブ能力はそのまま使えます。
まず最初のサンドボックスセッションを素早く動かしたい場合は、5分で始める OpenClaw 入門をご覧ください。本記事は本番環境での導入を決めた読者向けで、開通から運用までのライフサイクル全体を扱います。
本記事は OpenClaw 1.4.2、macOS Sequoia 15.3、ZilCloud Mac mini M4(Apple M4 · 10コア · 16 GB ユニファイドメモリ · 256 GB SSD)を東京ノードで実測した内容に基づいています。コンソール UI や CLI の出力はバージョンで多少変わる場合がありますが、基本概念と設定構造は安定しています。
コンソールでのセットアップ手順
OpenClaw は ZilCloud の Mac mini M4 すべてに標準搭載されており、追加オプションの購入は不要です。開通から運用開始までの流れは、大きく4段階に分かれます。
-
01Mac mini M4 インスタンスを申し込み・開通
構成・申し込みページでノード(シンガポール / 東京 / ソウル / 香港 / 米国東部)を選択します。基本プランは日額 $20.9 から。支払い後 1〜5 分で自動開通し、SSH 認証情報と VNC パスワードが届きます。
-
02コンソール → インスタンス選択 → OpenClaw タブ
初回アクセス時に「ゼロトラスト初期化」が走ります。インスタンスに紐づく Ed25519 鍵ペアが生成され、
com.zilcloud.openclaw.daemonデーモンがインストールされ、監査ログの既定保存先/var/log/openclaw/が作成されます。 -
03アクセスポリシーとチームメンバーを設定
コンソールの「アクセス制御」パネルで協力者のメールアドレスを追加し、各メンバーにロール(Owner / Operator / Auditor)を割り当てます。Operator はサンドボックスセッションを起動でき、Auditor は監査ログの閲覧のみでサンドボックス shell には入れません。
-
04CLI 認証情報を取得し、環境を検証
コンソールからワンクリックインストールスクリプトと session token をダウンロードできます。ターミナルで
claw statusを実行し、daemon: runningかつauth: validであることを確認したら、サンドボックスポリシーの設定に進めます。
コンソールにはリアルタイムのセッション監視パネルもあります。アクティブなサンドボックス数、各セッションの CPU / メモリ使用量、直近24時間の BLOCK イベント統計を一覧できます。セキュリティチームへの報告が必要な場合は、PDF 形式のコンプライアンスサマリーをそのままエクスポートできます。
CLI コマンド一覧
OpenClaw の CLI ツール名は claw です。サンドボックス操作はすべてこのコマンド経由で行います。日常でよく使うコマンドを用途別にまとめました。
# ── Status & health ──
claw status # daemon status, auth, active sessions
claw doctor # run environment diagnostics
# ── Session lifecycle ──
claw run --config policy.yaml # start sandboxed session
claw run --template xcode-build # start from saved template
claw attach <session-id> # attach to running session
claw stop <session-id> # gracefully terminate session
claw list # list all sessions (active + recent)
# ── Templates ──
claw template list # show built-in presets
claw template export agent > policy.yaml
claw template save my-ci-policy # save current config as named template
# ── Audit ──
claw audit tail <session> --follow # live audit stream
claw audit query --since 24h --action BLOCK
claw audit export <session> --format json
# ── Network policy testing ──
claw net test --domain api.openai.com # dry-run domain against active policy
claw doctor は定期的に実行する価値があります。デーモンの稼働状態、Endpoint Security の承認状態、監査ログディレクトリの書き込み可否、CLI トークンの有効期限などをまとめて確認します。サンドボックス起動に失敗してもエラーメッセージが曖昧なとき、まず claw doctor を走らせると原因を特定しやすくなります。
権限 YAML の詳細設定
OpenClaw の権限ポリシーは YAML で定義します。各フィールドの意味を理解することが、正しいポリシー設計の前提です。以下は本番でよく使う完全な設定例と、セクションごとの解説です。
version: "1"
session:
name: "prod-agent"
auto_cleanup: false # keep workspace after session ends
max_duration: "4h" # auto-terminate after 4 hours
idle_timeout: "30m" # terminate if no activity for 30 min
filesystem:
workspace: "~/agent-workspace"
readonly_mounts:
- /Applications
- /usr/local/bin
- /Library/Developer # Xcode toolchain
deny:
- ~/.ssh
- ~/Library/Keychains
- ~/Library/Application Support/Cursor/User/globalStorage
syscalls:
preset: "agent"
deny:
- ptrace
- setuid
- mount
network:
allow_domains:
- "api.openai.com"
- "api.anthropic.com"
- "*.github.com"
- "registry.npmjs.org"
- "pypi.org"
block_all_others: true
log_blocked: true # record blocked attempts in audit log
session セクションはセッションのライフサイクルを制御します。auto_cleanup: false は Agent の成果物を残したいコード生成タスク向けです。max_duration と idle_timeout は安全装置で、リソースの無限占有や無人稼働を防ぎます。
filesystem セクションは設定ミスが最も起きやすい箇所です。workspace が Agent の唯一の読み書きルート、readonly_mounts は読み取りのみ許可するパス、deny はハード拒否リストで readonly_mounts より優先されます。OpenClaw はシンボリックリンクの実パスを解決するため、/usr/local/bin/git が Homebrew の Cellar を指している場合は、Cellar ディレクトリも readonly_mounts に含めないと git 呼び出しがブロックされます。
network セクションの block_all_others: true と log_blocked: true を組み合わせると、未許可の外向き通信は静かに破棄され、監査ログに記録されます。接続エラーを返すよりも、Agent が「ブロックされている」と察知して迂回を試みるのを防げます。
Xcode ビルド用サンドボックスでは、/Applications/Xcode.app に加えて /Library/Developer(ツールチェーン)と ~/Library/Developer/Xcode/DerivedData(ビルドキャッシュ、書き込み権限が必要)のマウントが必須です。DerivedData を漏らすと毎回フルビルドになり、所要時間が3〜5倍に膨らみます。
マルチユーザー・ゼロトラストとチーム運用
チーム開発では、全員がフル権限のサンドボックス shell を持つべきではありません。OpenClaw のゼロトラストモデルは3原則に基づきます。アクセスのたびに本人確認、最小権限の付与、すべての操作の監査可能性です。
コンソールでは次の3ロールを割り当てられます。
| ロール | サンドボックス起動 | 監査ログ閲覧 | ポリシー変更 | 想定ユーザー |
|---|---|---|---|---|
| Owner | 可 | 可 | 可 | チームリード / DevOps |
| Operator | 可 | 可 | 不可 | 日常の開発者 |
| Auditor | 不可 | 可 | 不可 | セキュリティ・コンプライアンス |
各ロールは独立した CLI トークンで認証され、トークンの既定有効期限は24時間です。コンソールからいつでも強制失効できます。メンバーの退職や権限変更時、Owner はそのユーザーの全アクティブトークンを一括失効し、稼働中のサンドボックスセッションも終了させられます。インスタンスの再起動や SSH 鍵の差し替えは不要です。
外部コンサルタントに一時的にコードレビューだけ任せたい場合は、期限付き Guest トークンを発行できます。有効期限と監査ログの読み取り専用権限を指定すれば、期限切れで自動無効化され、手動クリーンアップも不要です。
CI/CD パイプラインへの統合
OpenClaw サンドボックスを CI/CD に組み込むことで、AI Agent の自動化タスクを本番品質の信頼性まで引き上げられます。以下は GitHub Actions の例で、ZilCloud 上の Mac でサンドボックス隔離されたコードレビュー Agent を動かすワークフローです。
# .github/workflows/ai-review.yml
name: AI Code Review (Sandboxed)
on: [pull_request]
jobs:
review:
runs-on: self-hosted # ZilCloud Mac mini M4 as self-hosted runner
steps:
- uses: actions/checkout@v4
- name: Start OpenClaw sandbox
run: |
claw run --template ci-review --detach
SESSION=$(claw list --json | jq -r '.[0].id')
echo "SESSION_ID=$SESSION" >> $GITHUB_ENV
- name: Run AI review agent
run: |
claw attach $SESSION_ID --exec \
"claude -p 'Review the diff in this PR for security issues'"
- name: Export audit log
if: always()
run: |
claw audit export $SESSION_ID \
--format json \
--output audit-${{ github.run_id }}.json
- name: Stop sandbox
if: always()
run: claw stop $SESSION_ID
このワークフローの要点は次のとおりです。PR ごとに独立したサンドボックスセッションを作成し、監査ログを PR 単位で分離します。Agent はサンドボックス内で動作し、ネットワークは AI API と GitHub のみ許可します。成功・失敗にかかわらず if: always() で監査ログを必ずエクスポートし、アーカイブします。
ci-review テンプレートの YAML はリポジトリの .openclaw/ ディレクトリにコミットし、CI ワークフローとバージョン管理を揃えることを推奨します。ポリシー変更の履歴が Git で追跡でき、セキュリティレビュー時にも現行の権限境界をそのまま確認できます。
監査ログの活用
監査ログは OpenClaw の最大の差別化ポイントです。リアルタイム tail 以外にも、本番運用で押さえておきたい使い方があります。
条件付きバッチ検索:Agent の挙動がおかしいとき、時間範囲と操作種別で履歴を絞り込めます。
# Find all blocked network attempts in the last 7 days
claw audit query \
--since 7d \
--action BLOCK \
--type network \
--format table
# Find all file writes outside workspace
claw audit query \
--since 24h \
--action BLOCK \
--type write \
--format json | jq '.[] | select(.target | contains("/etc"))'
コンプライアンス向けエクスポート:セキュリティ監査では特定フォーマットのレポートが求められることがあります。OpenClaw は JSON、CSV、PDF の3形式に対応しています。PDF レポートにはセッション概要、ALLOW / BLOCK 統計、ポリシースナップショット、タイムラインが含まれ、そのまま監査資料として提出できます。
アラートルール:コンソールでしきい値を設定できます。例として「1セッションあたり BLOCK が50件/時を超えた」「~/.ssh への読み取り試行を検知」など。トリガー時はメールまたは Webhook で Owner に通知され、監査ストリームを常時監視する必要がありません。
よくあるトラブルとパフォーマンス調整
サポートチケットで頻出する5つの症状と、対処法をまとめました。
| 症状 | 想定原因 | 対処法 |
|---|---|---|
| Agent が git / python を呼べない | ツールパスが readonly_mounts に未登録 | シンボリックリンク先を確認し Cellar を追加 |
| Xcode ビルドが極端に遅い | DerivedData が書き込み可能でマウントされていない | DerivedData パスを workspace に含める |
| claw run がタイムアウト | Endpoint Security の承認が期限切れ | claw doctor を実行し、指示に従い再承認 |
| ネットワークがすべて BLOCK | ドメインがホワイトリストに未登録 | claw net test で対象ドメインを順に検証 |
| 監査ログのディスク使用量が増大 | 高頻度 Agent が大量ログを生成 | ログローテーション設定、log_level しきい値の調整 |
パフォーマンス面では、監査モード時のサンドボックスオーバーヘッドは CPU 約3%程度で、Apple M4 の10コアにとってほぼ無視できます。レイテンシに極端に敏感なタスク(リアルタイム推論など)では、細粒度の syscall 監査をオフにし、ファイルシステムとネットワーク層のインターセプトのみに絞れば、オーバーヘッドは1%未満まで下げられます。ただし本番では完全監査を維持することを推奨します。3%のコストで100%の追跡可能性が得られるためです。
本番運用のセキュリティチェックリスト
本番投入前に、次の項目を順に確認してください。
- 独立したタスクごとに独立したサンドボックスセッションを使う(セッション共有しない)
- ポリシー YAML をバージョン管理し、変更は Code Review を通す
~/.ssh、Keychain、Cursor / VS Code のグローバルストレージは常に deny リストに入れる- ネットワークは既定で
block_all_others: true、必要なドメインだけホワイトリスト追加 max_durationとidle_timeoutで無人セッションを防止- チームメンバーは最小権限ロールを付与し、アクティブトークンを定期レビュー
- CI/CD では
if: always()で監査ログを必ずエクスポート - BLOCK イベントのアラートを設定し、異常挙動を即時通知
- インスタンス解約前に全監査ログをエクスポート・アーカイブ
ローカル実行・他クラウドとの比較
ここまで読むと、「手元の MacBook で Agent を直接動かすのと、AWS などの macOS インスタンスを借りるのと、何が違うのか」と思うかもしれません。本番導入の判断材料として、正直に比較します。
ローカル MacBook での素の実行の問題は、Agent が開発用マシンと同一のシステム権限を持つことです。権限逸脱が起きれば、主力の開発環境そのものが被害を受けます。Agent の行動境界を証明する監査ログもなく、セキュリティチームに「大丈夫です」と説明する根拠がありません。さらに実務的には、ローカルマシンは24時間 CI を回しにくく、長時間の Agent タスクでは発熱とファン騒音もボトルネックになります。
AWS EC2 Mac インスタンスは macOS 環境を提供しますが、mac2.metal クラスで日額およそ $26 から、しかも仮想化インスタンスであり物理マシン専有ではありません。Apple Neural Engine はゲスト OS から直接使えないため、M4 の 38 TOPS AI 算力はほぼ活かせません。操作レベルのサンドボックスや監査ログも標準では付かず、第三者セキュリティツールを別途導入する必要があり、コストと運用の複雑さが増します。最短24時間契約の制約もあり、日単位で試したい用途には向きません。
GitHub Actions の macOS Runnerは分単位課金で、macOS は Linux の約10倍のコストです。Runner 上のセキュリティポリシーは細かく制御できず、ジョブ間で環境が共有されるため、きめ細かい権限隔離は期待しにくいです。ピーク時には30分以上キュー待ちになることも珍しくありません。
ZilCloud のアプローチは別物です。Mac mini M4 物理マシン専有(日額 $20.9 〜)、OpenClaw サンドボックスは追加インストール不要で標準搭載、ゼロトラストアクセスと完全な操作監査ログがすぐ使えます。支払い後 1〜5 分で自動開通、シンガポール・東京・ソウル・香港・米国東部の5ノードから選択可能、7×24 の有人サポート付きです。手に入るのは「Agent を動かせる Mac」だけでなく、監査可能・隔離可能・チームで運用できる本番向け AI Agent 実行基盤——本記事で説明したワークフロー全体を、そのまま現場に落とし込める前提がここにあります。
本ガイドに沿って、OpenClaw サンドボックスを今すぐ展開
OpenClaw は ZilCloud Mac mini M4 に標準搭載。物理マシン専有、Apple Neural Engine 直通、ゼロトラストアクセス制御と完全な操作監査ログ付き。日額 $20.9 から、契約縛りなし、いつでも開始・停止できます。