2026年3月19日から22日にかけて、OpenClawに対して9件のCVEが報告された。4日間で9件という頻度は、単発のバグではなく系統的なセキュリティ問題を示唆している。
セキュリティコミュニティはこの事態を「OpenClaw Security Week」と呼び始めた。皮肉を込めた命名だが、実態は深刻だった。
報告された9件のCVEは以下のカテゴリに分類される。
スキルシステム関連(3件)——スキルのインストール時の検証不足、スキルランタイムの権限エスカレーション、スキル間のデータリーク。
Web UI関連(3件)——クロスサイトスクリプティング(XSS)、クロスサイトリクエストフォージェリ(CSRF)、セッション管理の欠陥。
認証関連(2件)——デフォルト認証情報の問題、パスワードリセット機能の脆弱性。
データ処理関連(1件)——ファイルアップロード機能を通じたパストラバーサル。
CVEの詳細分析
9件のCVEを個別に見てみよう。
CVE-2026-3001:スキルインストール時の入力検証不足。スキルのメタデータフィールドに悪意のあるペイロードを含めることで、インストールプロセス中に任意のコマンドを実行できる。CVSS 9.1。
CVE-2026-3002:スキルランタイムの権限エスカレーション。低権限のスキルが、OpenClawのコアプロセスと同等の権限を取得できる。これはスキルのサンドボックスの欠如に起因する。CVSS 8.7。
CVE-2026-3003:スキル間のメモリリーク。あるスキルが別のスキルのメモリ空間にアクセスし、処理中のデータを読み取ることができる。同一プロセス内実行の直接的な帰結だ。CVSS 7.5。
CVE-2026-3004:Web UIの反射型XSS。チャットメッセージの表示時にHTMLサニタイゼーションが不十分で、攻撃者がJavaScriptを注入できる。CVSS 8.1。
CVE-2026-3005:CSRF保護の欠如。Web UIのAPIエンドポイントにCSRFトークンが実装されておらず、攻撃者が認証済みユーザーの権限でアクションを実行できる。CVSS 7.8。
CVE-2026-3006:セッショントークンの予測可能性。セッションIDの生成にセキュアでない乱数生成器が使用されており、攻撃者がセッションを推測できる。CVSS 8.5。
CVE-2026-3007:デフォルト管理者認証情報。新規インストール時にデフォルトのadmin/adminが設定され、変更が強制されない。CVSS 9.0。
CVE-2026-3008:パスワードリセットのトークンリーク。パスワードリセットリンクがHTTPリファラーヘッダーを通じて外部サイトに漏洩する可能性がある。CVSS 7.2。
CVE-2026-3009:ファイルアップロードのパストラバーサル。ファイルアップロード機能のパス検証が不十分で、攻撃者がサーバー上の任意の場所にファイルを書き込める。CVSS 9.3。
攻撃面の比較
NanoClawがこれらのCVEに該当しない理由を、攻撃面の比較で分析しよう。
スキルシステム関連(CVE-3001, 3002, 3003)——NanoClawにはスキルシステムが存在しない。サードパーティのコードをインストールして実行するメカニズムがないため、スキル関連の脆弱性は物理的に不可能だ。NanoClawの機能拡張はClaude CodeのCLAUDE.mdファイルとMCPサーバーを通じて行われ、どちらもコンテナ内で隔離されて実行される。
Web UI関連(CVE-3004, 3005, 3006)——NanoClawにはWeb UIが存在しない。XSS、CSRF、セッション管理の脆弱性は、Web UIが存在しない以上、発生しようがない。NanoClawのユーザーインターフェースはWhatsAppであり、WhatsAppのセキュリティはMeta社が管理している。
認証関連(CVE-3007, 3008)——NanoClawにはユーザー認証システムが存在しない。NanoClawはWhatsApp番号で利用者を識別する。WhatsAppの認証はMeta社のインフラが処理する。NanoClawのサーバーにHTTPでアクセスするエンドポイント自体がないため、認証が必要な場面が存在しない。
データ処理関連(CVE-3009)——NanoClawにはファイルアップロードのWeb APIが存在しない。WhatsApp経由でファイルが送信された場合、そのファイルはコンテナ内で処理され、コンテナのファイルシステム内に限定される。パストラバーサルでホストシステムに影響を与えることは、コンテナ隔離によって不可能だ。
攻撃面の最小化
9件のCVEの全てがNanoClawに該当しないという事実は、NanoClawのコードの品質が優れているからではない。NanoClawがこれらの脆弱性が存在しうるコンポーネントを持っていないからだ。
これは「攻撃面の最小化」という原則の実践だ。攻撃面が小さいほど、脆弱性が存在しうる場所が少ない。NanoClawはWeb UI、スキルシステム、ユーザー認証システム、ファイルアップロードAPIを持たない。これらのコンポーネントが存在しないため、これらのコンポーネントに関連する脆弱性も存在しない。
OpenClawの9件のCVEは、OpenClawの開発チームの技術力が低いことを意味しない。OpenClawが多くの機能(Web UI、スキルシステム、マルチユーザー認証など)を提供しており、各機能が攻撃面を増やしているのだ。機能が多いほど、脆弱性のリスクも増大する。
モグラ叩きの限界
OpenClawのメンテナーチームは9件のCVE全てに対してパッチをリリースした。対応は迅速で専門的だった。しかし、この対応パターンには構造的な限界がある。
脆弱性の発見とパッチのリリースの間にはゼロデイウィンドウが存在する。脆弱性が発見されてからパッチが適用されるまでの間、ユーザーは脆弱な状態にある。パッチがリリースされても、全てのユーザーがすぐに更新するわけではない。4万の露出インスタンスの多くは、パッチ適用が遅れるか、全く適用されないだろう。
さらに、パッチは発見された脆弱性のみを修正する。同じコンポーネントに未発見の脆弱性が存在する可能性は常にある。4日間で9件のCVEが報告されたという事実は、コードベースにさらなる脆弱性が潜んでいる可能性を示唆する。
NanoClawはこのモグラ叩きのゲームに参加していない。Web UI、スキルシステム、認証システムが存在しないため、これらのコンポーネントのゼロデイ脆弱性にさらされることがない。NanoClawの500行のコードに脆弱性が存在する可能性はゼロではないが、9件のCVEが報告されるような攻撃面の広さは持っていない。
セキュリティの経済学
セキュリティには経済学がある。各コンポーネントにはセキュリティコスト——脆弱性の発見、パッチの開発、テスト、デプロイ、ユーザーへの通知——がかかる。コンポーネントの数が増えれば、セキュリティコストは線形以上に増大する(コンポーネント間の相互作用が新しい脆弱性を生むため)。
OpenClawは多くの機能を提供する代わりに、高いセキュリティコストを支払っている。9件のCVEへの対応は、開発リソースをセキュリティパッチに振り向けることを意味し、新機能の開発は遅延する。
NanoClawは少ない機能を提供する代わりに、セキュリティコストを最小化している。パッチすべき脆弱性がないため、開発リソースの100%を機能改善に振り向けられる。
教訓
4日間で9件のCVEは、AIエージェントのセキュリティに関する重要な教訓を含んでいる。
第一に、攻撃面はコードの品質ではなくアーキテクチャで決まる。優秀なエンジニアがセキュアなコードを書いても、攻撃面が広ければ脆弱性は必ず見つかる。
第二に、機能の追加はセキュリティリスクの追加でもある。Web UI、スキルシステム、認証システム——各機能は価値を提供するが、同時に新しい攻撃ベクトルも追加する。
第三に、持たないコンポーネントは脆弱にならない。NanoClawの最大のセキュリティ強みは、持っていないものだ。Web UIがない。スキルシステムがない。ユーザー認証がない。存在しないものを攻撃することはできない。
この原則はAIエージェント開発だけでなく、ソフトウェアエンジニアリング全般に適用される。しかし、AIエージェントの場合は特に重要だ。AIエージェントは強力な能力を持つため、侵害された場合の影響が大きい。攻撃面の最小化は、AIエージェントセキュリティの最も効果的な戦略だ。