Skills OpenClaw:被害に遭わずにインストールする 罠にかける
OpenClawのskillsは、エージェントが手順を学習するために読み込む指示ファイルのフォルダーで、スクリプトを伴うこともあります。公開レジストリClawHubから一つのコマンドでインストールできますが、問題はそこから始まります。skillはエージェントのすべての権限で実行され、複数のセキュリティチームが2026年初頭、このレジストリに仕掛けられたskillsが存在することを報告しました。このガイドでは、skillの仕組み、アクティブ化する前の読み方、そして宣言どおりに動作しない場合の被害を抑える方法を説明します。独自テストには基づいていません。記載する数値は、名前を明記した報告書から、その日付時点で引用しています。
#OpenClawのスキルとは何か、具体的に説明
Skillはコンパイル済みプラグインでも、ブラウザーにおける意味での拡張機能でもありません。最低限、SKILL.mdファイルを含むフォルダーです。そこには、名前と説明を記したYAML形式のヘッダーと、エージェントがいつ、どのようにタスクを実行するかを説明するMarkdown形式の指示が含まれます。フォルダーには、スクリプト、ファイルテンプレート、参照文書を含めることもできます。このためOpenClawは、ほかのエージェントと共有され、ドキュメントで説明されているオープンフォーマットに従います。
起動時、ゲートウェイは各skillの完全な内容を読み込みません。利用可能なskillの一覧を名前と説明付きでシステムプロンプトに注入します。モデルがあるskillが依頼に対応すると判断すると、SKILL.mdファイル全体を読み込み、必要に応じてそこに含まれるスクリプトを呼び出しながら、その指示に従います。したがってskillは何よりもまず、あなた自身の指示と同じように、モデルのコンテキストに入るテキストです。
ヘッダーでは、アクティベーション条件を宣言できます。マシン上で必要な実行ファイル、環境変数、設定キー、またはオペレーティングシステムなどです。条件が不足している場合、スキルはインベントリには表示されますが、モデルには提示されません。これらの宣言は信頼性のためのものであり、安全性のためのものではありません。アクティベートされたスキルが実行できることを制限するものではありません。
- 付属のskill
- OpenClawとともに提供され、設定に応じて有効化されます。プロジェクトによって保守されていますが、知っておく必要がないということではありません。
- 管理対象のskills
- マシン上のすべてのエージェント向けに、~/.openclawディレクトリのskillsフォルダーへインストールされます。
- ワークスペースのskills
- エージェントのワークスペース(デフォルトでは ~/.openclaw/workspace)のskillsサブフォルダーに配置されます。ClawHubがデフォルトでインストールする場所もここです。
- 優先順位
- ワークスペースのスキルは、同名の管理対象スキルより優先され、管理対象スキルは配布されたスキルより優先されます。そのため、第三者のスキルが公式スキルを置き換えても、何も通知されないことがあります。
ClawHubはプロジェクトの公開レジストリです。同名のコマンドラインツールでskillを検索、インストール、更新できます。誰でも公開できるため、レジストリにskillが存在することは再確認済みであることを意味しません。エージェントとツールの概念がまだ曖昧な場合は、MCPプロトコルに関する私たちのガイドで、モデルにツールを与えるとは何か、また追加するツールごとに攻撃対象領域が広がる理由を説明しています。
#OpenClawのskillが構造上リスクとなる理由
あなたのマシンで動作するエージェント:エージェント型 Cline、MCP、n8n + Ollama、ローカル自動化。
- 永久に利用できるオンラインスペース
- PDF + ファイル
- 30日間返金対応
問題はOpenClawの欠陥ではありません。skillとは何かにあります。つまり、モデルが信頼する指示であり、ターミナル、ファイル、ブラウザー、メッセージングサービスを利用できるエージェントによって実行されます。エージェントにできることは、skillにも実行させられます。ウェブページからのプロンプトインジェクションであれば、モデルが外部コンテンツだと識別できる場合もありますが、skillは正当な指示の経路から届きます。
- 偽の依存関係
- そのskillは技術的な前提条件を理由に、外部のインストールスクリプトをダウンロードして実行するよう求めます。エージェントが従うと、スクリプトがマルウェアをインストールします。これは、2026年初頭のClawHubで最も詳しく記録されたパターンです。
- Exfiltration
- 指示では、会話の内容、設定ファイル、または認証情報を、しばしば「ロギング」や「同期」を装って外部アドレスに送信するよう定められています。
- 持続的な乗っ取り
- skillはエージェントのメモリや指示を変更したり、スケジュールされたタスクを追加したりします。これらのファイルを読み直さなければ、アンインストール後も影響が残ります。
- Usurpation
- 既知のスキルに似た名前、コピーされた説明、前日に作成された作者。レジストリは同名異人から保護してくれません。
- 仕掛けられた更新
- インストール時には信頼できるskillでも、次のバージョンで内容が変わる可能性があります。更新のたびに再確認が必要です。
#セキュリティ研究者がClawHubで発見したこと
複数のチームが、プロジェクトの人気が高まった期間である1月末から2026年3月にかけて、レジストリを分析しました。私たちはそれらの分析を再現していません。以下の数値は、各報告書の発表日時点のものであり、その後レジストリは変更されています。私たちの編集方針に従い、悪意のあるスキルの一覧も、それらへのリンクも掲載していません。
- Koi Security、2026年2月1日
- 研究者たちはClawHavocと名付けたキャンペーンについて説明しています。最初の報告では、ClawHubで公開されたスキル341件が悪意のあるものとして特定されています。その多くは偽の依存関係という手法を使い、macOSに情報窃取マルウェアをインストールしていました。同じ研究者たちは、その後の発表でこの件数をさらに上方修正しました。
- Cisco、2026年2月
- Ciscoの調査チームは、レジストリで人気のあるスキルを分析し、ユーザーに知られないままエージェントがデータを第三者サーバーへ送信する指示を含んでいたことを示しました。Ciscoは直後に、スキルを分析するオープンソースツールを公開し、この種のパーソナルエージェントには、ほとんどのユーザーの環境にはまだ存在しないセキュリティの枠組みが必要だと結論づけています。
- Snyk、2026年2月
- SnykはToxicSkillsレポートで、ClawHubの3 984個のスキルを分析したと述べています。同レポートによると、13,4 %に少なくとも1件のセキュリティ問題があり、76個は悪意のあるものと判定されました。主な問題は、認証情報の窃取と、細工されたインストールスクリプトでした。
- Kaspersky、2026年初頭
- Securelistが公開した分析は、skillsをより広い状況の中に位置付けています。インターネットに公開されたゲートウェイ、2026年1月末に修正された脆弱性CVE-2026-25253、設定フォルダーに平文で保存されたシークレットなどです。その推奨事項はこのガイドの方針とも一致します。隔離し、権限を制限し、何も公開しないことです。
プロジェクト側も対応しました。2026年2月の発表によると、ClawHubは現在、VirusTotalと提携し、公開されたスキルを悪意のあるコードについて自動分析し、問題が報告されたものを削除しています。これは有用ですが、十分ではありません。自動分析で検出できるのは既知のスクリプトや明白なパターンであり、巧妙に言い回された指示文ではありません。読む責任は依然として利用者にあります。
#最初のskillの前に整えるべき枠組み
このガイドは、OpenClawがすでにインストールされていることを前提としています。そうでない場合は、Dockerを使ったインストールガイドでセットアップ方法を詳しく説明し、OpenClawの紹介記事でこのツールが適しているか判断できます。第三者製のskillを一つでも追加する前に、次の四点を確認してください。
- 最新バージョン
- スキルは攻撃対象領域の一つにすぎません。古いゲートウェイには、CVE-2026-25253を含む、すでに修正済みの脆弱性が残っている可能性があります。更新してから、診断を再実行してください。
- 適切な監査
- 組み込みの監査コマンドは、危険な設定を警告します。公開されたゲートウェイ、無効化されたペアリング、全員に開放されたツールです。エージェントを拡張する前に、すべて修正してください。
- 専用マシン一台
- 仕事用の端末ではなく、パスワードマネージャーや個人のSSHキーを保管するマシンでもありません。仮想マシン、ミニPC、またはレンタルサーバーを使ってください。
- 名前の付いたニーズ
- スキルは、すでに行っている特定の作業に応えるものです。「念のため」スキルをインストールすると、利益なしにリスクが増えます。
インベントリには驚くかもしれません。OpenClawとともに提供されたskillsが、すでに有効になっています。知らないものは時間をかけて読み、使う必要のないものは無効にしてください。原則はサーバーの場合と同じです。アクティブな各コンポーネントには、存在する理由が必要です。
#OpenClawのskillをアクティブ化する前に読む:方法
典型的な誤りは、先にインストールして後から読むことです。OpenClawが読み込むフォルダーにskillが存在すると、エージェントはそれを読み、従うことができます。したがって、ゲートウェイが監視していない隔離フォルダーにskillを取得して調べ、その後で初めて移動するのが方法です。妥当なサイズのskillなら、10~15分を見込んでください。skillが長すぎて読めないなら、それ自体が情報です。
- 01有効化せずに取得するOpenClawが読み込むフォルダーの外に隔離用フォルダーを作成し、ClawHubツールを起動する前にその中へ移動してください。デフォルトでは、現在のディレクトリまたは検出されたワークスペースのskillsサブフォルダーにインストールされます。最後に表示されるパスを確認してください。ダウンロードする前に、レジストリ上のページでSkillを読むこともできます。
- 02SKILL.mdを最初から最後まで読むまずはヘッダーです。名前は探しているものと一致していますか。宣言されている前提条件はタスクと整合していますか。RSSフィードの要約Skillに、鍵を含む環境変数は必要ありません。次に本文を一文ずつ読み、各指示について「エージェントがこれを正確に実行したら、私のマシンで何が起こるか」と考えてください。
- 03ファイルを一覧化する隠しファイルも含め、フォルダー内のすべての内容を一覧にしてください。各スクリプト、アーカイブ、バイナリは、指示によって必要性を説明できなければなりません。SKILL.mdで一度も言及されていないファイルは警告サインです。バイナリと圧縮アーカイブは拒否してください。内容を読めないためです。
- 04既知のパターンを探すダウンロード後の実行、Base64デコード、コードの動的評価、権限昇格、外部アドレス、設定フォルダーや鍵へのパス。以下のコマンドで、この初回チェックを自動化できます。不可視文字も探してください。空白に見えるテキストに指示が隠されていることがあります。
- 05作成者と履歴を確認するアカウントの作成日、その他の投稿、順次公開されたバージョン、引用されたコードリポジトリとダウンロードした内容との一致。既知のサービスによる「公式」Skillが匿名アカウントから公開されている場合、反証が示されるまではなりすましとみなしてください。
- 06判断し、理由を記録するオンラインから取得したスクリプトの実行を求める指示が1つでもあれば、ほかがすべて問題なくても拒否するのに十分です。受け入れる場合は、読んだバージョンのコピーを保管してください。次回の更新と比較するのはそのコピーです。
これらのコマンドが、あなたに代わって判断するわけではありません。正当なskillが公開APIを照会するために外部アドレスを参照したり、その機能としてcurlを使用したりすることはあります。判断材料は、skillが明示する内容と実際の動作との隔たりです。RSSフィードの要約が設定ファイルを読み取ることには、弁解の余地がありません。
#可能な限り少ない権限でインストールする
skillを確認したら、ワークスペースのskillsフォルダーへ移動するか、ClawHubツールに適切な場所へインストールさせてください。その後、~/.openclawディレクトリのopenclaw.jsonファイルにあるOpenClawの設定で、skillを無効化したり、専用キーを渡したり、提供されるskillsを使用するものだけに制限したりできます。これらのキーの正確な名前はバージョンに伴って変わります。公式情報はドキュメントのskillsページです。
- デフォルトでは無効
- インストール済みだがまだ確認していないskill、または確認済みだがまだ必要でないskillは、明示的に無効化する必要があります。無効化されたエントリはモデルに提示されません。
- 専用キー
- スキルがサービスへのアクセスを必要とする場合は、その用途専用のキーを作成し、支出上限を設定して、権限の範囲を可能な限り狭くしてください。メインキーは決して使わず、スキル間で共有するキーも決して使わないでください。
- 専用アカウント
- アカウントについても同じです。予定表やメールボックスを読むskillには、あなたのアカウントではなく、エージェント用に作成したアカウントを渡します。
- 同梱されるskillsを削減
- 提供するskillの一覧を、用途のあるものに限定してください。モデルの選択肢が少ないほど、欺瞞的な指示が利用できる足がかりも少なくなります。
- 自動更新なし
- すべてのスキルを一括更新しないでください。一度に1つのスキルだけを更新し、保存しておいたコピーと新しいバージョンを比較してから、再度有効化してください。
変更するたびに、インベントリと診断を再実行してください。skillの確認コマンドにより、skillが有効か、前提条件を満たしているか、どの変数を想定しているかが分かります。想定していない変数を要求された場合は、読解に戻ってください。
#エージェントを隔離する:仕掛けられたskillが到達できる範囲を制限する
読むことで、仕掛けられたskillをインストールする可能性は下がります。隔離することで、誤った場合の影響を抑えられます。両方が必要であり、前者より後者のほうが重要です。いつか読み間違えるでしょうし、更新を見逃すこともあるでしょう。目的は、秘密を持ち出そうとするskillが持ち出せるものを何も見つけられず、インストールを試みるスクリプトが実行できる場所もない状態にすることです。
- 実行用サンドボックス
- OpenClawは、エージェントのツールをマシン上で直接実行する代わりに、Dockerコンテナ内で実行できます。デフォルトでは、この分離はあなた以外の会話を対象とします。すべてのセッションに拡張する方法はドキュメントに記載されています。コンテナを使えば、悪意のあるコマンドはホストではなく、使い捨てのシステム上で作用します。
- 削除したツール
- 設定によって、エージェントに対してツールの使用を禁止できます。Skillsのいずれもブラウザーやワークスペース外へのファイル書き込みを必要としない場合は、それらを削除してください。Skillは、エージェントが持っていないツールを使用できません。
- 専用システムアカウント
- ゲートウェイは、SSHキー、ドキュメント、管理者権限にアクセスできないユーザーで動作しています。Dockerのマウントからアクセスできるのは、~/.openclawディレクトリだけです。
- 閉鎖ネットワーク
- ゲートウェイはデフォルトでローカルの127.0.0.1およびポート18789で待ち受けたままになり、リモートアクセスはSSHトンネルまたはVPN経由になります。ファイアウォールで許可される場合は、エージェントの外向き接続も、実際に接続する必要があるサービスに限定してください。情報の外部流出には出口が必要です。
- 対応可能なモデル
- 指示をよく理解するモデルは、欺瞞的な指示にもより強く抵抗します。ローカルでは、これは少なくとも140億パラメーターのモデル、つまりQ4_K_Mで約9 GBのVRAMと、広いコンテキストを意味します。Ollamaを使ったOpenClawのガイドで、この選択を詳しく説明しています。
エージェントがMCPプロトコルで外部ツールに接続する場合、各MCPサーバーに同じルールが適用されます。有効化前の確認、最小権限、分離です。Ollamaサーバーに関する私たちのガイドと、LLM向けOWASP Top 10の解説が、これらの対策の全体像を示します。
#監視、削除、報告する
インストールしたスキルは、信頼できる既得のものではありません。三つの習慣で不意の事態を抑えられます。一つ目は、ワークスペースのメモリーファイルと指示ファイルを時々読み直すことです。これらは単なるMarkdownです。自分で書いていない行は、内容を理解してから削除してください。二つ目は、スキルを追加した後にゲートウェイのログを確認し、実行されたコマンドと接続先アドレスが想定どおりか確かめることです。三つ目は、設定を変更するたびにセキュリティ監査をやり直すことです。
後になってスキルが仕掛けられていたと判明した場合、エージェントが到達できたものはすべて侵害されたと考えてください。エージェントが保持していたAPIキーを無効化して再作成し、エージェントに委ねていたアカウントのパスワードを変更し、エージェントがサンドボックスなしで動作していた場合はホストマシンを調査してください。その後、レジストリにスキルを報告し、悪意のあるスクリプトの実行に使われていた場合は、こうしたキャンペーンを追跡しているチームにも報告してください。先に挙げた報告は、いずれも通報から始まっています。
#出典
このガイドには独自の測定結果は含まれていません。コマンドと設定キーは、更新が速いOpenClawのドキュメントから引用しています。相違がある場合は、同ドキュメントを正とします。悪意のあるスキルに関する所見は、今回の執筆にあたって参照した以下のレポートに基づいています。Koi SecurityとSnykのレポートは、両社のブログで公開されています。
#さらに詳しく
skillはローカルエージェントのセキュリティを構成する一要素にすぎません。このサイトの次のガイドでは、全体像の残りを扱っています:
- プロンプトインジェクション:ローカル実行は対策になりません
- モデルが読んだテキストによって命令が生まれる仕組みと、自宅でモデルを実行するだけでは十分でない理由。https://quelllm.fr/guide/injection-de-prompt-llm-local
- OWASP Top 10 LLM:企業におけるローカル AI のセキュリティ確保
- LLMベースのアプリケーション固有の十のリスクに関するリファレンス。サプライチェーンやエージェントの過剰な自律性などが含まれます。 https://quelllm.fr/guide/owasp-top-10-llm-securite-locale
- Ollamaサーバーのセキュリティ強化
- 認証、リバースプロキシ、公開設定。モデル側の対策であり、エージェント側の対策を補完します。 https://quelllm.fr/guide/securiser-serveur-ollama
- MCPとは?
- モデルを外部ツールに接続するプロトコルと、追加する各サーバーが意味すること。https://quelllm.fr/guide/mcp-c-est-quoi-model-context-protocol
- OpenClaw:概要と導入の必要性
- プロジェクトの概要、前提条件、一般的なリスクを確認し、インストール前に判断するための説明。https://quelllm.fr/guide/openclaw-c-est-quoi
ご意見、誤りのご指摘、補足はありますか?ぜひお知らせください。皆さんにとってより良いガイドにするために役立ちます。