GitHub史上最速で成長したAIエージェント「OpenClaw」をDocker環境で安全にセットアップする方法を解説。深刻な脆弱性への対策とベストプラクティスを紹介します。
OpenClawとは?GitHub史上最速で成長したAIエージェント
OpenClawは、メッセージアプリを通じてAIにタスクを実行させるオープンソースの自律型AIエージェントです。WhatsApp、Telegram、Slack、Discord、LINE、iMessageなど20以上のプラットフォームに対応し、スマートフォンからPCを遠隔操作する感覚で使えます。
2025年11月の公開からわずか3ヶ月でGitHubスター数247,000を獲得し、Reactを超えてGitHub史上最もスターの多いソフトウェアプロジェクトとなりました。
名称の変遷: 当初「Clawdbot」として公開されましたが、Anthropicからの商標クレームにより「Moltbot」に改名。その後「語呂が悪い」として現在の「OpenClaw」に落ち着きました。
OpenClawでできること
| 機能 | 説明 |
|---|---|
| ウェブブラウジング | Webの検索・閲覧・データ抽出 |
| ターミナル操作 | シェルコマンドの実行 |
| ファイル管理 | ファイルの作成・整理・編集 |
| メール管理 | メールの送受信 |
| カレンダー管理 | スケジュール管理 |
| スキル拡張 | 700以上のコミュニティ製プラグイン |
さらに、ClawHubというマーケットプレイスで700以上のスキルをインストールして機能を拡張できます。
なぜDockerで動かすべきなのか
OpenClawは非常に強力なツールですが、その分セキュリティリスクも大きいです。Dockerで隔離して動かすことで、リスクを最小限に抑えられます。
報告されている脆弱性
重要: OpenClawには深刻なセキュリティ問題が複数報告されています。Docker環境での運用を強く推奨します。
| 脆弱性 | 深刻度 | 内容 |
|---|---|---|
| CVE-2026-25253 | CVSS 8.8(高) | ワンクリックでリモートコード実行(RCE) |
| ClawJacked | 高 | 悪意あるWebサイトがWebSocket経由でエージェントを乗っ取り |
| 悪意あるスキル | 中〜高 | ClawHub上の10,700スキルのうち820以上が悪意あるものと判定 |
| APIキー平文保存 | 中 | 認証情報が暗号化されずに保存される |
Dockerで隔離するメリット
- ファイルシステムの保護: ホストの重要ファイルへのアクセスを制限
- ネットワークの分離: 不要な通信をブロック
- 権限の最小化: root権限での実行を防止
- 簡単なリセット: 問題が起きたらコンテナを再作成するだけ
Docker環境のセットアップ手順
前提条件
- Docker & Docker Compose がインストール済み
- LLMのAPIキー(Claude、GPT、DeepSeek等のいずれか)
Step 1: リポジトリのクローン
git clone https://github.com/openclaw/openclaw.git
cd openclaw
Step 2: Dockerイメージのビルド
docker build -t openclaw:local -f Dockerfile .
公式イメージを使う場合は、ビルド不要です:
# GitHub Container Registry(推奨)
docker pull ghcr.io/openclaw/openclaw
Step 3: 初期設定(オンボーディング)
対話形式のセットアップウィザードが起動します:
docker compose run --rm openclaw-cli onboard
ここで以下を設定します:
- 使用するLLMプロバイダー(Claude、GPT、DeepSeek等)
- APIキー
- 接続するメッセージングプラットフォーム
- ワークスペースのパス
Step 4: ゲートウェイの起動
docker compose up -d openclaw-gateway
起動後、ブラウザで http://localhost:18789 にアクセスするとWeb UIが開きます。
デーモンとしてインストールする場合は openclaw onboard --install-daemon を実行します。macOSではlaunchd、Linuxではsystemdのサービスとして自動起動に設定されます。
セキュリティ強化設定
デフォルト設定のまま運用するのは危険です。以下の対策を必ず行いましょう。
1. docker-compose.ymlのセキュリティ強化
version: '3.8'
services:
openclaw-gateway:
image: ghcr.io/openclaw/openclaw
restart: unless-stopped
# セキュリティ設定
security_opt:
- no-new-privileges:true
cap_drop:
- ALL
# サンドボックスモード有効化
environment:
- OPENCLAW_SANDBOX=1
- NODE_ENV=production
# ポートをlocalhostのみに制限
ports:
- "127.0.0.1:18789:18789"
# リソース制限
deploy:
resources:
limits:
cpus: '2.0'
memory: 2G
reservations:
cpus: '0.5'
memory: 512M
# 必要最小限のボリューム
volumes:
- openclaw_config:/home/node/.openclaw
- openclaw_workspace:/home/node/openclaw/workspace
# ログ設定
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"
volumes:
openclaw_config:
openclaw_workspace:
2. リバースプロキシでSSL対応
外部からアクセスする場合は、必ずSSLを設定します:
server {
listen 443 ssl http2;
server_name openclaw.example.com;
ssl_certificate /etc/ssl/certs/fullchain.pem;
ssl_certificate_key /etc/ssl/private/privkey.pem;
# Basic認証を追加
auth_basic "OpenClaw";
auth_basic_user_file /etc/nginx/.htpasswd;
location / {
proxy_pass http://127.0.0.1:18789;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
}
}
3. APIキーの安全な管理
OpenClawはデフォルトでAPIキーを平文保存します。Docker Secretsを使って改善しましょう:
services:
openclaw-gateway:
secrets:
- llm_api_key
secrets:
llm_api_key:
file: ./secrets/api_key.txt
メッセージプラットフォームとの連携
Docker環境でも、各種メッセージアプリとの連携は簡単にセットアップできます。
# 1. BotFatherでBotを作成してトークンを取得
# 2. 環境変数に設定
docker compose exec openclaw-gateway \
openclaw config set telegram.token "YOUR_BOT_TOKEN"
# 3. 再起動
docker compose restart openclaw-gateway
運用のベストプラクティス
定期的なアップデート
セキュリティパッチが頻繁にリリースされるため、定期的な更新が重要です:
# イメージの更新
docker compose pull openclaw-gateway
# コンテナの再作成
docker compose up -d openclaw-gateway
バックアップ
設定とワークスペースのバックアップを定期的に取りましょう:
#!/bin/bash
# backup-openclaw.sh
BACKUP_DIR="./backups/$(date +%Y%m%d_%H%M%S)"
mkdir -p "$BACKUP_DIR"
docker run --rm \
-v openclaw_config:/data/config:ro \
-v openclaw_workspace:/data/workspace:ro \
-v "$(pwd)/$BACKUP_DIR":/backup \
alpine tar czf /backup/openclaw-backup.tar.gz -C /data .
echo "バックアップ完了: $BACKUP_DIR"
ログ監視
不審なアクティビティを検知するため、ログを監視します:
# リアルタイムログ確認
docker compose logs -f openclaw-gateway
# エラーのみ抽出
docker compose logs openclaw-gateway 2>&1 | grep -i "error\|warn\|security"
技術スタック
OpenClawの内部構造を理解しておくと、トラブルシューティングに役立ちます。
| 項目 | 技術 |
|---|---|
| 言語 | TypeScript(ESMモジュール) |
| ランタイム | Node.js >= 22 |
| コードベース | 約430,000行 |
| アーキテクチャ | Gateway(WebSocket ws://127.0.0.1:18789) |
| パッケージ管理 | npm |
| 週間ダウンロード | 約796,000回 |
類似ツールとの比較
| 項目 | OpenClaw | Nanobot | Claude Code |
|---|---|---|---|
| 用途 | 汎用AIエージェント | 軽量AIエージェント | コーディング特化 |
| コードベース | 430,000行 | 約4,000行 | 非公開 |
| Docker対応 | 公式サポート | コミュニティ | 非対応 |
| 月額コスト | $30〜$150+ | $5〜$50 | $20(Pro) |
| メッセージアプリ連携 | 20+プラットフォーム | 限定的 | CLI/IDE |
| スキル拡張 | 700+(ClawHub) | 限定的 | MCP |
| セキュリティ | 要注意(脆弱性報告多数) | シンプルで安全 | Anthropic管理 |
サーバー管理、丸ごとお任せください
サーバー保守・運用
監視・障害対応・パフォーマンス改善まで、安定稼働をサポートします
※ 通常1営業日以内にご返信します
まとめ
OpenClawは、メッセージアプリから自然言語でPCを操作できる革新的なツールです。しかし、急速な成長に伴いセキュリティ面の課題が深刻です。
Docker環境で運用することで、以下のリスクを軽減できます:
- RCE脆弱性: コンテナ内に被害を封じ込め
- 悪意あるスキル: ホストファイルへのアクセスを制限
- APIキー漏洩: Docker Secretsで安全に管理
- リソース枯渇: CPU・メモリ制限で安定稼働
作者のPeter SteinbergerがOpenAIに入社したため、プロジェクトはオープンソース財団に移行予定です。今後のメンテナンス体制に注目しつつ、最新版への更新を怠らないようにしましょう。
OpenClawを試す際は、必ずDocker環境で、セキュリティ設定を施した上で利用することを強くお勧めします。