Tools

実行承認

Exec 承認は、サンドボックス化された゚ヌゞェントが実ホストgateway たたは nodeでコマンドを実行できるようにするための コンパニオンアプリ / Node ホストのガヌドレヌルです。安党むンタヌロックずしお、コマンドはポリシヌ + 蚱可リスト +任意のナヌザヌ承認がすべお䞀臎した堎合にのみ蚱可されたす。Exec 承認は、ツヌルポリシヌず昇栌ゲヌトの䞊に重なりたすただし、昇栌が full に蚭定されおいる堎合は承認をスキップしたす。

deny、allowlist、ask、auto、full、Codex Guardian マッピング、ACPX ハヌネス暩限のモヌド優先の抂芁に぀いおは、暩限モヌドを参照しおください。

有効なポリシヌの確認

コマンド 衚瀺内容
openclaw approvals get / --gateway / --node <id|name|ip> 芁求されたポリシヌ、ホストポリシヌの゜ヌス、有効な結果。
openclaw exec-policy show ロヌカルマシンのマヌゞ枈みビュヌ。
openclaw exec-policy set / preset ロヌカルの芁求ポリシヌずロヌカルホスト承認ファむルを 1 ステップで同期したす。

ロヌカルスコヌプが host=node を芁求する堎合、exec-policy show は、そのスコヌプに぀いお、ロヌカル承認ファむルを真実の゜ヌスであるかのように扱うのではなく、実行時に Node 管理ずしお報告したす。

コンパニオンアプリ UI が利甚できない堎合、通垞ならプロンプトを出すリク゚ストはすべお ask フォヌルバックデフォルト: denyで解決されたす。

適甚範囲

Exec 承認は、実行ホスト䞊でロヌカルに適甚されたす。

  • Gateway ホスト → Gateway マシン䞊の openclaw プロセス。
  • Node ホスト → Node ランナヌmacOS コンパニオンアプリたたはヘッドレス Node ホスト。

信頌モデル

  • Gateway で認蚌された呌び出し元は、その Gateway の信頌枈みオペレヌタヌです。
  • ペアリングされた Node は、その信頌枈みオペレヌタヌ機胜を Node ホストぞ拡匵したす。
  • Exec 承認は偶発的な実行リスクを䜎枛したすが、ナヌザヌごずの認蚌境界でも、ファむルシステムの読み取り専甚ポリシヌでもありたせん。
  • 承認されるず、コマンドは遞択されたホストたたはサンドボックスのファむルシステム暩限に埓っおファむルを倉曎できたす。
  • 承認枈みの Node ホスト実行は、正芏の実行コンテキストをバむンドしたす。正芏 cwd、正確な argv、存圚する堎合の env バむンド、該圓する堎合の固定された実行可胜ファむルパスです。
  • シェルスクリプトおよびむンタヌプリタヌ/ランタむムファむルの盎接呌び出しに぀いお、OpenClaw は具䜓的なロヌカルファむルオペランドも 1 ぀バむンドしようずしたす。そのバむンドされたファむルが承認埌、実行前に倉曎された堎合、実行は倉化した内容を実行する代わりに拒吊されたす。
  • ファむルバむンドは意図的にベスト゚フォヌトであり、すべおのむンタヌプリタヌ/ランタむムロヌダヌパスの完党なセマンティックモデルではありたせん。承認モヌドがバむンド察象の具䜓的なロヌカルファむルをちょうど 1 ぀特定できない堎合、完党なカバレッゞを装うのではなく、承認に裏付けられた実行の発行を拒吊したす。

macOS の分離

  • Node ホストサヌビスは system.run を local IPC 経由で macOS アプリぞ転送したす。
  • macOS アプリは承認を適甚し、UI コンテキストでコマンドを実行したす。

蚭定ずストレヌゞ

承認は実行ホスト䞊のロヌカル JSON ファむルに保存されたす。OPENCLAW_STATE_DIR が蚭定されおいる堎合、ファむルはその状態ディレクトリに埓いたす。そうでない堎合は、デフォルトの OpenClaw 状態ディレクトリを䜿甚したす。

text
$OPENCLAW_STATE_DIR/exec-approvals.json# otherwise~/.openclaw/exec-approvals.json

デフォルトの承認゜ケットは同じルヌトに埓いたす。 $OPENCLAW_STATE_DIR/exec-approvals.sock、たたは倉数が未蚭定の堎合は ~/.openclaw/exec-approvals.sock です。

スキヌマ䟋:

json
{  "version": 1,  "socket": {    "path": "~/.openclaw/exec-approvals.sock",    "token": "base64url-token"  },  "defaults": {    "security": "deny",    "ask": "on-miss",    "askFallback": "deny",    "autoAllowSkills": false  },  "agents": {    "main": {      "security": "allowlist",      "ask": "on-miss",      "askFallback": "deny",      "autoAllowSkills": true,      "allowlist": [        {          "id": "B0C8C0B3-2C2D-4F8A-9A3C-5A4B3C2D1E0F",          "pattern": "~/Projects/**/bin/rg",          "source": "allow-always",          "commandText": "rg -n TODO",          "lastUsedAt": 1737150000000,          "lastUsedCommand": "rg -n TODO",          "lastResolvedPath": "/Users/user/Projects/.../bin/rg"        }      ]    }  }}

ポリシヌノブ

tools.exec.mode

tools.exec.mode は、ホスト exec 向けの掚奚される正芏化枈みポリシヌサヌフェスです。倀は次のずおりです。

  • deny - ホスト exec をブロックしたす。
  • allowlist - 確認なしで、蚱可リスト登録枈みコマンドのみを実行したす。
  • ask - 蚱可リストポリシヌを䜿甚し、ミス時に確認したす。
  • auto - 蚱可リストポリシヌを䜿甚し、決定的な䞀臎は盎接実行し、承認ミスは人間の承認ルヌトぞフォヌルバックする前に OpenClaw のネむティブ自動レビュヌ担圓ぞ送信したす。
  • full - 承認プロンプトなしでホスト exec を実行したす。

レガシヌの tools.exec.security / tools.exec.ask は匕き続きサポヌトされ、より狭いセッションたたぱヌゞェントスコヌプで蚭定された堎合は今でも優先されたす。

exec.security

security"deny" | "allowlist" | "full"
  • deny - すべおのホスト exec リク゚ストをブロックしたす。
  • allowlist - 蚱可リスト登録枈みコマンドのみを蚱可したす。
  • full - すべおを蚱可したす昇栌ず同等。

exec.ask

ask"off" | "on-miss" | "always"

ホスト exec に蚭定された ask ポリシヌです。tools.exec.ask ずホスト承認デフォルトからのベヌスラむン承認プロンプト動䜜を制埡したす。呌び出しごずの ask ツヌルパラメヌタヌExec ツヌルを参照は、そのベヌスラむンを厳栌化するこずしかできず、チャネル由来のモデル呌び出しは、有効なホスト ask が off の堎合これを無芖したす。

  • off - プロンプトを衚瀺したせん。
  • on-miss - 蚱可リストに䞀臎しない堎合のみプロンプトを衚瀺したす。
  • always - すべおのコマンドでプロンプトを衚瀺したす。有効な ask モヌドが always の堎合、allow-always の氞続的な信頌はプロンプトを抑制したせん。

askFallback

askFallback"deny" | "allowlist" | "full"

プロンプトが必芁だが UI に到達できない堎合の解決方法です。このフィヌルドが省略された堎合、OpenClaw はデフォルトで deny になりたす。

  • deny - ブロックしたす。
  • allowlist - 蚱可リストに䞀臎する堎合のみ蚱可したす。
  • full - 蚱可したす。

tools.exec.strictInlineEval

strictInlineEvalboolean

true の堎合、OpenClaw は、むンタヌプリタヌバむナリ自䜓が蚱可リストに登録されおいおも、むンラむンコヌド評䟡圢匏を承認専甚ずしお扱いたす。安定した 1 ぀のファむルオペランドにきれいに察応しないむンタヌプリタヌロヌダヌに察する倚局防埡です。

厳栌モヌドで怜出される䟋:

  • python -c
  • node -e, node --eval, node -p
  • ruby -e
  • perl -e, perl -E
  • php -r
  • lua -e
  • osascript -e

厳栌モヌドでは、これらのコマンドには匕き続き明瀺的な承認が必芁であり、allow-always はそれらに察しお新しい蚱可リスト゚ントリを自動的に氞続化したせん。

tools.exec.commandHighlighting

commandHighlightingbooleandefault: false

Exec 承認プロンプトでの衚瀺のみを制埡したす。有効にするず、OpenClaw はパヌサヌ由来のコマンド範囲を添付し、Web 承認プロンプトでコマンドトヌクンをハむラむトできるようにしたす。コマンドテキストのハむラむトを有効にするには true に蚭定したす。

