AI

OpenClawセキュリティ総点検——512件の脆弱性と悪意あるスキルから身を守る実践ガイド

OpenClawのセキュリティ監査で512件の脆弱性が発覚し、ClawHubでは800件超の悪意あるスキルが確認されました。Docker隔離、認証設定、スキル検証のハンズオンで安全な運用環境を構築します。

2026年2月25日
OpenClawセキュリティDockerAIエージェント脆弱性対策
OpenClawセキュリティ総点検——512件の脆弱性と悪意あるスキルから身を守る実践ガイド

はじめに

先日のOpenClaw 3部作では、セットアップからRalph Loopによる自律開発まで解説しました。しかし、2026年2月に入りOpenClawのセキュリティ状況が急速に深刻化しています。

  • セキュリティ監査で512件の脆弱性が発見(うち8件がCritical)
  • ClawHubの公開スキルのうち800件超が悪意あるマルウェアと判定
  • インターネット上に約1,000件の認証なしインスタンスが公開状態
  • 1クリックRCE(リモートコード実行)の脆弱性 CVE-2026-25253 が報告

OpenClawを「使い方」だけ紹介して「守り方」を書かないのは無責任です。本記事では、OpenClawを安全に運用するための具体的な対策をハンズオン形式で解説します。

この記事を読み終わると、以下ができるようになります:

  • OpenClawの主要な脆弱性カテゴリを理解し、リスクを正しく評価できる
  • Docker隔離環境でOpenClawを安全に実行できる
  • 認証とネットワーク制御を適切に設定できる
  • ClawHubスキルの安全性を検証してからインストールできる

OpenClawセキュリティの現状

512件の脆弱性監査レポート

2026年1月末に実施されたセキュリティ監査の結果は衝撃的でした。

深刻度件数主な内容
Critical8件リモートコード実行(RCE)、認証バイパス
High47件認証情報の漏洩、権限昇格
Medium189件プロンプトインジェクション、設定不備
Low268件情報漏洩、ログ出力の不備

特に深刻なのが CVE-2026-25253(1クリックRCE)です。攻撃者が細工したメッセージをOpenClawに送信するだけで、ホストマシン上で任意のコードを実行できる脆弱性が存在していました。v2026.2.14以降で修正済みですが、アップデートしていないインスタンスは依然として脆弱です。

ClawHavoc——組織的なマルウェア配布

ClawHub(OpenClawのスキルマーケットプレイス)で発覚した問題はさらに深刻です。

セキュリティ研究者Oren Yomtov氏の調査によると:

指標数値
調査時点のClawHubスキル総数2,857件
悪意ありと判定されたスキル341件
単一の攻撃グループ(ClawHavoc)によるもの335件
2月16日時点の悪意あるスキル数(拡大後)824件超
スキル総数(拡大後)10,700件超

偽スキルは「トレーディングBot」「金融アシスタント」「スキル管理ツール」等を装い、AuthTool という名前の窃取プログラムを同梱していました。

認証なしインスタンスの大量公開

Kaspersky社の調査では、認証が一切設定されていないOpenClawインスタンスが約1,000件インターネット上で発見されています。OpenClawのデフォルト設定では 127.0.0.1(localhost)からの接続を信頼し、認証なしでアクセスを許可します。VPSやクラウドサーバーにデプロイした際にこの設定を変更しないと、誰でもあなたのOpenClawを操作できてしまいます。

セキュリティ対策の全体像

これらのリスクに対し、以下の4層で防御します。

ハンズオン 1: Docker隔離環境の構築

OpenClawを安全に実行する最も基本的な対策は、Docker Sandboxによる隔離です。ホストマシンに直接インストールするのではなく、コンテナ内で実行することで、万が一の侵害時にも影響範囲を限定できます。

Step 1: docker-compose.ymlの作成

プロジェクトディレクトリに以下のファイルを作成します。

