SkillSpector:AIエージェントスキルの安全性を検証するNVIDIA製オープンソースセキュリティスキャナー

SkillSpectorは、NVIDIAが公開したオープンソースのスキャナーで、エージェントスキルを読み込み、それをインストールしてよいかどうかを判定します。ディレクトリ、zipファイル、単一のSKILL.md、あるいはGit URLを指定するだけで、検出結果の一覧とリスクスコア、推奨事項を返してくれます。

Image

スキャン対象となるフォルダは、ユーザーが持つあらゆる権限で実行されます。スキルとはエージェントに指示を与えるMarkdownであり、シェルや環境変数、SSHディレクトリにアクセスするPythonスクリプトが同梱されている場合もあります。リスクが集中するのはこのスクリプトの部分です。このツールの土台となった研究によれば、スクリプトを同梱するスキルは脆弱性を抱えている可能性が2.12倍高いことが分かっています。それでもエージェントは、これらのスキルを信頼して読み込んでしまいます。

スキルの読み取り方法

最初のパスは静的解析で、数秒で完了します。AST(抽象構文木)を走査し、exec、eval、subprocess、動的インポートを検出します。テイント追跡機能は、環境変数やファイル内容がネットワークのシンク(送信先)に至るまでの流れを追跡します。YARAルールは、既知のマルウェア、Webシェル、クリプトマイナーとの照合を行います。

残り64種類の検出パターンは正規表現解析エンジンが処理し、プロンプトインジェクション、認証情報へのアクセス、メモリポイズニング、タイポスクワッティングされた依存関係、cronジョブによる永続化などをカバーしています。

中にはスキルがプロンプトであるがゆえに存在するパターンもあります。あるパターンは、組み込みコマンドを覆い隠すようなトリガーを検出します。これにより、ユーザーが普通の言葉を入力しただけなのに、エージェントがそのスキルを呼び出してしまうケースを見つけ出します。別のパターンは、ツールのメタデータに含まれるホモグリフ(見た目が似た別の文字)や右から左への書字方向の上書き指定を検出します。さらに別のパターンは、ゼロ幅文字や、人間のレビュアーがつい読み飛ばしてしまうようなHTMLコメントに埋め込まれた指令を検出します。

依存関係のチェックはネットワークを通じて行われます。SkillSpectorはスキルのパッケージリストをまとめてOSV.dev に一括クエリし、既知のCVEを取得したうえで、その結果を1時間キャッシュします。エアギャップ環境で実行する場合は、内蔵の小規模なリストにフォールバックします。

2番目のパスはオプションで、動作は遅くなり、デフォルトでは無効になっています。利用するにはOpenAI互換のエンドポイントとAPIキーが必要で、SKILLSPECTOR_PROVIDER経由で設定します(デフォルトはNVIDIA自身が提供するbuild.nvidia.comです)。これを設定すると、LLMが検出されたコードを文脈込みで読み取り、誤検出を除外したうえで、対応可能な説明文を作成します。プロジェクト側の発表によれば、この精度はおよそ87%だとしています。なお、解析対象そのものがモデルへの指示セットであるという性質上、プロンプトにはジェイルブレイク対策の指示が組み込まれています。

スコアの算出方法

検出結果ごとに点数が加算されます。重大度が「critical」の検出結果は最も高いコストがかかり、「low」の検出結果は最もコストが低くなります。そして、スケール上で50点を超えた場合は「インストール非推奨」という判定が返されます。

実行可能なコンテンツが含まれる場合、この結果は1.3倍に乗算されます。Pythonスクリプトを同梱するスキルにおいて、重大度「high」の検出結果が2件あるだけで、それだけで「インストール非推奨」のラインを超えてしまいます。

出力結果の活用方法

ターミナル出力では、スコア、ファイル一覧、そして行番号と信頼度の数値を伴った各検出結果が人間向けに提示されます。同じスキャンから、スクリプティング用のJSON、レビュースレッド用のMarkdown、そしてCI用のSARIFも出力されます。SARIF形式であれば、検出結果をパイプラインの他のセキュリティ結果と同じ場所に配置できます。

--no-llmフラグを指定すると、2番目のパスを省略できます。スキャンは高速に終わりますが、その分ふるいにかけるべき誤検出も増えます。ただし、この場合でもネットワークへのアクセスは発生します。OSV.dev への照会は静的解析パスの中で行われるためです。オフライン動作はこれとは別の条件であり、その場合はリアルタイムのCVEデータが利用できなくなるという代償を伴います。

SkillSpectorはGitHubで無料公開されています。

翻訳元: https://www.helpnetsecurity.com/2026/08/03/skillspector-open-source-agent-skill-security-scanner/

ソース: helpnetsecurity.com