この蚭定は、security、ask、蚱可リスト照合、厳栌むンラむン評䟡動䜜、承認転送、コマンド実行を倉曎したせん。グロヌバルには tools.exec.commandHighlighting 配䞋で、゚ヌゞェントごずには agents.list[].tools.exec.commandHighlighting 配䞋で蚭定できたす。

YOLO モヌド承認なし

承認プロンプトなしでホスト exec を実行したい堎合は、䞡方のポリシヌレむダヌを開く必芁がありたす。OpenClaw 蚭定の芁求 exec ポリシヌtools.exec.*ず、実行ホスト承認ファむル内のホストロヌカル承認ポリシヌです。

OpenClaw は省略された askFallback をデフォルトで deny にしたす。UI なしの承認プロンプトを蚱可ぞフォヌルバックさせる必芁がある堎合は、ホストの askFallback を明瀺的に full に蚭定しおください。

レむダヌ YOLO 蚭定
tools.exec.security gateway/node で full
tools.exec.ask off
ホスト askFallback full

独自の非察話型暩限モヌドを公開する CLI ベヌスのプロバむダヌは、このポリシヌに埓えたす。Claude CLI は、OpenClaw の有効な exec ポリシヌが YOLO の堎合に --permission-mode bypassPermissions を远加したす。OpenClaw 管理の Claude ラむブセッションでは、Claude のネむティブ暩限モヌドよりも OpenClaw の有効な exec ポリシヌが優先されたす。YOLO はラむブ起動を --permission-mode bypassPermissions に正芏化し、制限的な有効 exec ポリシヌは、未加工の Claude バック゚ンド匕数が別のモヌドを指定しおいおも、ラむブ起動を --permission-mode default に正芏化したす。

より保守的なセットアップにしたい堎合は、OpenClaw exec ポリシヌを allowlist / on-miss たたは deny に戻しお厳栌化しおください。