services:
  openclaw:
    image: openclaw/openclaw:2026.2.23
    container_name: openclaw-secure
    restart: unless-stopped
    user: "1000:1000"
    ports:
      - "127.0.0.1:18789:18789"
    volumes:
      - openclaw-data:/app/data
      - openclaw-config:/app/config
    environment:
      - OPENCLAW_AUTH_ENABLED=true
      - OPENCLAW_AUTH_TOKEN=${OPENCLAW_AUTH_TOKEN}
      - OPENCLAW_LOG_LEVEL=info
    read_only: true
    tmpfs:
      - /tmp:size=100M
    security_opt:
      - no-new-privileges:true
    cap_drop:
      - ALL
    deploy:
      resources:
        limits:
          memory: 2G
          cpus: "2.0"

volumes:
  openclaw-data:
  openclaw-config:

この設定のポイントを解説します。

設定目的
user: "1000:1000"非rootユーザーで実行し、権限昇格を防止
127.0.0.1:18789:18789localhostのみにバインドし、外部アクセスを遮断
read_only: trueファイルシステムを読み取り専用にし、書き込みをデータ用ボリュームに限定
no-new-privilegesコンテナ内での権限昇格を禁止
cap_drop: ALLすべてのLinux Capabilityを剥奪
memory: 2Gメモリ使用量を制限し、リソース枯渇攻撃を防止

Step 2: 環境変数ファイルの作成

認証トークンを.envファイルに設定します。

# 安全なランダムトークンを生成
openssl rand -hex 32 > .env.tmp
echo "OPENCLAW_AUTH_TOKEN=$(cat .env.tmp)" > .env
rm .env.tmp

# パーミッションを制限
chmod 600 .env

Step 3: 起動と動作確認

# コンテナの起動
docker compose up -d

# ログの確認
docker compose logs -f openclaw

# 認証なしでアクセスしてみる(拒否されるはず)
curl http://127.0.0.1:18789/api/health
# → 401 Unauthorized

# 認証トークン付きでアクセス
curl -H "Authorization: Bearer $(grep OPENCLAW_AUTH_TOKEN .env | cut -d= -f2)" \
  http://127.0.0.1:18789/api/health
# → {"status": "ok"}

認証なしのリクエストが 401 で拒否されることを必ず確認してください。

ハンズオン 2: ネットワーク制御と外部アクセス

自宅やオフィスの外からOpenClawにアクセスしたい場合、ポートを直接開放するのは危険です。Tailscale(WireGuardベースのVPN) を使って安全に接続します。

Step 1: Tailscaleのセットアップ

# macOSの場合
brew install tailscale

# 起動・ログイン
sudo tailscale up

Step 2: Tailscale経由でのみアクセスを許可

docker-compose.yml のポート設定を変更します。

ports:
  # localhostのみ → Tailscale経由でアクセス
  - "127.0.0.1:18789:18789"

Tailscaleをインストールした端末同士はプライベートIPで通信できるため、http://100.x.x.x:18789 のようにTailscale IPでアクセスする場合は、以下のように設定を変更します。

ports:
  # Tailscale IPインターフェースにバインド
  - "100.x.x.x:18789:18789"

100.x.x.x はTailscaleが割り当てたIPに置き換えてください(tailscale ip -4 で確認)。

Step 3: ファイアウォールの確認

# macOSの場合:外部からのポート18789へのアクセスをブロック
# (Tailscale経由のアクセスは許可される)
sudo pfctl -e
echo "block in on en0 proto tcp from any to any port 18789" | sudo pfctl -f -

アクセス経路の比較

ハンズオン 3: ClawHubスキルの安全な運用

ClawHavocの事例が示す通り、ClawHubのスキルは信頼性の検証なしにインストールしてはいけません。

Step 1: VirusTotalスキャンの有効化

v2026.2.17以降、OpenClawにはVirusTotal連携機能が追加されています。

