TL; DR
Silverfortのセキュリティ研究チームは、ClawHub に重大な脆弱性を発見しました。この脆弱性により、攻撃者は自分のスキルを ClawHub でナンバーワンのスキルとして位置付けることができます。攻撃者は、正規で信頼できるスキルに見えるものに悪意のあるコードを注入し、大規模なサプライチェーン攻撃の基盤を構築できます。その結果、多数のユーザーと OpenClaw エージェントが侵害されたスキルをダウンロードし、権限が昇格された状態でマシン上で悪意のあるコードを実行する可能性があります。当社の概念実証 (POC) では、当社のスキルがそのカテゴリでダウンロード数ナンバーワンに躍り出て、 3,900回のスキル実行 以内 6日間で稼働開始できました 世界50以上の都市に展開しており、その中には複数の上場企業も含まれる。
この問題は2026年3月16日にClawHubチームに責任を持って報告され、その後、適切に対処されました。
このような攻撃連鎖のリスクを軽減するために、私たちのチームは クローネット: OpenClaw用のセキュリティプラグインで、エージェントのLLMを使用してインストール中にスキルをスキャンして悪意のあるパターンを検出し、ユーザーに通知して疑わしいインストールをブロックします。
ClawHubとは何ですか?
ClawHub は OpenClaw の公開スキルレジストリで、誰でもスキル パッケージを公開して他のユーザーがインストールできます。たとえば、スキルによって OpenClaw エージェントが Google カレンダーと統合したり、ユーザーに代わって最適化された Web 検索を実行したりできるようになります。これは OpenClaw エージェント エコシステムの npm です。ClawHub プラットフォームは急速に成長しており、多くのスキルがすでに膨大なダウンロード数を達成しています (OpenClaw の入門書が必要ですか? 詳細はこちらをご覧ください).
ClawHubの人気が高まるにつれ、攻撃者にとっても魅力的な存在となっている。ユーザーが積極的に閲覧・インストールするマーケットプレイスにスキルを公開できる機能は、大きなサプライチェーン上の機会を生み出す。
典型的な攻撃手法としては、悪意のあるスキルを公開し、ユーザーがそれをインストールするのを待つという方法があります。しかし、一見無害に見えるスキルに悪意のあるコードを注入するだけでは不十分です。広くインストールされるには、そのスキルが信頼できるものであるように見せかける必要があります。ClawHubでは、npmやVS Code Marketplaceなどの多くの公開レジストリと同様に、信頼性は人気度から推測されることが多いのです。

ClawHubのコードはほぼ完全に バイブコードこのアプローチには利点がある一方で、重大なセキュリティ上の問題を引き起こす可能性もあります。ClawHubのダウンロードアクションの実装を分析した結果、ダウンロードに基づく信頼シグナルをスケーラブルな攻撃チェーンに変換できる脆弱性を発見しました。
ClawHubでスキルを見つける
例えば、OpenClawエージェントがGoogleカレンダーで会議のスケジュール設定を支援できるスキルをインストールしたいとします。そのためには、WebインターフェースまたはCLIからClawHubにアクセスし、適切なスキルパッケージを検索します。検索結果が表示されたら、まず最初にスキルのダウンロード数に気づくでしょう。ダウンロード数が多いほど、検索結果の上位に表示されます。

各スキルパッケージには SKILL.MD ファイル。このファイルには、スキルの目的、必要な依存関係、および使用すべきタイミングと方法がエージェントに指示されます。スキルによっては、特定の状況下でエージェントが実行できるスクリプトが含まれている場合があります。

研究に深く踏み込む
ダウンロードAPIを詳しく調べてみる
ClawHubのコードは公開されています(私たちにとっては幸運です)。調査中に、スキルダウンロードAPIが以下の方法で公開されていることがわかりました。 downloadZip 機能。簡単に言うと、ダウンロードがカウントされる前に、リクエストはいくつかの検証チェックを通過する必要があります。
- レート制限同じIPアドレスまたはユーザーからのリクエストが多すぎると、ブロックされます。
- 重複排除レート制限を超えた場合でも、同じIPアドレスまたはユーザーが同じ時間内に同じスキルにアクセスした場合は、再度カウントされません。
一見すると堅実な防御設計のように見えるが、実装の詳細を少し掘り下げてみるとそうでもないことがわかる。
フロントエンドAPIエンドポイントをバイパスする
ClawHubは バックエンドフレームワークとして。ClawHubのソースコードを見ると、2つの興味深いエンドポイントが一般公開されていました。

