Personal Agent Bench

ほかの言語English한국어

OpenClawのセキュリティ:ゲートウェイが使うポリシーを確認する

このページは 2026-10-13 時点の英語版を機械翻訳し、数値を原文と照合したものです。内容が食い違う場合は英語版が優先されます。

OpenClawのセキュリティレビューでは、まずゲートウェイにアクセスできる人、ツールの実行場所、承認が必要なコマンドを特定します。検証対象として固定したリビジョンでは、サンドボックスの設定解決処理のフォールバック値はoffです。ホストでのexec承認に関する定数はsecurity=full、ask=off、askFallback=denyとなっています。以下では、これらのソース上の値と、プロジェクトのドキュメントに記載された確認コマンドを対応づけ、設定済みの環境を調べる手順を示します。サンドボックスの設定解決処理、execの定数。

  • openclaw security auditを実行し、プロジェクト独自のチェックが検出する設定上のリスクを確認します。公式セキュリティガイド。
  • openclaw exec-policy showと、適切な対象を指定したopenclaw approvals getで、実際に適用されるコマンドポリシーを確認します。確認コマンド。
  • サンドボックスのモードとバックエンドを併せて確認し、その後でワークスペースへのアクセスとコンテナ設定を調べます。解決後のサンドボックス設定。
  • 診断設定は、モデルやツールの接続設定とは別に確認します。エクスポーターの確認方法は後述します。

OpenClawのセキュリティ脅威モデルを定める

アカウントを接続したり、ネットワーク経由のアクセスを開放したりする前に、ゲートウェイの信頼境界を共有する人を特定します。OpenClawの公式セキュリティガイドは、信頼できる1人の運用者、またはメンバー同士が互いを信頼するチームを想定しています。信頼度の異なるユーザーや敵対的なユーザーがいる場合は、ゲートウェイと認証情報を分離し、できればOSユーザーやホストも分けるよう勧めています。ペアリングしたノードは、運用者の実行能力を別のマシンへ拡張します。ゲートウェイごとに1つの信頼境界、ゲートウェイとノードの信頼関係。

把握すべき資産は、ツールがアクセスできるファイルと認証情報、接続済みアカウント、保存された会話、ゲートウェイとノードのホストです。重要な入力には、メッセージ、取得したページ、メール、文書、添付ファイルがあります。非公開のボットでも、読み込んだ資料を通じて悪意ある指示に遭遇する可能性があります。プロジェクトのプロンプトインジェクション対策ガイドは、ツールのアクセス範囲を制限し、秘密情報をエージェントがアクセスできるファイルシステムの外に置き、機密性の高い処理をサンドボックス内で実行することを勧めています。信頼できないコンテンツと制約を適用する各層。

ここから、レビューで問うべき点が具体化します。取得した文書がモデルを望ましくないコマンドへ誘導したとき、どのツールポリシー、承認、実行境界がそれを止めるのでしょうか。チャネルのアクセス制御が決めるのは、誰がボットに話しかけられるかです。正規ユーザーの調査資料に含まれる敵対的な文章までは取り除きません。そのコンテンツを処理するエージェントに対して、以下の確認を行ってください。このページはソースのレビューであり、脆弱性の悪用テストや、稼働システムのセキュリティスコアの算出は行っていません。

OpenClawのセキュリティ設定を確認する

最初に公式の監査を実行し、続いて実行先ホストを別途確認します。ここで示すのはドキュメントに記載された確認コマンドです。例は読者の環境で実行するための手順であり、今回のレビューで実行したコマンドではありません。セキュリティ監査、実効ポリシーの確認。

確認コマンド確認する内容結果の活用方法
openclaw security audit環境の設定に関する検出事項アクセス範囲を広げる前に、リンク先の公式監査ガイドに従います。
openclaw exec-policy showローカル端末のポリシー、コマンド承認、除外設定の出所execが利用可能になっているか、どのポリシーが適用されるかを確認します。
openclaw exec-policy show --session <key>保存済みセッション設定に基づくツールのプレビュー使用予定のセッションを、ローカルの基準設定と比較します。
openclaw approvals get --gatewayゲートウェイが要求するポリシー、ホストポリシーの出所、実効結果フォールバック定数を1つ見るだけでなく、実効結果を読み取ります。
openclaw approvals get --node <id>選択したノードの承認設定コマンドを実行するマシンを確認します。