OpenClawのダッシュボード(http://127.0.0.1:18789/)から Settings > Security > VirusTotal Integration を開き、VirusTotal APIキーを設定します。APIキーはVirusTotalの公式サイトで無料アカウントを作成すると取得できます。

有効化後、ClawHubからスキルをインストールする際に以下のチェックが自動実行されます。

チェック内容
SHA-256ハッシュ照合スキルのハッシュ値をVirusTotalのDB照合
Code Insight分析ハッシュがDBにない場合、コード内容を詳細分析
日次再スキャンインストール済みスキルを毎日再チェック

判定結果に応じた動作:

判定動作
良性(benign)自動承認
疑わしい(suspicious)警告表示付きで掲載
悪意あり(malicious)ダウンロードがブロック

Step 2: スキルインストール前の手動チェック

VirusTotalスキャンは万能ではありません。巧妙なプロンプトインジェクションペイロードは検出を回避する可能性があります。重要なスキルは手動でもチェックしましょう。

確認すべきポイント:

1. スキルの作者(author)
   - GitHubプロフィールが存在するか
   - 他にも信頼できるリポジトリを公開しているか
   - アカウント作成日が最近すぎないか

2. スキルのソースコード
   - 不審な外部URLへの通信がないか
   - base64エンコードされた不審な文字列がないか
   - シェルコマンドの実行を行っていないか

3. スキルのダウンロード数とレビュー
   - ダウンロード数が極端に少ない新規スキルは要注意
   - レビューや評価が存在するか

Step 3: スキルの権限を最小化

スキルがアクセスできるリソースを制限します。OpenClawのダッシュボードから各スキルの権限設定を確認し、不要な権限を無効化します。

権限デフォルト推奨設定
シェルコマンド実行有効無効(必要な場合のみ許可)
ファイルシステムアクセス有効プロジェクトディレクトリのみ
ネットワークアクセス有効ホワイトリスト制
環境変数の読み取り有効無効

セキュリティチェックリスト

OpenClawを運用する際の最低限のチェックリストです。

## 初期セットアップ時
- [ ] 最新バージョン(v2026.2.23以降)にアップデートした
- [ ] Docker環境で実行している(ホスト直接インストールではない)
- [ ] 認証トークンを設定した
- [ ] ポートをlocalhostにバインドした(0.0.0.0ではない)
- [ ] 非rootユーザーで実行している
- [ ] read_onlyファイルシステムを有効にした

## スキル管理
- [ ] VirusTotalスキャンを有効化した
- [ ] インストール済みスキルの権限を見直した
- [ ] 不要なスキルを削除した
- [ ] スキルのソースコードを確認してからインストールした

## 運用
- [ ] APIキーを定期的にローテーションしている
- [ ] OpenClawのログを定期的に確認している
- [ ] セキュリティアップデートを速やかに適用している
- [ ] .envファイルがGitにコミットされていない

侵害発生時の対応手順

万が一、OpenClawインスタンスが侵害された場合の対応手順です。

重要:侵害されたインスタンスを「修復」しようとせず、クリーン環境で再構築してください。 攻撃者がバックドアを残している可能性があります。

まとめ

OpenClawは強力なAIエージェントですが、その強力さゆえにセキュリティリスクも大きくなります。

リスク対策本記事のハンズオン
ホストマシンへの侵害Docker隔離ハンズオン 1
認証なしアクセス認証設定 + Tailscaleハンズオン 2
悪意あるスキルVirusTotal + 手動検証ハンズオン 3
脆弱性の放置定期アップデートチェックリスト

次のアクションとしておすすめ:

  1. まずバージョンを確認する — v2026.2.23未満なら即座にアップデート
  2. Docker環境に移行する — ホスト直接インストールをやめる
  3. 認証を有効化する — 1つの設定で大半のリスクを排除
  4. VirusTotalスキャンを有効にする — スキルの自動検証
  5. チェックリストを定期的に見直す — セキュリティは一度の設定で終わりではない

OpenClawの便利さを享受しながら、リスクを最小限に抑える——その両立が、これからのAIエージェント時代に求められるスキルです。


参考リンク:


関連記事: