OpenClawの設定 - 初期化とセキュリティ

提供: MochiuWiki : SUSE, EC, PCB

概要

OpenClawのワークスペースには、初期化とセキュリティに関する3つの設定ファイルが存在する。
これら3つのファイルは、エージェントのライフサイクルにおける異なるフェーズで機能し、起動・初期セットアップ・セキュリティ制御をそれぞれ担当する。

BOOT.md は、ゲートウェイ起動時に毎回実行される起動チェックリストを定義するファイルである。
セッション開始時に短く明確なスタートアップ指示を実行する。hooks の有効化が前提条件となる。
チャネル (WhatsApp、Telegram等) の起動後に実行され、メモリの読込状態確認やカレンダーの取得等の初期化タスクを処理する。

BOOTSTRAP.md は、エージェントの初回起動時に1度だけ実行される身元確認儀式を定義するファイルである。
エージェントの名前、性質、対話スタイルを決定し、IDENTITY.mdUSER.mdSOUL.md を自動更新する。
実行完了後は自動的に削除されるため、再実行されることはない。
オンボーディング (openclaw onboard --install-daemon) 完了後に自動生成される。

SHIELD.md は、セキュリティポリシーを定義するファイルである。
コミュニティ提案のv0段階にある新しい規格であり、BLOCKAPPROVELOG の3つのディレクティブにより脅威検出時のエージェントの反応を制御する。
スキルのインストール、ツール呼び出し、アウトバウンドネットワーク要求、シークレット読み取り等のイベントで脅威評価が行われる。
ただし、現時点ではランタイムレベルでの強制は行われず、コンテキスト内のソフト強制にとどまる点に注意が必要である。

下表に、3ファイルの比較を示す。

初期化・セキュリティ設定ファイルの比較
ファイル 役割 実行タイミング 実行頻度
BOOT.md 起動時初期化チェックリスト ゲートウェイ起動時 毎回
BOOTSTRAP.md 初回身元確認儀式 初回セッション開始時 1回のみ (実行後削除)
SHIELD.md セキュリティポリシー定義 脅威評価時 脅威検出の都度




BOOT.md

BOOT.md は、OpenClawのゲートウェイ起動時に毎回自動実行される起動チェックリストを定義するファイルである。
チャネル (WhatsApp、Telegram等) が起動した後に実行される。
ゲートウェイのリスタート時には新しい起動儀式が実行される。
短く明確なスタートアップ指示を記述するために使用する。

基本構造

  • ファイル配置
    ~/.openclaw/workspace/BOOT.md
  • ファイル形式
    Markdown


有効化には以下の前提条件が必要である。

  • openclaw.json での hooks.internal.enabled: true の設定
  • openclaw hooks enable boot-md コマンドによる有効化
  • 有効化後、ゲートウェイのリスタート (MacOSではメニューバーアプリの再起動) が必要


boot-md ホック (標準バンドル) が実行タイマとして機能する。
メッセージツールを使用してアウトバウンド送信が可能である。

BOOT.mdの記述に関して、以下の推奨事項がある。

  • 簡潔に保つ。(トークン消費を最小化)
  • 軽量のチェックリスト項目を記述する。
  • クリティカルなシステムチェック (接続状態確認等) を含める。
  • セッション前の準備作業 (メモリのリセット、ログのクリア等) を含める。


下表に、BOOT.mdHEARTBEAT.md の違いを示す。

BOOT.md と HEARTBEAT.md の比較
項目 BOOT.md HEARTBEAT.md
実行タイミング ゲートウェイ起動時に1度 デフォルト30分ごとに定期実行
目的 起動時の初期化処理 継続的なモニタリング


記述例

BOOT.mdの記述例を以下に示す。

 # BOOT
 
 ## 起動チェックリスト
 
 * MEMORYファイルの読込状態を確認
 * 前日の日次ログを読み込む
 * チャネル接続状態を確認
 
 ## 初期化タスク
 
 * 本日の日次ログファイル (memory/YYYY-MM-DD.md) を作成
 * カレンダーから今日の予定を取得
 * 未読メールの件数を確認
 
 ## 起動メッセージ
 
 起動完了後、メインチャネルに以下を送信:
 - 起動時刻
 - 未処理タスクのサマリー



