3 つの製品チームが 1 つの OpenClaw ゲートウェイを共有する場合マックミニ、最初のインシデントは決して「モデルの品質」ではありません。それを発見したのはエージェントです。curlシークレットを投稿できる、またはrmと同じディレクトリに存在しますgit。 2026 年、成熟したチームがペアを組むallowed-tools(ランタイムが呼び出す可能性のある明示的なツール名)コマンドプレフィックス許可リスト(argv[0] パスが承認されたプレフィックスで始まるシェル コマンドのみ)。この記事は、既存のワークフローをブリックすることなくこれらのコントロールを出荷する必要があるプラットフォーム エンジニア向けのフィールド ガイドです。ポリシーの変更をクロスチェックしますゲートウェイドクター診断のノブを使用して支出を予測可能に保ちますトークンの予算とツールのスロットリング—ホワイトリストは事故を阻止します。スロットルは暴走コストを防ぎます。
比較表、具体的なプレフィックスの例、セキュリティ レビューを通過したロールアウト数、macOS 固有のフットガン、研究者ではなくオペレーターを対象とした FAQ が提供されます。
共有ゲートウェイ上の脅威モデル
侵害されたモデルの出力を想定します。アシスタントの仕事は、内部ネットワーク図を尊重することではなく、ユーティリティを最大化することです。アウトバウンド TLS を開いたり、任意のファイルを変更したり、ネストされたシェルを生成したりできるツールはすべて、水平移動プリミティブになります。 Apple シリコン ホストでは、次のように仮定します。TCC プロンプトツールがカメラ、マイク、またはフルディスク アクセスに初めて触れたときに表示されます。ユーザーはバンドル ID を読み取るよりも早く「許可」をクリックします。
ツールを選択する前に爆発範囲を定量化します。各統合を 1 ~ 5 のスケールでランク付けします。5 は「追加のプロンプトを表示せずに顧客の PII を抽出できる」ことを意味します。スコアが 4+ のものはすべて、一般的な許可リストではなく、人間による 2 番目の承認ステップに属します。
どのチャネルがどの信頼ゾーンにマッピングされているかを文書化します。顧客からの Slack スレッドは、内部スタッフのデバッグと同じツール プロファイルを共有してはなりません。
レッドチームは四半期ごとに、境界線のシェル スニペットを含む履歴トランスクリプトを再生するスクリプト パックを使用します。以上の場合2%ポリシーの強化後に突然失敗したトランスクリプトの数は、一度にあまりにも積極的に強化しすぎました。
不変のログ シンクをオフホストに維持し、侵害されたゲートウェイが証拠を切り捨てることができないようにします。オブジェクト ロックを備えた S3 または GCS が一般的です。
ホワイトリストと拒否リストとハイブリッド
| Pattern | オペレータの負担 | セキュリティ体制 | ベストフィット |
|---|---|---|---|
Explicit allowed-tools | High | 強力なデフォルト拒否 | 共有Mac miniゲートウェイ |
| 正規表現拒否リスト | Low | 弱い - 新しい動詞を見逃します | 個人開発用ラップトップのみ |
| ハイブリッド (ツール + シェル プレフィックスを許可) | Medium | 監査に強い | 2026 年のほとんどの生産車両 |
一部のベンダーは 50 個のマイクロツールを出荷しているため、ハイブリッドが勝ちます。それぞれの名前を列挙すると、構成のスパゲッティになります。代わりに、オーケストレーション ツール名を許可しますが、ディレクトリ スコープのプレフィックスを使用してシェルの実行を制限します。/opt/homebrew/bin黙って別名を付けることはできませんcurlそのバイナリ パスを明示的に許可しない限り。
許可されたツールとプレフィックスの作成
Git にチェックインされた凍結されたマニフェストから開始してください。本番環境でのライブ検出から決して開始しないでください。そうしないと、先週の火曜日にエージェントが試したものを誤って祝福することになります。最小限の YAML スケッチ (フィールド名はディストリビューションによって異なります) は次のようになります。
gateway:
allowed_tools:
- read_file
- list_directory
- http_get
shell:
command_prefix_allowlist:
- /usr/bin/git
- /usr/bin/xcodebuild
- /opt/homebrew/bin/node
- /Users/build/ci-scripts/
パスを正規化しますrealpathCI 中にシンボリックリンクがルールをバイパスできないようにするため、/usr/local/bin/gitに解決します/Library/Developer/CommandLineTools/usr/bin/gitの場合、ホワイトリストにはフレンドリーなシンボリックリンクだけでなく、解決されたターゲットも含める必要があります。
キャップリストの成長: 以上25個別のシェル プレフィックスは通常、スプロールを示します。ホームブリュー タップをすべてホワイトリストに登録するのではなく、1 つの監査済みディレクトリ内のラッパー スクリプトにリファクタリングします。
semver タグを使用してマニフェストをバージョン管理します。各ゲートウェイのログ行にタグを付加すると、インシデント対応者はどのポリシーが拒否されたコマンドを解釈したかを知ることができます。
ブラウザーの自動化が必要な場合は、同じ会話でファイルシステム書き込みツールが有効になっていない専用のツール プロファイルに分離します。
ロールアウトのペースとブレークグラス
3 つのウェーブで出荷されます。第 1 週では、コマンドがブロックされるはずだったログ記録専用モードが有効になります。 2 週目ではステージングが強制されます。 3 週目は、ポケットベル エイリアスを使用して、営業時間中に運用環境で強制します。期待する5~15%最初の施行パスに失敗した履歴トランスクリプトの数。ほとんどの失敗は攻撃ではなく、無害なパスの違いです。
維持する15-minuteガラス破りの手順: 2 人の承認、チケットに記録される一時的な拡大、自動復帰タイマー。タイマーが鳴ることは、その「一時的」な機能を永久に使用することになったわけです。
予算の数値を伝達する: 以上ではありませんthreeCVE または顧客契約にリンクされていない限り、スプリントごとにプレフィックスを追加します。
正確な標準エラー出力スニペットをキャプチャするためのサポートをトレーニングします。あいまいな「コマンドがブロックされました」メッセージは、シェル層とオーケストレーション層のどちらが起動したかを二分してしまい、何時間も無駄にします。
各本番環境が強化された後、実行しますdoctorプローブとスナップショットの待ち時間の中央値。上記の回帰120ミリ秒多くの場合、バイナリの移動時に DNS またはコード署名検証パスが変更されたことを意味します。
macOS PATH、SIP、およびマルチユーザー ホスト
LaunchAgent は、対話型 SSH シェルとは異なる PATH を継承します。 「tmux で動作した」エージェントは、親が次の場合に argv[0] の解決が異なるため、ホワイトリストでは失敗する可能性があります。launchd。 plist で明示的な PATH を設定し、ポリシーで絶対バイナリを参照することで修正します。
システム整合性保護は、エージェントが試みても一部のバイナリを置き換えることはできませんが、ユーザーが代わりのコピーをインストールすることを阻止するものではありません。~/bin。ディレクトリが root および chmod 755 で所有されている場合を除き、プレフィックス リスト内のユーザーが書き込み可能なディレクトリを拒否します。
共有ミニでは、個別の Unix アカウントまたは少なくとも個別のボリューム マウントを使用して、顧客ごとにワークスペースを分離します。ホワイトリストはファイルシステムのアクセス許可の代わりにはなりません。
フォーク ストームは、エージェントがシェル ツールを並列化するときに依然として発生します。ホワイトリストと同時実行の上限を組み合わせます。スロットルガイダンス.
予備のハードウェアが足りない場合はクラウドをレンタルするマックミニ本番環境をミラーリングするため: MacHTML Apple Silicon ホストは一般に次の場所で入手できます。$16.9/日plist 編集には SSH を使用し、GUI 同意フローを再現するには VNC を使用します。収益リリースを一時停止するよりも安価です。
コンプライアンスを証明するテレメトリー
エクスポート カウンタ: 1 時間あたりの拒否されたツール試行数、1 時間あたりの拒否されたシェル プレフィックス数、ホワイトリストのバージョン、およびゲートウェイ ビルド。セキュリティレビュー担当者は、生の argv 文字列 (シークレットが含まれている可能性があります) ではなく、ルール ID ごとにグループ化された拒否理由を求めます。
拒否が急増した場合にアラートを送信する3×7 日間のベースラインを超えています。多くの場合、デプロイではプレフィックスを更新せずにバイナリが移動されました。
構造化された監査イベントを少なくとも一定期間保持する90日;ウィンドウが短いと、スローバーンの乱用を見逃します。
ダッシュボードには正当なタスクの成功率と拒否数が表示されるため、製品がスループットを静かに停止しながらセキュリティ メトリクスを最適化することはありません。
四半期ごとのサンプル50イベントを手動で拒否しました。自動分類では、多言語リポジトリのラッパー スクリプトに依然として誤ったラベルが付けられています。
最後に、Grafana アノテーションをマニフェストに触れる Git マージに結び付け、オンコール エンジニアがスパイク チャートからバイナリ パスを移動したコミットに直接ジャンプできるようにします。
マニフェスト ハッシュをゲートウェイに保存します。/healthzペイロードを使用するため、ロード バランサーと合成プローブは、ユーザー トラフィックが検出するずっと前に古い構成を実際に検出します。
FAQ
ホワイトリストはネットワーク下り制御に代わるものですか?
いいえ、両方を組み合わせてください。許可されたhttp_getVPC に下りルールがない場合でも、ツールは内部メタデータ エンドポイントに到達できます。
プレフィックスはどれくらいの頻度で変更する必要がありますか?
インシデントにパッチを適用する場合を除き、実稼働ゲートウェイのスプリントごとに最大 1 回。
開発環境と製品環境で 1 つのポリシーを共有できますか?
開発者が実稼働データにアクセスできない場合のみ。それ以外の場合は、「ラップトップ上で動作する」というドリフトを避けるために、個別のマニフェストを維持します。
Apple Silicon Mac miniハードウェアは、OpenClaw の強化を検証する最も忠実な場所であり続けます。実際の TCC プロンプト、LaunchAgent のスケジューリング、および Xcode ツールチェーンのパスは、セキュリティ監査者の期待と一致します。MacHTMLは、SSH/VNC を備えたクラウド Mac mini レンタルを提供しているため、隔離されたホストでのホワイトリストのロールアウト、ドクター チェック、スロットルのリハーサルを行うことができます。強化スプリントに向けて起動し、制御を証明し、グリーンになったら廃止します。
専用クラウド Mac mini で OpenClaw を強化する
Apple Silicon の容量をレンタルして、本番ゲートウェイに触れる前に、実際の macOS の動作に対してホワイトリスト、医師の診断、トークン スロットルをテストします。