SkillSpectorとは?
SkillSpectorは、Claude Code、Codex CLI、Gemini CLI、およびMCPクライアントで使用されるエージェントスキル向けの、NVIDIAによるオープンソースのセキュリティスキャナーです。Gitリポジトリ、URL、zipファイル、ディレクトリ、または単一のSKILL.mdを指定すると、0から100のリスクスコア、深刻度、そしてSAFE、CAUTION、DO NOT INSTALLのいずれかの推奨事項を返します。また、NVIDIAのスキルカタログに公開される前にスキルをスキャンして署名を行う、NVIDIAのVerified Skillsパイプラインのセキュリティ層としても機能しています。
検出は2段階で実行されます。静的解析では、正規表現ルール、Python ASTチェック、テイント追跡、YARAシグネチャ、およびOSV.devに対するライブCVE照会を用いて、17カテゴリにわたる71のパターンを網羅します。続いて任意のLLMステージがコンテキストと意図の観点から検出結果をレビューします。このステージは検出結果の確信度を上げることはできますが、結果を削除することはありません。LLM解析はデフォルトで有効になっており、build.nvidia.com上のZ.aiによるGLM-5.3が標準で使用されます。代替手段として、OpenAI、Anthropic、Bedrock、Gemini、Azure OpenAI、Ollama、ローカルのClaudeやGemini CLIも利用可能です。
リポジトリは2026年3月に作成され、Apache 2.0ライセンスで提供されており、約23,700のGitHubスターと2,046のフォーク数を有しています。PyPIには登録されていません。uvを使用してGitHubからインストールするか、ローカルで構築したDockerイメージとして利用し、Python 3.12以降を必要とします。2026年10月28日にはv2.13.2がリリースされました。これは2026年7月以降の20のGitHubリリースの1つであり、パッケージは現在もAlphaとして分類されています。
SkillSpectorは使う価値があるか?
SkillSpectorは、当サイトで扱うオープンスキルスキャナーの中 で最も徹底しており、その強みは網羅性よりも深さにあります。Snyk Agent Scanはマシン全体を走査してインストール済みのMCPサーバーやスキルを探します。これに対し、SkillSpectorは1つのスキルを対象とし、隠された指示や空白埋めから、リフレクティブなgetattr呼び出し、ネットワークシンクへの認証情報の流出、パッケージソースのリダイレクトに至るまで、17カテゴリ71パターンにわたって綿密に読み取ります。スキルを実行することは決してありません。これだけでも、ツール記述を読み取るためにstdio MCPサーバーを起動するAgent Scanと一線を画しています。
その手法は意図的に階層化されています。11種類の静的アナライザー、Python ASTチェック、YARAルール、OSV.dev照会が第1パスを実行します。これはREADMEで、適度な適合率を伴う高い再現率と説明されています。続いてLLMステージが各検出結果を確認または異議申し立てしますが、削除はできません。確認された検出結果は確信度が上がり、残りはllm-unconfirmedのタグ付きでレポートに残ります。そのため、ノイズとなり得る正規表現の一致であってもスコアには加算されます。プロンプトには、判定を誘導するために書かれたスキルに対する対脱獄保護が施されています。デフォルトの判定モデルはbuild.nvidia.com上の高い推論工数に設定されたGLM-5.3です。Anthropicではclaude-opus-4-6となり、Ollamaではローカルのllama3.1:8bによってファイルをマシン内に留めます。
NVIDIAが公開していないのは適合率です。CiscoのSkill Scannerは、ルール単体で悪意のあるスキルの7.7%をブロックしたといった独自のホールドアウト結果を報告しています。対照的にSkillSpectorは、解析した31,132件のスキルのうち26.1%に脆弱性があり、5.2%に悪意ある意図が見られたという背景の研究結果を引用するにとどまります。それは問題の規模を測るものであり、スキャナー自体の性能を示すものではありません。誤検知の存在は設計上も認められており、受け入れられた検出結果を抑制するベースラインファイルが用意されているほか、課題トラッカーのIssue #887では航空安全に関する説明が有害な指示として誤検知された事例が報告されています。READMEに記載された弱点のリストには、英語以外のテキスト、画像内のテキスト、コンパイルまたは暗号化されたコード、ランタイムの動作が含まれています。
本ツールはCI向けに構築されています。SARIF 2.1.0出力はコードスキャンに連携でき、スコアが50を超えるとスキャンは終了コード1で終了します。デフォルトではCAUTIONの結果(21から50)が通過するため、厳格なゲートには--fail-on-findings、--fail-on-incomplete、または--min-coverageが必要です。MCPサーバーモードでは、エージェントにスキルをインストール前に確認するためのscan_skillツールを提供します。そのHTTPトランスポートには認証機能がなく、ループバックにのみバインドします。2026年7月以降で20回のリリースがあり、オープンなIssueとプルリクエストが136件存在するなど、開発ペースは活発です。
当サイトにすでに掲載されている2つのスキャナーと比較すると、トレードオフは明白です。Snykはインストール済み環境のインベントリ把握に優れ、Ciscoは検出率の開示に誠実であり、SkillSpectorはベンダーアカウント不要で、必要ならモデルすら使わずに、単一のスキルを最も深く読み取ります。
真価を発揮する場面
40個の社内用Claude Codeスキルを1つのリポジトリで管理するプラットフォームチーム
スキルの変更によって外部への情報流出や隠された指示が追加された場合にマージを阻止します
デフォルトの上限が32スキルのため、CIでskillspector scan ./skills --recursive --max-skills 50 --no-llm --format sarif --fail-on-findingsを実行し、SARIFをコードスキャンにアップロードします。受け入れ済みの検出結果についてはベースラインをコミットし、新しい問題のみでビルドが失敗するようにします。静的スキャンではファイル内容をランナー上に留めますが、依存関係名はOSV.devに送信されます。
200人規模の開発組織向けにマーケットプレイスのスキルを承認するセキュリティエンジニア
サードパーティ製スキルを全社的にインストールしても安全かどうかを判断します
会社のBedrockまたはAzure OpenAIアカウント経由でLLM解析を行うよう設定してGitHubのURLをスキャンし、既存のデータ契約に基づいてコンテンツを保護した上で、スコアだけでなく推奨範囲とllm-unconfirmedタグを確認します。コストはモデルのトークン消費であり、JSONレポートに呼び出しごとに記録されます。
頻繁にコミュニティスキルを追加するClaude Codeの開発者
インストール前にエージェント自身にスキルを検証させます
mcpエクストラ付きでインストールし、claude mcp add skillspector -- skillspector mcpで登録します。エージェントがscan_skillを呼び出すと、safe_to_installとスキャンが静的のみであったかどうかを示すフラグが返されます。利用は無料です。HTTPトランスポートには認証機能がないため、stdioでの利用にとどめてください。
導入前に確認すること
- 導入
- Python 3.12以降でuv tool install git+https://github.com/NVIDIA/skillspector.gitを実行するか、付属のDockerfileをビルドします。--no-llmを指定すればAPIキーなしで静的スキャンが可能です。LLM解析にはSKILLSPECTOR_PROVIDERと該当プロバイダーの認証情報が必要です。
- 連携
- ターミナル、JSON、Markdown、SARIF 2.1.0出力に対応します。stdioまたはループバックHTTP経由のMCPサーバー、PiおよびOpenCode拡張機能、LangGraphワークフロー上のPython API、そしてOllama、Bedrock、Azure OpenAI、ローカルのClaudeおよびGemini CLIを含む12種類の利用可能なLLMプロバイダーを備えています。
- デ ータとプライバシー
- デフォルトで有効なLLM解析は、アナライザーの対象となるファイル内容を設定されたプロバイダーに送信します。--no-llmを指定するとローカルに保持されます。SC4チェックは静的モードであっても依存関係の名前とバージョンをOSV.devに送信します。レポートは0600の権限で書き込まれます。Apache 2.0ライセンスです。
- 大規模利用時のコスト
- 有償版はありません。静的スキャンはCIの実行時間を消費します。LLMスキャンはスキルごとにプロバイダーのトークンコストが発生し、JSONレポートに呼び出しごとに記録されます。1回のスキャンのデフォルトの制限時間は18分です。
- 制限
- 精度の測定値は公開されていません。オープンなIssueとプルリクエストが136件あります。英語以外のテキスト、画像、コンパイル済みコード、実行時の動作には対応していません。再帰スキャンはデフォルトで32スキルで停止します。NVIDIAのドキュメントページには、READMEの71に対して依然として68のパターンと記載されています。
良い点
- スキャン対象のスキルを決して実行しません
- AST、テイント追跡、YARA、OSV.dev照会を伴う71のパターンを備えています
- CIゲート向けのSARIF出力と文書化された終了コードを提供します
- LLMステージはローカルのOllamaモデルを使用でき、スキップすることも可能です
気になる点
- LLM解析がデフォルトで有効になっており、ファイル内容をプロバイダーに送信します
- 検出率や誤検知率が公表されていません
- PyPIで提供されておらず、GitHubからインストールし、Python 3.12以降を必要とします
- デフォルトの終了コードではCAUTIONの結果が通過します
おすすめの人
セキュリティベンダーと契約することなく、エージェントスキルをインストールまたは公開し、CIに任意のモデルレビューを含む静的ゲートを設けたいチームに適しています。
SkillSpectorの代替
SkillSpector:よくある質問
- SkillSpectorは使う価値があるか?
- プロバイダーを変更するか--no-llmを指定しない限り、LLMステージによってスキルのファイルがbuild.nvidia.comに送信される点に留意すれば、インストール前の防御策として導入すべきスキルスキャナーです。 評価は5点満点中4.1点です。
- SkillSpectorの料金は?
- Apache 2.0に基づく無料でオープンソースのソフトウェアで す。LLM解析は、自身のプロバイダーアカウント(デフォルトはbuild.nvidia.com)またはOllama経由のローカルモデルで実行されます。
- SkillSpectorの欠点は?
- LLM解析がデフォルトで有効になっており、ファイル内容をプロバイダーに送信します; 検出率や誤検知率が公表されていません; PyPIで提供されておらず、GitHubからインストールし、Python 3.12以降を必要とします; デフォルトの終了コードではCAUTIONの結果が通過します.
- SkillSpectorは誰に向いているか?
- セキュリティベンダーと契約することなく、エージェントスキルをインストールまたは公開し、CIに任意のモデルレビューを含む静的ゲートを設けたいチームに適しています。
- チームや本番環境でSkillSpectorを使うと費用はいくらか?
- 有償版はありません。静的スキャンはCIの実行時間を消費します。LLMスキャンはスキルごとにプロバイダーのトークンコストが発生し、JSONレポートに呼び出しごとに記録されます。1回のスキャンのデフォルトの制限時間は18分です。
- SkillSpectorは企業データを扱っても安全か?
- デフォルトで有効なLLM解析は、アナライザーの対象となるファイル内容を設定されたプロバイダーに送信します。--no-llmを指定するとローカルに保持されます。SC4チェックは静的モードであっても依存関係の名前とバージョンをOSV.devに送信します。レポー トは0600の権限で書き込まれます。Apache 2.0ライセンスです。
- SkillSpectorの代わりになるものは?
- 当サイトでレビューした中で最も近い代替はSnyk Agent Scan, Cisco Skill Scanner 、 CC Safety Netです。
回答確認日:2026年10月31日