- ConvexサイトのURLフロントエンドのHTTP APIを提供します。スキルのダウンロード、ユーザー一覧表示、スキル検索などの機能はすべてこのAPIの背後で動作します。
- ConvexデプロイメントURL これは少し違います。これは直接 凸型バックエンドRPCレイヤーHTTPアクションミドルウェアも、カスタムリクエスト処理も一切なし。バックエンドへの生の関数呼び出しのみ。
Convexライブラリの詳細
Convexは、型付きRPC(リモートプロシージャコール)モデルを基盤としたバックエンドフレームワークです。RPCモデルでは、HTTPリクエストをRESTやGraphQLエンドポイントに送信する代わりに、クライアントからバックエンド関数を直接呼び出します。定義した関数はすべて自動的に登録され、呼び出し可能になります。各関数はそれぞれ独自のエンドポイントとして考えてください。
Convexは、パブリックな呼び出し可能関数とプライベートな呼び出し可能関数を明確に区別します。
- 内部機能:
internalQuery / internalMutation / internalAction
意図的に非公開に設計されています。他のサーバーサイドのConvex関数からのみ呼び出し可能で、外部からは完全に不可視です。 - 公共機能:
query / mutation / action
ConvexのデプロイメントURL経由で公開され、関数名を知っているか推測できる人なら誰でも呼び出すことができます。Convexのドキュメントによると、関数がpublicとして定義されている場合、誰でも次のようにHTTPリクエストを介して呼び出すことができます。

これらの機能はもちろん使用すべきです 非常に 慎重に行ってください。バックエンドデータベースに変更を加える前に、クライアントからの入力を検証し、その機能を使用するための権限を確認する必要があります。
脆弱な機能の発見
downloads.ts の中には increment という関数があります。正当なダウンロードの流れは厳重に保護された 内部突然変異 レート制限、重複排除、および権限チェックを強制する、 この関数はそれら全てを完全にスキップします:

認証なし。レート制限なし。重複排除なし。権限チェックは一切なし。
それは明らかに 内部機能 しかし、 公共 mutation internalMutationそのたった一つのミスによって、デプロイURL上の呼び出し可能なRPCエンドポイントとして公開され、世界中に公開されてしまう。
攻撃者は、任意の有効な skillId を使用した単一の curl リクエストで downloads:increment を呼び出すことができ、ダウンロード フローのすべての保護を回避し、 あらゆるスキルのダウンロード数を無制限に水増しできます!
これはそれがどのように見えるかです:

デプロイメントIDとスキルIDの取得は簡単です。どちらもクライアントのネットワークトラフィックに含まれており、ClawHubサーバーからの応答を調べることで確認できます。
攻撃チェーンの形成
ステップ1:悪意のあるスキルを作成する
攻撃は、完全に正当に見えるスキルを構築して公開することから始まります。このデモンストレーションでは、 Outlook Graphとの連携 スキルとは、OpenClawエージェントが会議のスケジュール設定、ユーザーのメール管理などを行うことを可能にするユーティリティです。

このスキルのスクリプトには、シンプルなデータ漏洩ペイロードが隠されています。OpenClawによってこのスキルが呼び出されると、クライアントのユーザー名とFQDNが収集され、当社が管理するサーバーに送信されます。今回の調査目的のため、ペイロードは意図的に影響が少なく、破壊的なものではありません。

ペイロードは一見正当な「send_telemetry」関数の中に埋め込まれていたため、結果として、そのスキルは悪意のあるものとして識別されなかった。
もちろん、 真の攻撃者 これにより、このペイロードははるかに高度なものとなり、環境変数、ローカルファイルパス、メモリに保存されているトークン、またはスキルの実行コンテキスト内でアクセス可能なその他のあらゆるものを収集できるようになります。
ステップ2:ダウンロードカウンターを水増しする
サプライチェーンの観点から見ると、この攻撃は特に興味深いものとなります。ClawHubには既に悪意のあるスキルが存在しますが、ダウンロード数がゼロのスキルでは誰も利用できません。誰も試したことのないスキルを誰がインストールしたいと思うでしょうか?信頼できるものに見せる必要があったのです。
そこで、まさにそれを実現するシンプルなツールを開発しました。コードベースで見つけた脆弱な関数を悪用することで、統計データベースに統計イベントを挿入するリクエストを大量に送信し、悪意のあるスキルのダウンロードカウンターをインクリメントすることができました。ダウンロード数は?好きなだけ!レート制限も検証も、私たちの邪魔になるものは何もありません。

数分以内に、私たちのスキルのダウンロード数は大幅に増加しました。そのスキルをそのカテゴリの検索結果の上位に押し上げるのに十分な効果があった。.

ステップ3:着陸を見守る
ダウンロード数が急増した後、ユーザーはスキルを発見しインストールし始めました。結果:約 3,900回のスキル実行 以内 6日間で稼働開始できました 世界中の50以上の都市、そして複数の上場企業を含む。

これらの実行はすべて、正当なスキル実行の一部としてユーザーのドメイン名とユーザー名を含むHTTPリクエストを当社のサーバーに送信しました。
これは、このような攻撃チェーンがいかに強力になり得るかを示しています。このスキルは、OpenClawエージェントを操作する特権ユーザーに代わって実行されます。このケースでは、ユーザー名とドメインのみを収集しましたが、実際の攻撃者はこれを悪用して、はるかに有害な行為を行う可能性があります。
OpenClawも同じ罠にはまる
人間ユーザーがダウンロードの罠に陥る可能性があるとしたら、その判断をOpenClawエージェントに委任した場合、何が起こるだろうか?