BOOTSTRAP.md

BOOTSTRAP.md は、エージェントの初回起動時に1度だけ実行される身元確認儀式を定義するファイルである。
エージェントがオンラインになった直後に実行され、「自分は何者か」「誰を支援するのか」をQ&A形式の会話フローで確認する。

オンボーディング (openclaw onboard --install-daemon) 完了後、ワークスペース作成時に自動生成される。
実行完了後、BOOTSTRAP.md は自動的に削除される。(再実行されない)

  • 推奨フロー
    他の質問より先に実行すべきであり、最初に送信するメッセージの例として以下が挙げられる。
    "Hey, let's get you set up. Read BOOTSTRAP.md and walk me through it."


基本構造

  • ファイル配置
    ~/.openclaw/workspace/BOOTSTRAP.md
  • ファイル形式
    Markdown (会話ガイド形式)


セクション構成を以下に示す。

  1. 身元確認セクション
    エージェントの名前、性質、対話スタイル、絵文字を決定する。
  2. ユーザ情報セクション
    ユーザの名前、呼称、タイムゾーンを収集する。
  3. コネクション設定セクション (オプション)
    通信チャネルの設定を行う。
  4. 完了時の処理
    BOOTSTRAP.md ファイルを削除する。


ファイル更新フローを以下に示す。

  • IDENTITY.md に記録
    エージェントの名前、性質、対話スタイル、絵文字
  • USER.md に記録
    ユーザの名前、呼称、タイムゾーン、メモ
  • SOUL.md で設定
    エージェントの価値観、行動期待値、境界線


BOOT.mdとの違い

下表に、BOOT.mdBOOTSTRAP.md の違いを示す。

BOOT.md と BOOTSTRAP.md の比較
項目 BOOT.md BOOTSTRAP.md
実行タイミング ゲートウェイ起動時 (毎回) 初回セッション開始時 (1回のみ)
実行頻度 毎回のゲートウェイリスタート時 1回限り (実行後削除)
目的 スタートアップチェックリストの実行 エージェントの身元確認儀式
有効化方法 hooks.internal.enabled + openclaw hooks enable boot-md 自動生成 (手動実行を推奨)
ファイル削除 削除されない (保持される) 実行完了後に自動削除される
内容形式 簡潔なチェックリスト 会話形式のQ&A
更新するファイル なし (チェック処理のみ) IDENTITY.mdUSER.mdSOUL.md


記述例

BOOTSTRAP.mdの記述例を以下に示す。

 # BOOTSTRAP
 
 Hey. I just came online. Who am I? Who are you?
 
 ## 身元確認
 
 1度に1つの質問で以下を確認:
 
 * Your name -- 何と呼ばれたいか
 * Your nature -- どんな存在か (AI、ロボット、使い魔)
 * Your vibe -- 形式的か、カジュアルか、皮肉か、温かいか
 * Your emoji -- シグネチャー絵文字

 ## ユーザ情報
 
 以下をユーザから収集:
 
 * 名前
 * 呼称 (どう呼ばれたいか)
 * タイムゾーン
 * メモ (任意)
 
 ## 完了処理
 
 全ての情報収集が完了した後:
 
 1. IDENTITY.md にエージェントの身元情報を記録
 2. USER.md にユーザ情報を記録
 3. SOUL.md に基本的な価値観と境界線を設定
 4. このファイル (BOOTSTRAP.md) を削除



SHIELD.md

SHIELD.md は、OpenClawエコシステムにおけるセキュリティポリシーを定義するファイルである。
コミュニティ提案のv0段階にある新しい規格であり、既知の脅威に対するエージェントの反応を制御する。

脅威評価は、以下のイベントで実行される。

  • スキルのインストール
  • スキルの実行
  • ツールの呼び出し
  • MCP接続
  • アウトバウンドネットワーク要求
  • シークレット読み取り


基本構造

  • ファイル配置
    ~/.openclaw/workspace/SHIELD.md (オプション)
  • ファイル形式
    Markdownベースのセキュリティポリシー (スキルライク構造)


下表に、3つのディレクティブ (大文字小文字区別あり) を示す。

