オープンソースのセルフホスト型AIエージェントであるOpenClawが個人でも利用できるとして注目を集めている。例えば、OpenClawはメールの整理、スケジュールの管理、GitHub上のコードデバッグなどが行える。

一方、OpenClawはできることが多い分、権限も強力であることから、セキュリティのリスクが心配されている。そして今回、O'Reillyのサイバーセキュリティコミュニティにより、数千のOpenClawのインスタンスがWeb上に公開されていることがわかった

Shodanで公開されているOpenClawのインスタンスを確認

インターネットに接続した機器の検索エンジン「Shodan」、サイバー空間検索エンジン「Censys」などでは、応答するすべてのホストを検索可能なデータとして維持しており、ホストが提供するコンテンツごとにインデックスが付けられている。

サービスのHTTP応答に固有のフィンガープリントがある場合、誰でもそれを照会してパブリックインターネット上のすべてのインスタンスのリストを取得できる。

ShodanでOpenClawを検索したところ、4765のインスタンスがヒットした。インスタンスは国別に分類されており、一番多い国は米国で、日本は78とそれほど多くはないが、公開されていることが確認された。

  • ShodanでOpenClawを検索した結果。IPアドレス、インスタンスの名などまるわかりだ

    ShodanでOpenClawを検索した結果。IPアドレス、インスタンスの名などまるわかりだ

さらに、Webベースの管理インタフェース「Clawdbot Control」もWeb上に公開されていることが確認された。Clawdbot Controlでは、設定、会話履歴の表示、APIキーの管理など、システム全体にわたる操作が行える。

  • 管理インタフェースのClawdbot Controlも1000以上公開されている

    管理インタフェースのClawdbot Controlも1000以上公開されている

誰でもアクセスな可能な状態がもたらすリスク

Jamieson O'Reilly氏は、Clawdbot Controlにアクセスできれば、エージェントが使用する資格情報(APIキー、ボットトークン、OAuthシークレット、署名キー)を含む構成、プライベートメッセージや添付ファイルなどの会話履歴を取得することができると指摘。

実際、同氏は保護されていないClawdbot Controlを介して、Anthropic API キー、Telegram ボット トークン、Slack OAuth 認証情報と署名シークレット、会話履歴を含む構成ダンプを入手した。

さらに、同氏はOpenClawのエージェントが大きな権限を持っているリスクも指摘している。例えば、攻撃者がエージェントを乗っ取れたら、Telegram、Slack、Discord、Signal、WhatsAppを通じてユーザーに代わってメッセージを送信すること、ツールやコマンドを実行することが可能になる。

脆弱性の概要

この脆弱な状態を生み出している要因はOpenClawの認証ロジックと展開にあるという。

OpenClawにはチャレンジレスポンスプロトコルによる認証機能があるが、デフォルトでは、接続元はlocalhost追加の検証なしに自動的に承認される。O'Reilly氏は、「ローカル開発では適切なだが、NGINXまたはCaddyをリバースプロキシとして利用している本番環境に移行すると、すべての接続はローカルとして扱われる」と説明している。

同氏は、NGINXまたはCaddyをリバースプロキシとして利用している場合、セキュリティを確保するため、gateway.auth.passwordまたはgateway.trustedProxiesをすぐに設定するよう、アドバイスしている。