該当する会話で/execを実行し、現在のセッションのデフォルト設定を確認します。オフラインのポリシー表示には、セッションごとの/execによる上書きは含まれません。ツールのプレビューにも対象範囲の限界があります。ドキュメントによると、表示されていても実行が保証されるわけではなく、表示されていなくてもツールが無効である証拠にはなりません。要求されたポリシー、対象ホスト、セッションを併せて結果を解釈してください。セッションとプレビューの対象範囲。

コマンド設定と併せて、ネットワークへの公開状態も確認します。セキュリティ概要では、通常のホストへのインストールはループバックへのバインドとされる一方、コンテナイメージはデフォルトで外部に公開されるバインドとなり、認証との併用が必須とされています。ゲートウェイをループバックの外へ公開する前に、公開手順書に従ってください。これはシェルコマンドの許可とは別の確認です。ゲートウェイの認証は、システムへの入口を制御します。ホストとコンテナの公開に関するデフォルト設定、公式の公開手順書。

OpenClawのサンドボックスのモード、バックエンド、マウントを確認する

Docker設定を頼りにする前に、解決後のサンドボックスモードを確認します。ソースでは、デフォルト設定よりもエージェント固有の値が優先され、フォールバック値はモードがoff、バックエンドがdocker、ワークスペースへのアクセスがnoneです。この組み合わせは、利用できるバックエンドを指定しているだけで、それを有効にはしていません。セッションにどの値が適用されるかを把握するため、共通設定とエージェントによる上書きの両方を確認してください。サンドボックスの設定解決。

Dockerによるサンドボックス化が選ばれている場合は、ネットワーク、ケーパビリティ、マウントの設定を確認します。レビューしたDockerのデフォルト設定には、ネットワークのnoneと、全ケーパビリティの削除が含まれています。設定解決処理は、設定による上書きも受け付けます。これらは、選択したコンテナに適用する意図の制限を表しています。ホストのどのデータをその環境へ渡すかは、ワークスペースへのアクセス設定とバインドマウントで決まります。Dockerのデフォルト設定とバインド設定。

公式のプロンプトインジェクション対策ガイドは、offモードの挙動を明記しています。有効なサンドボックスがない場合、暗黙のhost=autoはゲートウェイホストに解決されます。一方、明示的なhost=sandboxは、利用可能なサンドボックスランタイムがなければ実行を拒否します。タスクがゲートウェイ上で実行された理由や、開始を拒否された理由を調べる際は、この違いを踏まえてください。導入済みバックエンドの実際の隔離能力やサンドボックスからの脱出への耐性を確かめるには、この静的レビューを超えた実行時の検証が必要です。サンドボックスとホストの選択。

OpenClawのexecにおけるfull、off、denyを理解する

execの3つのフィールドを併せて読み、実効ポリシーの出力と比較します。ソース上の定数はフォールバック値を提供し、設定解決処理は上書きを受け付けます。各フィールドの役割はドキュメントに説明されています。フォールバック定数、設定解決、ポリシーの定義。

フィールドと値実際の意味
security: full許可リストとの一致を必要としません。昇格したアクセス権限を付与するものではありません。
ask: off通常のポリシーに基づく承認プロンプトを無効にします。別途有効にした厳格なインライン評価チェックによっては、引き続き承認が必要になる場合があります。
askFallback: denyプロンプトが必要なのに応答できるUIがない場合、またはタイムアウトした場合に、リクエストをブロックします。
security: denyホストでのexecリクエストをブロックします。未応答のプロンプトだけを拒否する設定とは異なります。

つまり、askFallback: denyを設定しても、full/offが事前承認を求めるポリシーに変わるわけではありません。通常のプロンプトなしで許可されるリクエストは、未応答時のフォールバックを必要としません。逆に、プロンプトが必要になった場合は、承認チャネルが利用できないときの処理をフォールバックが定めます。ツールポリシー、ホストポリシー、適用されるセッションモードも引き続き関係するため、これらのexecに関する調査結果から、すべての連携機能に共通する送信、購入、削除の承認制御があるとは確認できません。承認の各層、askとフォールバックの意味。

新たに設定する場合、固定リビジョンのドキュメントはtools.exec.modeの使用を推奨しています。モードはdeny、allowlist、ask、auto、fullです。fullは通常のfull/offの挙動に対応し、askは許可リストのポリシーを使い、一致しない場合にプロンプトを表示します。このフィールドを従来のsecurityやaskキーと組み合わせる前に、記載された移行ルールを確認してください。ポリシーの混在は拒否されることがあり、従来の組み合わせの中には、正規化後のモードに完全に対応するものがない場合もあります。正規化されたexecモード。

