openclaw security

セキュリティツール(監査 + 任意の修正)です。

関連ドキュメント:

監査

openclaw security audit
openclaw security audit --deep
openclaw security audit --fix
openclaw security audit --json

監査は複数のDM送信者がメインセッションを共有している場合に警告を出し、共有インボックス向けにセキュアDMモード: session.dmScope="per-channel-peer"(マルチアカウントチャンネルの場合は per-account-channel-peer)を推奨します。 これは協調型/共有インボックスの強化を目的としたものです。相互に信頼できない/敵対的なオペレータが共有する単一のGatewayは推奨されるセットアップではありません。信頼境界は別々のゲートウェイ(または別々のOSユーザー/ホスト)で分離してください。 設定が共有ユーザーイングレスの可能性を示唆する場合(例: オープンなDM/グループポリシー、設定済みのグループターゲット、ワイルドカード送信者ルール)、security.trust_model.multi_user_heuristic も出力されます。OpenClawはデフォルトでパーソナルアシスタントの信頼モデルを採用していることを通知します。 意図的な共有ユーザーセットアップの場合、監査ガイダンスはすべてのセッションをサンドボックス化し、ファイルシステムアクセスをワークスペーススコープに限定し、個人/プライベートのIDやクレデンシャルをそのランタイムに置かないことです。 小規模モデル(300B以下)がサンドボックスなしでWeb/ブラウザツールが有効な場合にも警告します。 webhookイングレスについては、hooks.defaultSessionKey が未設定の場合、リクエストの sessionKey オーバーライドが有効な場合、およびオーバーライドが hooks.allowedSessionKeyPrefixes なしで有効な場合に警告します。 サンドボックスモードがオフのままサンドボックスDocker設定が設定されている場合、gateway.nodes.denyCommands が無効なパターン風/不明なエントリを使用している場合(正確なノードコマンド名マッチングのみでシェルテキストフィルタリングではない)、gateway.nodes.allowCommands が危険なノードコマンドを明示的に有効にしている場合、グローバル tools.profile="minimal" がエージェントツールプロファイルでオーバーライドされている場合、オープングループがサンドボックス/ワークスペースガードなしでランタイム/ファイルシステムツールを公開している場合、およびインストールされた拡張プラグインツールが寛容なツールポリシーの下で到達可能な可能性がある場合にも警告します。 gateway.allowRealIpFallback=true(プロキシが誤設定された場合のヘッダースプーフィングリスク)や discovery.mdns.mode="full"(mDNS TXTレコードによるメタデータ漏洩)もフラグ付けします。 サンドボックスブラウザがDocker bridge ネットワークを sandbox.browser.cdpSourceRange なしで使用している場合にも警告します。 危険なサンドボックスDockerネットワークモード(hostcontainer:* ネームスペースジョインを含む)もフラグ付けします。 既存のサンドボックスブラウザDockerコンテナにハッシュラベルが欠落/古くなっている場合(例: 移行前のコンテナで openclaw.browserConfigEpoch が欠落)にも警告し、openclaw sandbox recreate --browser --all を推奨します。 npmベースのプラグイン/フックインストールレコードが固定されていない場合、インテグリティメタデータが欠落している場合、または現在インストールされているパッケージバージョンと乖離している場合にも警告します。 チャンネル許可リストが安定したIDではなく変更可能な名前/メール/タグに依存している場合にも警告します(Discord、Slack、Google Chat、MS Teams、Mattermost、IRC スコープ(該当する場合))。 gateway.auth.mode="none" がGateway HTTP APIを共有シークレットなしで到達可能にしている場合にも警告します(/tools/invoke および有効な /v1/* エンドポイント)。 dangerous/dangerously をプレフィックスに持つ設定は明示的なブレークグラスオペレーターオーバーライドです。これを有効にすること自体はセキュリティ脆弱性レポートではありません。 危険パラメータの完全なインベントリについては、Security の「Insecure or dangerous flags summary」セクションを参照してください。

JSON出力

CI/ポリシーチェックには --json を使用してください:

openclaw security audit --json | jq '.summary'
openclaw security audit --deep --json | jq '.findings[] | select(.severity=="critical") | .checkId'

--fix--json を併用した場合、出力には修正アクションと最終レポートの両方が含まれます:

openclaw security audit --fix --json | jq '{fix: .fix.ok, summary: .report.summary}'

--fix が変更する内容

--fix は安全で決定的な修正を適用します:

  • 一般的な groupPolicy="open"groupPolicy="allowlist" に変更(対応チャンネルのアカウントバリアントを含む)
  • logging.redactSensitive"off" から "tools" に設定
  • 状態/設定および一般的な機密ファイル(credentials/*.jsonauth-profiles.jsonsessions.json、セッション *.jsonl)のパーミッションを強化

--fix は以下の操作を行いません:

  • トークン/パスワード/APIキーのローテーション
  • ツール(gatewaycronexec など)の無効化
  • ゲートウェイのバインド/認証/ネットワーク公開設定の変更
  • プラグイン/スキルの削除や書き換え