2026 年のClawHavocサプライチェーン攻撃以降、多くのチームは ClawHub から第三者 Skills を入れることを躊躇しつつ、プラグインエコシステムからは離れられません。本記事は Gateway を稼働させ、本番で ClawHub スキルを段階的にロールアウトしようとする開発者向けに、導入入門と役割分担したセキュリティ選定 Runbookを示します。clawhub inspect による監査、clawhub pin による版固定、allowBundled ホワイトリスト、段階的ロールアウト(読み取り専用→書き込み→システム呼び出し)、誤インストール後の Key ローテと openclaw doctor 受け入れ検証を扱い、Gateway セキュリティ強化および MCP ホワイトリストと接続します。
2026 年 2 月以降、セキュリティコミュニティは OpenClaw 公式スキルマーケット ClawHub を標的とした大規模な毒入れキャンペーン ClawHavoc を公表しました。攻撃者は暗号通貨トラッカー、YouTube ツール、生産性プラグインに偽装した悪意ある Skills を一括アップロードし、ClickFix 2.0 型のソーシャルエンジニアリング——SKILL.md の「前提インストール要件」で curl | bash のコピペを促す——で API Key、環境変数を窃取し、macOS 情報窃取型マルウェアや Windows リバースシェルを仕込みました。Koi Security の監査では registry 内の約 12% のスキルに悪意あるペイロードが含まれていたと報告され、公式は Phase 2 moderation による多信号仲裁を導入しましたが、レジストリ審査はランタイムガバナンスの代替にはなりません。
ClawHub を npm のように無差別インストール:Skills は Gateway プロセス権限で動作し、1 つの悪意ある skill がすべての Provider Key を読み取れる可能性があります。
star/ダウンロード数だけを見る:ClawHavoc バッチは刷量と有名 slug の模倣でランキングを欺きました。
SKILL.md の人手レビューを省略:悪意ある前置ステップは「環境準備」節に隠れ、通常ドキュメントほど目立ちません。
本番と実験で workspace を共有:./skills と ~/.openclaw/skills を混在させると、実験 skill の書き込み権限が本番 Agent を汚染します。
CVE だけ当ててスキル棚卸しをしない:CVE-2026-25253 を当てても、過去に入れた悪意ある skill はディスクに残ります。
MCP ホワイトリストと乖離:Skill が導入する新ツールを openclaw.json の権限境界に含めないと、exec 承認が形骸化します。
| ソース | 監査コスト | 向く段階 | 主なリスク |
|---|---|---|---|
| Bundled(npm 同梱) | 低;allowBundled と併用 | 本番ベースライン | 機能が限定的;OpenClaw 発版に追随 |
| チーム自研 ./skills | 管理可能;内部 PR 経由 | 本番カスタム | 保守コスト;pin 必須 |
| ClawHub 高信頼 skill | 中;inspect + SKILL.md 人手確認 | ステージング / 読み取り専用ロールアウト | 作者アカウント侵害;更新による悪意 diff |
| ClawHub 新規 / 低 DL | 高;隔離マシン試行を推奨 | 実験 VM のみ | ClawHavoc 模倣、ClickFix 社工 |
| 導入入門記事との分担 | — | 初回 onboard | ClawHub 導入全攻略を参照 |
「Registry が clean」とは、その時点のスキャン合格に過ぎません。本番基準は、誰が入れたか、どの版か、どの Key に触れられるか、失敗時に 10 分でロールバックできるかです。
以下は Gateway が openclaw onboard --install-daemon で常駐している前提です。Docker 隔離デプロイは Compose 本番ボリューム、Linux systemd は Ubuntu systemd を参照してください。
現状棚卸し:openclaw skills list と clawhub list;slug、版、インストールパス(workspace ./skills vs ~/.openclaw/skills)を記録します。
インストール前 inspect:clawhub search "キーワード" → clawhub inspect <slug>;moderation verdict、作者の他 skill 数、changelog の突然の大改変を確認します。
隔離試装:非本番 workspace で clawhub install <slug>;SKILL.md を通読し、公式ドメイン以外の「以下 curl/bash を実行して依存を満たす」段落は拒否します。
pin 固定 + 読み取り専用ロールアウト:受け入れ後 clawhub pin <slug>;Agent では書き込み/exec ツールを無効化し検索系能力のみ検証;exec 承認と networkPolicy と併用します。
allowBundled ホワイトリスト設定:openclaw.json の skills セクションで allowBundled 配列を設定し、本番ノードは列名内の bundled skill + pin 済み ClawHub slug のみ許可;それ以外の install は変更チケット経由にします。
doctor 受け入れと観測:openclaw doctor --deep;新 session 後 openclaw logs --follow で skill ロード異常が無いか確認;MCP ホワイトリストとツールレジストリを突合します。
# 2026 ClawHub 本番選定 — 監査 → 試装 → pin → ホワイトリスト openclaw skills list clawhub list clawhub search "summarize" clawhub inspect summarize-web --version latest # 隔離 workspace 試装(例) cd ~/openclaw-staging && clawhub install summarize-web grep -R "curl\|bash\|wget" skills/*/SKILL.md clawhub pin summarize-web openclaw config set skills.allowBundled '["memory-core","summarize-web"]' openclaw gateway restart openclaw doctor --deep
ヒント:clawhub update --all は pin 方針の「心理的安心」を迂回します——本番 cron は「チケット駆動更新」に切り替え、ステージングで inspect を再実行してください。
注意:SKILL.md が第三者 API Key を shell profile に export するよう要求する場合、openclaw configure または SecretRef を優先し、Gateway 環境への平文投入を避けてください。
悪意ある skill を入れた疑いがある場合、先に権限を断ち、次にクリーンアップ、最後にローテの順で実行します。
直ちに Gateway 停止:openclaw gateway stop または systemd stop で outbound を遮断します。
skill アンインストール:clawhub uninstall <slug> または skills/<slug>/ ディレクトリを削除;crontab / LaunchAgent に異常エントリが無いか確認します。
資格情報ローテ:すべての LLM Provider Key、Brave Search Key、Gateway Token(gateway.auth.token);Anthropic/OpenAI コンソールで異常な呼び出しスパイクを確認します。
再受け入れ:openclaw doctor --fix と 認証トラブルシュート専記を照合します。
ノート PC や共有 VPS で skill を試装すると、実験ディレクトリと本番 Gateway が同一ユーザー下に混在しやすくなります。専有でスナップショット復元可能な macOS ノードの方が「ステージング試装 → pin → 本番昇格」の階層フローに適しています。VPS を借りる感覚で SSH 保守可能な Mac 算力を得て、本 Runbook を標準イメージに載せたい場合、NodeMini の Mac Mini クラウドレンタルが実務上はっきり有利です。リモート Mac launchd 常駐や iOS CI と同じ運用心智で、「自宅で悪意ある skill を試し、会社本番 Key が同じマシンに露出する」リスクを減らせます。
可能ですが、必ず先審後装です。inspect で moderation 信号を確認し、pin で版を固定し、本番では allowBundled と併用します。導入フローは ClawHub 導入全攻略を参照ください。
allowBundled はどの skill がロード可能かを管轄します。MCP ホワイトリストはskill が呼べる外部ツールを管轄します。両者を重ねて初めて完全な境界になります。詳細は MCP ツールチェーン専記をご覧ください。