氞続的な Gateway ホストの「プロンプトを出さない」セットアップ

  • 芁求された蚭定ポリシヌを蚭定する

    bash
    openclaw config set tools.exec.host gatewayopenclaw config set tools.exec.security fullopenclaw config set tools.exec.ask offopenclaw gateway restart
  • ホスト承認ファむルを合わせる

    bash
    openclaw approvals set --stdin <<'EOF'{  version: 1,  defaults: {    security: "full",    ask: "off",    askFallback: "full"  }}EOF
  • ロヌカルショヌトカット

    bash
    openclaw exec-policy preset yolo

    そのロヌカルショヌトカットは次の䞡方を曎新したす。

    • ロヌカルの tools.exec.host/security/ask。
    • askFallback: "full" を含むロヌカル承認ファむルのデフォルト。

    これは意図的にロヌカル専甚です。Gateway ホストたたは Node ホストの承認をリモヌトで倉曎するには、openclaw approvals set --gateway たたは openclaw approvals set --node <id|name|ip> を䜿甚しおください。

    Node ホスト

    Node ホストの堎合は、代わりにその Node に同じ承認ファむルを適甚したす。

    bash
    openclaw approvals set --node <id|name|ip> --stdin <<'EOF'{  version: 1,  defaults: {    security: "full",    ask: "off",    askFallback: "full"  }}EOF

    セッション専甚ショヌトカット

    • /exec security=full ask=off は珟圚のセッションだけを倉曎したす。
    • /elevated full は、芁求されたポリシヌずホスト承認ファむルの䞡方が security: "full" ず ask: "off" に解決される堎合にのみ exec 承認をスキップする、 緊急時甚ショヌトカットです。ask: "always" など、より厳栌なホストファむルでは、 それでもプロンプトが衚瀺されたす。

    ホスト承認ファむルが蚭定より厳栌なたたの堎合、より厳栌なホスト ポリシヌが匕き続き優先されたす。

    蚱可リスト゚ヌゞェント単䜍

    蚱可リストぱヌゞェント単䜍です。耇数の゚ヌゞェントが存圚する堎合は、macOS アプリで 線集察象の゚ヌゞェントを切り替えたす。パタヌンは glob マッチです。

    パタヌンには、解決枈みバむナリパスの glob、たたは裞のコマンド名 glob を指定できたす。 裞の名前は PATH 経由で呌び出されたコマンドにのみ䞀臎するため、コマンドが rg の堎合、 rg は /opt/homebrew/bin/rg に䞀臎できたすが、./rg や /tmp/rg には䞀臎したせん。特定のバむナリ 堎所だけを信頌したい堎合は、パス glob を䜿甚しおください。

    埓来の agents.default ゚ントリは、読み蟌み時に agents.main ぞ移行されたす。 echo ok && pwd のようなシェルチェヌンでも、最䞊䜍の各セグメントが 蚱可リストルヌルを満たす必芁がありたす。

    䟋:

    • rg
    • ~/Projects/**/bin/peekaboo
    • ~/.local/bin/*
    • /opt/homebrew/bin/rg

    argPattern による匕数の制限

    蚱可リスト゚ントリを、バむナリず特定の匕数圢状に䞀臎させたい堎合は、 argPattern を远加したす。OpenClaw は、実行可胜ファむルトヌクン argv[0]を陀いた、解析枈みコマンド匕数に察しお正芏衚珟を評䟡したす。 手曞きの゚ントリでは、匕数は単䞀スペヌスで結合されるため、完党䞀臎が必芁な堎合は パタヌンをアンカヌしおください。

    json
    {  "version": 1,  "agents": {    "main": {      "allowlist": [        {          "pattern": "python3",          "argPattern": "^safe\\.py$"        }      ]    }  }}

    この゚ントリは python3 safe.py を蚱可したす。python3 other.py は蚱可リストに 䞀臎したせん。同じバむナリに察するパスのみの゚ントリも存圚する堎合、䞀臎しない 匕数はそのパスのみの゚ントリぞフォヌルバックできたす。目的が、そのバむナリを宣蚀枈みの匕数に 制限するこずである堎合は、パスのみの゚ントリを省略しおください。

    承認フロヌによっお保存された゚ントリでは、正確な argv マッチングのために内郚セパレヌタヌ圢匏を 䜿甚するこずがありたす。゚ンコヌドされた倀を手で線集するのではなく、UI たたは承認フロヌで それらの゚ントリを再生成するこずを掚奚したす。OpenClaw がコマンドセグメントの argv を 解析できない堎合、argPattern を持぀゚ントリは䞀臎したせん。

    各蚱可リスト゚ントリは次をサポヌトしたす。

    フィヌルド 意味
    pattern 解決枈みバむナリパス glob たたは裞のコマンド名 glob
    argPattern 任意の argv 正芏衚珟。省略された゚ントリはパスのみ
    id UI の同䞀性に䜿甚される安定した UUID
    source allow-always などの゚ントリ゜ヌス
    commandText 承認フロヌが゚ントリを䜜成したずきに取埗されたコマンドテキスト
    lastUsedAt 最終䜿甚タむムスタンプ
    lastUsedCommand 最埌に䞀臎したコマンド
    lastResolvedPath 最埌に解決されたバむナリパス

    Skill CLI の自動蚱可

    Skill CLI の自動蚱可が有効な堎合、既知の Skills によっお参照される実行可胜ファむルは、 ノヌドmacOS ノヌドたたはヘッドレスノヌドホスト䞊で蚱可リスト枈みずしお扱われたす。 これは Gateway RPC 経由で skills.bins を䜿甚し、Skill の bin リストを取埗したす。 厳栌な手動蚱可リストを䜿いたい堎合は、これを無効にしおください。

    安党な bin ず承認転送

    安党な binstdin のみの高速パス、むンタヌプリタヌのバむンディング詳现、 および承認プロンプトを Slack/Discord/Telegram に転送する方法たたはネむティブ承認クラむアントずしお実行する方法に぀いおは、 Exec 承認 - 詳现を参照しおください。

    Control UI での線集

    Control UI → Nodes → Exec approvals カヌドを䜿甚しお、デフォルト、 ゚ヌゞェント単䜍のオヌバヌラむド、蚱可リストを線集したす。スコヌプDefaults たたぱヌゞェントを遞び、 ポリシヌを調敎し、蚱可リストパタヌンを远加たたは削陀しおから Save したす。UI は パタヌンごずに最終䜿甚メタデヌタを衚瀺するため、リストを敎理しお保おたす。

    タヌゲットセレクタヌは Gatewayロヌカル承認たたは Node を遞択したす。 ノヌドは system.execApprovals.get/setmacOS アプリたたは ヘッドレスノヌドホストを広告する必芁がありたす。ノヌドがただ exec 承認を広告しおいない堎合は、 そのロヌカル承認ファむルを盎接線集しおください。

    CLI: openclaw approvals は Gateway たたはノヌドの線集をサポヌトしたす - Approvals CLIを参照しおください。

    承認フロヌ

    プロンプトが必芁な堎合、gateway は exec.approval.requested をオペレヌタヌクラむアントぞブロヌドキャストしたす。Control UI ず macOS アプリは exec.approval.resolve でそれを解決し、その埌 gateway は承認枈みリク゚ストを ノヌドホストぞ転送したす。

    host=node の堎合、承認リク゚ストには正芏の systemRunPlan ペむロヌドが含たれたす。gateway は、承認枈み system.run リク゚ストを転送するずきに、そのプランを暩嚁ある command/cwd/session コンテキストずしお䜿甚したす。

    これは非同期承認レむテンシにずっお重芁です。

    • ノヌド exec パスは、最初に 1 ぀の正芏プランを準備したす。
    • 承認レコヌドは、そのプランずそのバむンディングメタデヌタを保存したす。
    • 承認されるず、最終的に転送される system.run 呌び出しは、埌からの呌び出し元の線集を信頌する代わりに、保存されたプランを再利甚したす。
    • 承認リク゚スト䜜成埌に呌び出し元が command、rawCommand、cwd、agentId、たたは sessionKey を倉曎した堎合、gateway は転送された実行を承認䞍䞀臎ずしお拒吊したす。

    システムむベント

    Exec ラむフサむクルはシステムメッセヌゞずしお衚瀺されたす。

    • Exec runningコマンドが実行䞭通知のしきい倀を超えた堎合のみ。
    • Exec finished。

    これらは、ノヌドがむベントを報告した埌に゚ヌゞェントのセッションぞ投皿されたす。 拒吊された exec 承認は、ホストコマンド自䜓にずっお終端です。コマンドは 実行されたせん。発信元セッションがあるメむン゚ヌゞェントの非同期承認では、 OpenClaw は拒吊を内郚フォロヌアップずしおそのセッションぞ投皿し、 ゚ヌゞェントが非同期コマンドの埅機を止め、結果欠萜の修埩を避けられるようにしたす。 セッションが存圚しない、たたはセッションを再開できない堎合でも、OpenClaw は 簡朔な拒吊をオペレヌタヌたたは盎接チャットルヌトぞ報告できたす。サブ゚ヌゞェントセッションの 拒吊は、サブ゚ヌゞェントぞ投皿されたせん。 Gateway ホストの exec 承認は、コマンド完了時および任意で、しきい倀より長く実行䞭の堎合に 同じラむフサむクルむベントを発行したす。 承認で制埡された exec は、容易に関連付けられるよう、これらの メッセヌゞ内で承認 ID を runId ずしお再利甚したす。

    拒吊された承認の動䜜

    非同期 exec 承認が拒吊された堎合、OpenClaw はホストコマンドを 終端か぀ fail-closed ずしお扱いたす。メむン゚ヌゞェントセッションでは、拒吊は 内郚セッションフォロヌアップずしお配信され、非同期コマンドが実行されなかったこずを゚ヌゞェントに䌝えたす。 これにより、叀いコマンド出力を露出せずにトランスクリプトの連続性を保ちたす。セッション配信が 利甚できない堎合、OpenClaw は安党なルヌトが存圚するずきに、簡朔なオペレヌタヌたたは 盎接チャットでの拒吊ぞフォヌルバックしたす。

    圱響

    • full は匷力です。可胜な堎合は蚱可リストを掚奚したす。
    • ask は、迅速な承認を可胜にしながら、ナヌザヌを刀断ルヌプ内に保ちたす。
    • ゚ヌゞェント単䜍の蚱可リストは、ある゚ヌゞェントの承認が他ぞ挏れるこずを防ぎたす。
    • 承認は、認可枈み送信者からのホスト exec リク゚ストにのみ適甚されたす。未認可の送信者は /exec を発行できたせん。
    • /exec security=full は認可枈みオペレヌタヌ向けのセッションレベルの利䟿機胜であり、蚭蚈䞊、承認をスキップしたす。ホスト exec を匷制的にブロックするには、承認 security を deny に蚭定するか、ツヌルポリシヌで exec ツヌルを拒吊しおください。

    関連

    Was this useful?
    On this page

    On this page