エージェントのスキルは入れる前に検査する:NVIDIA の SkillSpector
Claude Code などのスキル(SKILL.md とスクリプト)を、実行せずに静的解析と LLM 評価で調べ、プロンプトインジェクションや持ち出しにつながる記述、既知のマルウェアを点数付きで出すスキャナー。CI でも使える。
いつ使うか
- 他人が公開したスキルやプラグインを入れる前
- チームで共有するスキルのリポジトリに、変更が入るたびに検査をかけたいとき
できること
- 17 カテゴリー 71 パターンを検査。権限昇格や、MCP ツールの説明文に指示を埋め込むツールポイズニングも対象。
- Python の構文木解析・テイント解析、MCP ツールが宣言した権限と実際の動作の照合、YARA による既知マルウェアや Web シェルとの照合。
- 入力は Git リポジトリ、URL、zip、単一ファイル、ディレクトリー。結果は 0〜100 のリスクスコアと導入可否の推奨で、JSON や SARIF で出せる。既知の指摘を除くベースラインや独自 YARA ルールも使える。
- 検査が終わらなかったときや指摘があったときに CI を失敗させる設定がある。
使うときの注意
- LLM 評価は既定で有効で、対象ファイルの中身を設定した LLM に送る。社外に出したくないスキルはローカル LLM か静的解析のみにする。静的解析だけでも依存パッケージ名とバージョンは OSV.dev に問い合わせる。
- 画像の中の文字、暗号化・コンパイル済みのコードは見ない。ファイルを除外した検査では SAFE を出さない。再帰検査は既定で最大 32 スキル。
- Windows ではファイル出力ができず標準出力のみ。
- 点数が低くても安全の証明ではない。手で見る観点は エージェントスキルに隠された指示を見つける(HTML コメント・不可視文字・大量の空行) と AI スキルに書かれた外部ドメイン・URL を「依存」として点検する(OpenAI render-deploy 事例) を参照。