エージェントは機能しますが、境界が必要です
Cursor や Claude Code などのツールは、単にコードを完成させるだけではなく、積極的にファイルを変更し、ターミナルを実行し、依存関係をプルします。問題は権限モデルにあります。デフォルトでは、エージェントはログインするユーザーと同じシステム権限セットを共有します。たった 1 つの判断ミスにより、~/.ssh に触れたり、誤ってビルド プロダクトを削除したり、気付かないうちにバックグラウンドで静かに送信接続を開始したりする可能性があります。
macOS シナリオでの分離はより困難です。Docker は Linux カーネルを実行し、codesign、Xcode シミュレーター、および Apple Neural Engine はコンテナー内で使用できません。 macOS 仮想マシンのレイヤーを追加すると、明らかなパフォーマンスの低下が生じます。 OpenClaw のアイデアは次のとおりです。実際の物理学 macOS 上で、エージェントを何もできない檻の中に閉じ込めるのではなく、オペレーティング システムのネイティブ機能を使用して各タスクの操作境界を線引きします。
ハードウェア: Mac mini M4 · 10 コア CPU · 16 GB ユニファイド メモリ · 256 GB SSD · 1 Gbps 専用帯域幅 (SpinMac シンガポール ノード)。
システム: macOS Sequoia 15.3 · OpenClaw 1.4.2。すべてのコマンドとスクリーンショットは、この専用の物理マシン上で再現されます。
3 つの分離層: ファイル、システム コール、ネットワーク
構成を開始する前に、まず、OpenClaw が「完全なmacOS 機能」と「制御可能な境界」をどのように組み合わせているかを理解してください。単一のブラックリストの代わりに 3 層のメカニズムが使用されます。
ファイル システム ネームスペース: 各セッションは、指定されたディレクトリに独立したワークスペースを確立し、デフォルトで読み取りと書き込みはこのスペースにリダイレクトされます。システム パスへのアクセスは、readonly_mounts リストと deny リストによって細かく制御されます。
システム コール フィルタリング: macOS Endpoint Security を使用して、exec、ptrace、setuid などの機密性の高い呼び出しを傍受します。事前に設定されたテンプレート (agent、dev など) を使用して、すぐに開始できます。
ネットワーク アクセス制御: ドメイン名または IP ホワイトリストに基づいてアウトバウンド トラフィックを許可します。その他のリクエストはサイレントに破棄され、監査ログに書き込まれます。これにより、エージェントが「ブロック」されたことを感知した後に回避しようとすることが防止されます。
SpinMac ノードをアクティブ化します (前提条件)
OpenClaw はすべての SpinMac Mac mini M4 に組み込まれているため、別途アドオンを購入する必要がありません。使用可能なインスタンスがまだない場合は、以下の手順に従ってアクティブ化します。
-
01
ノードと期間を選択します
注文ページでシンガポール、日本(東京)、韓国(ソウル)、中国香港、米国東部のいずれかのノードを選びます。AI エージェント用途なら 256 GB 標準ディスクで十分です。レンタルは 1 日 $21.2 から。
-
02
支払い後は自動配信を待ちます
USDT-TRC20およびStripeカード決済をサポートします。割り当ては支払い確認後 1 ~ 5 分以内に完了し、SSH および VNC 証明書がメールで発行されます。
-
03
ログインコンソール検証の準備ができました
ブラウザ VNC はゼロクライアントでアクセスできます。 SSH 例:
ssh admin@<パブリック IP> -p <ポート>。続行する前に、macOS デスクトップまたはシェルが正常にログインできることを確認してください。
コンソール有効化OpenClaw
SpinMac コンソールで対応する注文を開き、「OpenClaw」タブに入ります。最初の使用では、ゼロトラスト初期化が実行されます。インスタンスにバインドされた Ed25519 キー ペアを生成し、com.spinmac.openclaw.daemon バックグラウンド サービスをインストールし、監査ログ ディレクトリ /var/log/openclaw/ を作成します。
端末認証デーモンと CLI:
# Check daemon
launchctl list | grep openclaw
# Expected: 0 com.spinmac.openclaw.daemon
# Install CLI if not present
curl -fsSL https://cdn.spinmac.com/openclaw/install.sh | bash
claw --version
# openclaw 1.4.2 (darwin/arm64)
claw status
# daemon: running | auth: valid
claw status には、daemon: running と有効なセッション トークンが同時に表示され、権限の設定を入力できます。初期化が停止した場合は、まず claw Doctor を実行して、Endpoint Security の認証が完了しているかどうかを確認します。
YAML を使用してエージェントの権限を区切る
OpenClaw YAML を使用して、各サンドボックス セッションのポリシーを記述します。 AI エージェントの場合は、組み込みの agent テンプレートからエクスポートして微調整することをお勧めします。
claw template list
# readonly | dev | agent
claw template export agent > ~/openclaw-agent.yaml
コアフィールドの説明 (抜粋):
filesystem:
workspace: "~/agent-workspace"
readonly_mounts:
- /Applications
- /usr/local/bin
deny:
- ~/.ssh
- ~/Library/Keychains
network:
allow_domains:
- "api.openai.com"
- "api.anthropic.com"
- "*.github.com"
block_all_others: true
エージェントは ~/agent-workspace 内でのみ書き込み可能です。インストールされているアプリケーションと Homebrew ツール パスを読み取ることができます。 SSH キーとキーチェーンは完全に拒否されます。送信ネットワークは、ホワイトリストに登録されたドメインに限定されます。
初期構成中に、/usr/local/bin が読み取り専用マウントに追加されず、git と python3 へのすべての呼び出しが失敗しました。 OpenClaw はシンボリックリンクの実際のターゲットを解析します。ツールが Cellar ディレクトリを指している場合、対応する Cellar パスを readonly_mounts に追加する必要があります。追加しないと、一連の BLOCK exec が監査ログに記録されます。
最初の隔離ミッションを完了する
ポリシー ファイルが配置されたら、セッションを開始し、サンドボックス内でエージェントを実行します。
claw run --config ~/openclaw-agent.yaml --attach
# Prompt becomes: (claw:my-agent-session) admin@mac-xxx:~$
# Run agent inside sandbox (example: Claude Code)
claude --dangerously-skip-permissions
--attach を使用すると、制御されたシェルに直接入ることができます。それ以降に開始されたプロセスは、OpenClaw によって監視されます。 Claude Code の「権限の確認のスキップ」は依然としてサンドボックス内の YAML 境界の影響を受けます。不正な書き込みや違法なネットワーク アクセスはブロックされます。
別のターミナルを開いて監査ストリームをリアルタイムで表示します。
claw audit tail my-agent-session --follow
# [10:23:41] ALLOW exec /usr/local/bin/git clone ...
# [10:23:45] BLOCK network outbound → 142.250.x.x — policy: block_all_others
監査ログとゼロトラストの意味
上記のブロックされた外部接続リクエストは、依存ライブラリの初期化 ping からのものです。通常の環境ではほとんど見えませんが、完全な記録が OpenClaw に残されます。ゼロトラストとは、「エージェントを信頼していない」のではなく、 むしろすべてのステップが期待どおりであると想定せず、エクスポート可能なログを使用して「エージェントが何をしたか」に答えることです。
コンプライアンス シナリオでは、セキュリティ チームによるレビューのためにログを JSON にエクスポートできます。
claw audit export my-agent-session \
--format json \
--output audit-report-$(date +%Y%m%d).json
運用レベルのマルチユーザー コラボレーション、CI 統合、トラブルシューティングが必要な場合は、引き続き OpenClaw 完全ユーザー ガイド を読み続けてください。
一般的なシナリオ戦略の簡単なレビュー
| シーン | システムコールのデフォルト | ネットワーク戦略の要点 | 知らせ |
|---|---|---|---|
| コード生成/リファクタリング | agent |
npm / pipレジストリをリリースする | パッケージマネージャーのドメイン名をホワイトリストに登録する必要があります |
| Xcode コンパイル | dev |
Apple CDN をリリースする | DerivedData を使用して Xcode をマウントする |
| 機密データの読み取り専用分析 | readonly |
すべてブロックする | 最高の分離レベル |
| CI 自動化のレビュー | dev |
GitHub + AI API | パイプラインごとの独立したセッション |
独立したタスクごとに新しいセッションを作成し、監査をタスクごとに分離することをお勧めします。調整した YAML は名前付きテンプレートとして保存でき、claw run --template xcode-build をワンクリックで再利用できるため、手書きの戦略を繰り返すことを避けられます。戦略を繰り返しデバッグする必要があるチームの場合、テンプレート ファイルを Git リポジトリの .openclaw/ ディレクトリに配置し、ビジネス コードと同じバージョンで管理できます。各マージ リクエストで、その時点で有効な権限の境界を追跡でき、セキュリティ レビュー中に「その時点で何が許可されていたのか」を口頭で説明する必要はありません。
Docker やネストされた仮想マシンを使用しないのはなぜでしょうか?
Docker Desktop は本質的に、macOS 上の Linux VM です。完全な Apple ツールチェーンがなければ、Neural Engine は通過できません。ネストされた macOS 仮想マシンは Xcode を実行できますが、M4 の 38 TOPS のコンピューティング能力は仮想化リンクでは大幅に低下し、組み込みの操作レベルの監査が不足しています。
OpenClaw 物理マシンでの傍受には Endpoint Security を使用します。これには CPU が約 3% 消費されます。エージェントは実際の codesign、シミュレータ、および Core ML を引き続き使用できます。境界だけが事前にポリシー ファイルに書き込まれます。 「ラップトップ上でエージェントを裸で実行する」または「自分で仮想マシンをセットアップして監視スクリプトのレイヤーを適用する」と比較すると、運用とメンテナンスのパスが短くなります。イメージ、スナップショット、または追加のログ収集エージェントを保守する必要がありません。 SpinMac コンソールと claw CLI は、アクティベーション、ポリシー、監査の閉ループをすでにカバーしています。
ローカルの 8 GB MacBook がエージェントを実行し、頻繁にスワップする場合、またはチームが監査可能な共有ノードを必要とする場合、SpinMac は 1 日あたり $21.2 から M4 物理マシンをレンタルします。これにより、16 GB の専用メモリとすぐに使えるサンドボックス機能が提供されます。これは、一時的な解決策をつなぎ合わせるよりも時間がかかり、「証明可能な境界」に対するセキュリティ チームの期待により一致します。
物理 Mac 上で監査可能な AI エージェントを実行する
SpinMac Mac mini M4 専用ノード: OpenClaw サンドボックス、ゼロトラスト アクセス、完全な操作監査、16 GB 38 TOPS Neural Engine パススルーを備えたユニファイド メモリ、1 日あたり $21.2 から。