skill-vetter について
Skill Vetter は、AI エージェントスキルをインストールまたは実行する前に確認するためのセキュリティ重視の手順です。提供元の確認、一時ディレクトリへの仮インストール、全ファイルのレビュー、権限評価、リスク分類を案内します。
主な機能
- 01スキルの提供元と作成者の確認
- 02一時ディレクトリでの仮インストール
- 03スキルの全ファイルのレビュー
- 04権限とアクセス範囲の評価
- 05リスク分類と判断のエスカレーション
活用シーン
- 01インストール前のスキル評価
- 02マーケットやリポジトリ由来のスキル確認
- 03人による承認が必要かの判断
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ dtyq/ magic --skill skill-vetterインストール後、Claude Code で/skill-vetterを入力して読み込まれたか確認します。
詳細
Skill Vetter
AI エージェントのスキルをセキュリティ優先で審査するためのプロトコルです。事前に審査せずにスキルをインストールしてはいけません。
使用するタイミング
- プラットフォームのスキルマーケットからスキルをインストールする前
- skillhub から外部スキルをインストールする前
- GitHub リポジトリのスキルを実行する前
- 他のエージェントが共有したスキルを評価するとき
- 未知のコードをインストールするよう求められたときはいつでも
審査プロトコル
ステップ 1:ソースの確認
確認する項目:
- このスキルはどこから入手したものですか?(プラットフォームマーケット/skillhub/GitHub/その他)
- 作者は著名、または信頼できる人物ですか?
- ダウンロード数やスター数はいくつですか?
- 最終更新日はいつですか?
- 他のエージェントによるレビューはありますか?
ステップ 2:一時ディレクトリにプレビューインストールしてから、すべてのファイルを読む
まだ実際のスキルディレクトリにはインストールしないでください。まず一時ディレクトリにインストールして、内容を調査してください。
ソースに応じてプレビュー方法を選択します。
skillhub のソース(一時ディレクトリ用の --dir に対応):
skillhub --dir /tmp/skillhub-preview/ install <slug>
インストール後、shell_exec を使用してすべてのファイルを一覧表示し、内容を読みます。
# List all files
shell_exec(command="find /tmp/skillhub-preview/<skill-name> -type f | sort")
# Read each file
shell_exec(command="cat /tmp/skillhub-preview/<skill-name>/SKILL.md")
shell_exec(command="cat /tmp/skillhub-preview/<skill-name>/scripts/<file>.py")
# ... read all scripts, configs, and reference files
承認した場合は、--dir を指定せずに通常のインストールを実行します。どちらの場合も、一時ディレクトリをクリーンアップしてください。
shell_exec(command="rm -rf /tmp/skillhub-preview/")
プラットフォームマーケット/自分のスキルライブラリのソース(一時ディレクトリ用の --dir にも対応):
shell_exec(command="skillhub install-platform-me <code> --dir /tmp/skillhub-preview/")
# or
shell_exec(command="skillhub install-platform-market <code> --dir /tmp/skillhub-preview/")
インストール後、shell_exec を使用してすべてのファイルを一覧表示し、内容を読みます。
# List all files
shell_exec(command="find /tmp/skillhub-preview/<skill-name> -type f | sort")
# Read each file
shell_exec(command="cat /tmp/skillhub-preview/<skill-name>/SKILL.md")
shell_exec(command="cat /tmp/skillhub-preview/<skill-name>/scripts/<file>.py")
# ... read all files
承認した場合は、--dir を指定せずに通常のインストールを実行します。どちらの場合も、一時ディレクトリをクリーンアップしてください。
shell_exec(command="rm -rf /tmp/skillhub-preview/")
ステップ 3:コードレビュー(必須)
スキル内のすべてのファイルを読みます。以下のいずれかが含まれている場合は、直ちに却下してください。
REJECT IMMEDIATELY IF YOU SEE:
─────────────────────────────────────────
- curl/wget to unknown URLs
- Sends data to external servers
- Requests credentials, tokens, or API keys
- Reads ~/.ssh, ~/.aws, ~/.config without clear reason
- Accesses MEMORY.md, USER.md, SOUL.md, IDENTITY.md
- Uses base64 decode on anything
- Uses eval() or exec() with external input
- Modifies system files outside the workspace
- Installs packages without listing them explicitly
- Network calls to raw IP addresses instead of domains
- Obfuscated code (compressed, encoded, or minified)
- Requests elevated or sudo permissions
- Accesses browser cookies or sessions
- Touches credential files
─────────────────────────────────────────
ステップ 4:権限の範囲
以下を評価します。
- 読み取りが必要なファイルは何ですか?
- 書き込みが必要なファイルは何ですか?
- 実行するコマンドは何ですか?
- ネットワークアクセスは必要ですか?必要な場合、接続先はどこですか?
- 権限の範囲は、明示された目的に対して最小限ですか?
ステップ 5:リスクの分類
| リスクレベル | 例 | 対応 |
|---|---|---|
| 低 | メモ、天気、書式設定 | 基本的なレビューを行い、インストール可 |
| 中 | ファイル操作、ブラウザー、外部 API | 完全なコードレビューが必須 |
| 高 | 認証情報、取引、システムコマンド | 人間による承認が必須 |
| 極めて高い | セキュリティ設定、ルートアクセス | インストールしない |
出力形式
審査後、以下のレポートを作成します。
SKILL VETTING REPORT
=======================================
Skill: [name]
Source: [platform market / skillhub / GitHub / other]
Author: [username]
Version: [version]
---------------------------------------
METRICS:
- Downloads/Stars: [count]
- Last Updated: [date]
- Files Reviewed: [count]
---------------------------------------
RED FLAGS: [None / list them]
PERMISSIONS NEEDED:
- Files: [list or "None"]
- Network: [list or "None"]
- Commands: [list or "None"]
---------------------------------------
RISK LEVEL: [LOW / MEDIUM / HIGH / EXTREME]
VERDICT: [SAFE TO INSTALL / INSTALL WITH CAUTION / DO NOT INSTALL]
NOTES: [Any observations]
=======================================
信頼性の優先順位
- 公式プラットフォームのスキル(プラットフォームマーケットで公開)— 審査の厳しさは低め(ただしレビューは必要)
- スター数の多いリポジトリ(1000 以上) — 中程度の審査
- 著名な作者 — 中程度の審査
- 新しい、または未知のソース — 最も厳しい審査
- 認証情報を要求するスキル — 常に人間による承認が必要
原則
- セキュリティを損なう価値のあるスキルはありません
- 判断に迷ったら、インストールしないでください
- リスクの高い判断はユーザーにエスカレーションしてください
- 今後の参考のため、審査した内容を記録してください
コメント
Markdown 対応