インタープリターを許可する場合は、tools.exec.strictInlineEvalも確認します。ドキュメントには、認識対象となるインライン評価形式の承認要件と、fullセッションおよび権限昇格時の個別の例外が記載されています。そのようなコマンドをレビューする際は、fullという語がほかのすべての設定に優先すると考えず、該当する実行経路のポリシー説明を参照してください。厳格なインライン評価と例外。

OpenClawの定期実行とツールの利用可否を確認する

定期実行の処理をどのゲートウェイが開始するか、cronが有効かを確認します。ゲートウェイはCronServiceを構築し、設定から有効かどうかを決定します。無人で動くワークフローを、そのゲートウェイと対象エージェントに沿って追跡し、アクセス可能なホストに対して実効ポリシーの確認を行ってください。スケジュールは、エージェントの権限を利用する別の入口になります。cronの設定、Cronサービスの構築。

そのエージェントで有効になっているツールとプラグインを確認します。ソースは、メッセージ送受信、スケジュール、Webアクセス、セッションなどの操作用ツールを、プラグインも含めて条件付きで構築します。有効なツール数は設定によって変わります。execのドキュメントには、参考になる例があります。コマンド承認が実行を許可していても、メッセージング用のツールプロファイルではexecとprocessを除外できます。ツールの利用可否は要求できる操作を決め、承認ポリシーはその操作を進めてよいかを決め、サンドボックス化は実行環境を決めます。ツールの構築、利用可否と承認の違い。

自動化における承認要求の配送も確認します。固定リビジョンのドキュメントは、対応する運用者クライアントに送られるゲートウェイホストのcron承認要求と、ノードホストでの自動化に使うヘッドレスポリシーを区別しています。定期実行のリクエストに人が応答することを前提にする前に、選択した対象について記載された自動化の挙動を確認してください。自動化における承認要求の配送。

OpenClawのメモリ、プロバイダー、診断設定を調べる

データ保持をレビューする際は、メモリインデックスと併せて、ワークスペースのMEMORY.mdの所在を確認します。Memory-coreは記録をそのMarkdownファイルへ昇格させ、SQLiteを基盤とするマネージャーを使用します。どちらも保存先として棚卸しの対象にしてください。ファイルを1つ削除しても、付随するインデックス、ログ、想起履歴が消去されたことを確認したことにはなりません。Markdownへの昇格、SQLiteを基盤とするマネージャー。

同じデータレビューの一環として、設定されたプロバイダーも確認します。固定リビジョンのデフォルト定数はopenaiとgpt-6-astraを指定していますが、プロバイダーやプラグインの設定によって送信先は変わり得ます。接続先の一覧では、モデルのエンドポイント、メッセージングサービス、診断エクスポーターを別々の項目として管理してください。モデルとプロバイダーの定数。

診断用のOTelエクスポーターについては、diagnostics.enabledとdiagnostics.otel.enabledを確認します。診断設定が存在しない場合、診断が明示的に無効化されている場合、またはOTelが有効になっていない場合、起動処理は早期に終了します。これにより、このエクスポーターにはオプトインの条件があることを確認できます。これらのファイルからは、ほかのテレメトリーのデフォルト設定や、実際の外向き通信先ホストの網羅的な一覧までは確認できません。エクスポーターの起動条件。

他のプロジェクトで対応するコンポーネントを選ぶには、比較表を参照してください。例えば、Hermes Agentのレビューではメモリファイルとターミナルバックエンドの確認項目を示し、NanoClawの紹介ではコンテナのマウントとプロバイダーの承認プロンプトを分けて扱っています。

このOpenClawセキュリティレビューの範囲を確認する

再現記録を参照し、保存されたソースの抜粋と、試みたツリー全体のスキャンを区別してください。REAによるツリー全体の再試行は、完全なJSON結果を得られないまま、ランナーの上限である600秒に達しました。一方、保存されたグラフ解析が対象とするのは、引用元とバイト単位で一致する9つのソースファイルです。リポジトリからの相対パスとファイルハッシュも保存されています。これらのファイルは解析エラーなくパースされましたが、依存関係の完全な解析ではありません。

先に失敗したツリー全体の解析試行では、ファイル構成に関する証拠が保存されました。その後、ランナーのメタデータ解放エラーにより、ファイルシステムのタイムスタンプからタイムアウトのメタデータを復元する必要が生じました。成功したスキャンを復元したわけではありません。以下のコマンドと出力の識別情報は、その違いを保持しています。このページに追加したセットアップとセキュリティの案内は、固定リビジョンのリポジトリ内ドキュメントを手作業で読んだものです。REAの対象範囲が9ファイルから広がったわけではありません。