SHIELD.md ディレクティブの一覧
ディレクティブ 説明 強度
BLOCK <condition> 脅威検出時に実行をブロックする 最強
APPROVE <condition> 承認要求に変換する (require_approval)
LOG <condition> イベントをログのみ記録する 最弱


下表に、サポートされる条件タイプを示す。

サポートされる条件タイプの一覧
条件タイプ 説明
skill name equals <value> スキル名の完全一致
skill name contains <value> スキル名の部分一致
outbound request to <domain> 特定ドメインへのアウトバウンド要求
outbound request to <url_prefix> URLプレフィックスマッチ
secrets read path equals <value> シークレット読み取りパス
file path equals <value> ファイルパス


下表に、脅威評価対象イベントを示す。

脅威評価対象イベントの一覧
イベント 説明
スキルインストール 新しいスキルのインストール時
スキル実行 スキルの実行時
ツール呼び出し ツールの呼び出し時
MCP接続 MCPサーバへの接続時
アウトバウンドネットワーク要求 外部への通信時
シークレット読み取り 機密情報の読み取り時


複数のディレクティブがマッチした場合の優先度ルールを以下に示す。

  1. BLOCK (最優先 - 実行禁止)
  2. APPROVE (次優先 - 承認要求)
  3. LOG (最低優先 - ログのみ)


BLOCK 時の挙動を以下に示す。

  • ツール呼び出しの禁止
  • ネットワークアクセスの禁止
  • シークレット読み取りの禁止
  • スキルインストール/実行の禁止
  • ブロックレスポンス直後に即座に停止


正規化ルールを以下に示す。

  • ドメイン
    小文字化、末尾のドット削除
  • URL
    プレフィックスマッチで比較
  • スキル名
    contains がない場合は完全一致
    contains の場合は部分一致


記述例

SHIELD.mdの記述例を以下に示す。

 # SHIELD
 
 ## スキル制御
 
 BLOCK skill name equals "malicious-skill"
 BLOCK skill name contains "ransomware"
 BLOCK skill name contains "exfil"
 
 ## ネットワーク制御
 
 APPROVE outbound request to "api.external-service.com"
 APPROVE outbound request to "hooks.slack.com"
 LOG outbound request to "analytics.example.com"
 
 ## シークレット保護
 
 LOG secrets read path equals "/home/user/.ssh"
 BLOCK secrets read path equals "/etc/shadow"
 
 ## ファイル保護
 
 BLOCK file path equals "/etc/passwd"
 LOG file path equals "/var/log/syslog"


現在の制限事項

SHIELD.mdはv0段階のコミュニティ提案であり、いくつかの重要な制限事項がある。

ランタイム強制の不在について以下に示す。

  • SHIELD.mdはコンテキスト内セキュリティポリシーであり、ランタイムレベルでの強制は行われない。
  • モデルがポリシー遵守を指示されるだけであり、強い技術的制約ではない。
  • 十分に敵対的なプロンプトで理論的にはバイパス可能


ソフト強制アーキテクチャについて以下に示す。

  • L5セキュリティゲート
    エージェントが全てのexec/read操作前に knostic_shield ツールを呼び出す必要がある。
  • 実装レベル
    ツール呼び出しメカニズムに基づく。(技術的バイパス防止ではなく指示に基づく)


推奨される追加対策を以下に示す。

  • サンドボックス化の併用
  • ツールポリシーの設定
  • チャネルホワイトリストの設定
  • OpenClawのセキュリティ監査コマンド (openclaw security audit) の活用


将来の実装予定として、以下が挙げられる。

  • より強い技術的強制 (ランタイムレベルでの実装)
  • AGENTS.md / SOUL.mdとの統合的なセキュリティ定義
  • MoltThreat等の外部脅威フィードからの自動更新対応
  • より詳細な条件タイプとマッチングロジックの追加


下表に、関連セキュリティツールを示す。

関連セキュリティツールの一覧
ツール 説明
openclaw-shield シークレットの漏洩防止、PII露出防止、破壊的コマンドの実行防止
SecureClaw OWASP対応のセキュリティプラグイン/スキル
ClawSec ドリフト検出、セキュリティ推奨、スキル整合性検証



関連項目