特定の要件に最適なスキルを見つけるよう求められた場合、エージェントはClawHub CLIを介してClawHub検索を実行し、スキル名、スラッグ、概要、スコアに基づいて結果からスキルを選択します。どのスキルをインストールするかの最終決定はLLMが行いますが、コードベースに応じてその決定に影響を与えるスキルのスコアは、コンテンツのセマンティクス、そしてダウンロード数によって影響を受けます。

そこで、OpenClawのエージェントにメールやカレンダーのタスク管理に関するスキルを選択するよう依頼したところ、案の定、私たちが公開した悪意のあるスキルが選択されました。エージェントの説明によると、そのスキルを選んだ理由は、ダウンロード数が多かったためスコアが最も高かったからだそうです。

OpenClawエージェントを悪意のあるスキルから保護する
OpenClawはスキルの自律的なインストールと実行を可能にするため、インストールするスキルが安全で信頼できるものであることを確認することが不可欠です。これは既に述べたとおりです。
リスクを軽減するために、弊社の OpenClaw用のClawNetセキュリティプラグインClawNetはOpenClawエージェントループを使用して、スキルのインストールに関わるツール呼び出しを傍受します。スキルがインストールされる前に、ClawNetはエージェントのLLMにスキルの内容をレビューさせ、潜在的に悪意のあるパターンを検出します。その後、ClawNetは検出結果をユーザーに伝え、インストールをブロックするか許可するかを決定します。
これを実装するという私たちの選択 プラグイン いうより 技能 これはセキュリティ上の判断です。スキルは、推論の誤り、またはモデルが意図したスキル処理フローを一貫して実行できないなどの理由で、LLMによってスキップまたは無視される可能性があります。一方、プラグインはOpenClawエージェントループに直接統合され、実行時レベルでスキルのインストール試行をインターセプトするため、LLMの動作に関係なくチェックが実行されます。
これから何を学ぶことができますか?
バイブコーディングはセキュリティ戦略ではありません
Vibeコーディングは迅速な開発を可能にするが、体系的なセキュリティ対策に取って代わるものではない。AIは優れたシステムを構築できる一方で、依然としてエラーを起こしやすい。実装の細部が重大なセキュリティ上の影響を及ぼしうるため、開発段階では人間の監視が不可欠である。
ダウンロード数だけを信頼の指標にしてはいけません。
他人が信頼しているからといって、安易に信頼したくなるかもしれませんが、人気はセキュリティの保証にはなりません。ダウンロード数は、コードの整合性、レビュープロセス、安全な動作について何も語っていません。このようなシグナルが意思決定の入力として使用される場合、特に自動システムによって使用される場合は、操作の媒介となる可能性があります。そのため、ユーザー/エージェントは、スキルの出所を確認し、当社のような専用のスキルスキャナーを使用する必要があります。 OpenClaw用ClawNetプラグインインストール前にファイルに疑わしいパターンが含まれていないことを確認するため。
RPC開発には明確なセキュリティ境界が必要である
REST API(通常、設計上、ルート、ミドルウェア、検証レイヤーが分離されている)とは異なり、RPC ベースのフレームワークでは、 開発者がバックエンドコードから直接呼び出し可能な関数を公開できるようにする。これにより、認証チェックや入力検証が不十分になるリスクが高まる可能性がある。 Convexのベストプラクティス この点を明確に強調し、 「すべての公共機能において、何らかのアクセス制御を導入すること」RPCアーキテクチャはデフォルトでは安全でないわけではありませんが、厳格なアクセス制御、慎重な検証、および文書化されたベストプラクティスへの準拠が必要です。
OpenClawエージェントがセキュリティリスクとなる可能性があります
OpenClawの強みは、その自律性、つまり人間の介入なしにスキルを検索、評価、インストールできる能力にあります。しかし、その自律性にはリスクも伴います。強制的な検証および検査メカニズムがない場合、エージェントの自律的な意思決定によって、意図せず攻撃対象領域が拡大してしまう可能性があります。
AIエージェントは独自のアイデンティティクラスである
AIエージェントは独自のアイデンティティクラスであり、同じレベルの 発見、リアルタイム制御、姿勢強化 従来の人間ユーザーと非人間IDとして扱われます。すべてのエージェントは人間の所有者にマッピングされ、アクセス ポリシーが定義され、マッピングされる必要があります。その結果、エージェントは明示的に許可されたことしか実行できません。永続的な権限も、回避策もありません。
開示と修正
脆弱性は、その影響と技術的な詳細を含めて、OpenClawのセキュリティチームに報告されました。チームは迅速に対応し、プロセス全体を通して非常に協力的で、問題は解決されました。 24時間未満 そして修正を本番環境に展開します(OpenClawのリード開発者であるPeter Steinbergerによるコミットを参照)。 こちら).