再現手順

以下の固定リビジョンと記録済みコマンドを使い、調査結果をたどれます。

調査では、エージェント向けのオープンソースのリバースエンジニアリングツールであるREA(morluto/rea、MIT、v6.4.0)と、手作業でのソース読解を併用しました。REAのリポジトリはツールの提供元であり、このレビューを推奨しているわけではありません。私たちは、このプロジェクトともREAとも提携関係にありません。調査は静的な読解のみです。対象エージェントを実行せず、実際の通信も観測していません。

固定したチェックアウトはe46cb104f29782ab08caee36607946074f91056fです。REAはJS/TSのアプリケーショングラフ(Electronの境界、インポート、ストレージ、リクエストの呼び出し箇所)をマッピングしました。挙動に関する結論(承認経路、デフォルト設定、テレメトリー)は、ソースを読んで確認しました。Electronの境界は、存在する箇所でマッピングしました。REAでは、JavaScript以外のコア部分の挙動は確認できていません。

以下はpass-2マニフェストに記録されたコマンドを、別の環境でも使える等価な形にしたものです。固定リビジョンのリポジトリをrepos/openclawに置いた作業ディレクトリから実行します。リポジトリを固定コミットでrepos/内にクローンし、rea-out/を作成して、その作業ディレクトリからコマンドを実行してください。これらは解析用のコマンドであり、エージェントを起動する手順ではありません。実行ファイルとワークスペースのパスは、npx [email protected]と相対パスに統一しています。元の実行の一部では、ADDITIONAL_SWIFT_DRIVER_FLAGSを通じて書き込み可能なコンパイラーキャッシュのディレクトリも設定していました。

npx [email protected] analyze-javascript-application repos/openclaw --format json --analysis-timeout-ms 120000 > rea-out/openclaw.json 2> rea-out/openclaw.stderr

npx [email protected] analyze-javascript-application repos/openclaw --format json --analysis-timeout-ms 120000 > rea-out/openclaw-analysis.json 2> rea-out/openclaw-analysis.stderr

npx [email protected] analyze-javascript-application rea-out/source-slices/openclaw --format json --analysis-timeout-ms 120000 > rea-out/openclaw-core.json 2> rea-out/openclaw-core.stderr

保存された解析は部分的なものです。書き込み可能なコンパイラーキャッシュによって、当初のパース準備段階の失敗は解消しましたが、プロセステーブルの確認がブロックされ、cleanup_incompleteが発生しました。ランナーは完全なJSON出力の後、残っていたCLIを停止しました。これは、ワーカーが正常に終了したことを示すものではありません。グラフ上で観測されなかったことを理由に、その挙動が存在しないとは判断できません。再現記録では、出力ハッシュをEvidence IDや対象ダイジェストと分けて記録しています。

対象範囲を限定したコマンドを実行する場合は、まず再現記録に記載された9ファイルからrea-out/source-slices/openclawを再作成してください。リポジトリからの相対パスを維持し、記録されたSHA-256値を検証します。独自に選んだ縮小ツリーで代用しないでください。ツリー全体の解析に指定したタイムアウトオプションはソースごとに適用され、ランナーはそれとは別に合計600秒の上限を設けていました。

FAQ

OpenClawのセキュリティ確認は、どこから始めればよいですか? 公式のセキュリティ監査を実行し、次に、処理を実行するゲートウェイまたはノードのサンドボックス選択と実効execポリシーを確認します。上のチェックリストに、ドキュメントに記載されたコマンドをまとめています。

askFallbackのdenyは、すべてのコマンドを承認待ちにしますか? いいえ。必要なプロンプトに応答できない場合にブロックします。上のexecの表で、そのフォールバックと、プロンプトが必要かどうかを決めるポリシーを区別してください。

execツールがないことと、サンドボックス化は同じですか? いいえ。ツールポリシーは、操作を利用できるかどうかを決めます。サンドボックス設定は、サンドボックス内での実行に使う環境を決めます。ワークフローを有効にする前に、両方を確認してください。

Hermes Agentとは、どのように比較できますか? Hermes Agentの設定確認項目と比較表を使い、承認経路、実行環境、メモリの保存先を比較してください。製品名を比べる前に、導入環境のどの設定を確認する必要があるかを選びましょう。