cisco-ai-defense/skill-scanner
Security Scanner for Agent Skills
Skill Scanner – AI エージェントスキル向けセキュリティスキャナー
概要 – AI エージェントのスキルパッケージ(例:OpenAI Codex、Cursor、Claude)を静的に分析し、プロンプトインジェクション、データ外部送信、悪意のあるコードなどのリスクパターンを探す、オープンソースのコマンドラインツール(および Python SDK)です。複数の検出エンジン(YAML/YARA シグネチャ、AST ベースのデータフロー解析、オプションの LLM を審判とする判定、CEL ベースの決定レイヤー)を組み合わせ、CI/CD パイプラインに組み込むことができます。
主な機能
| 機能 | 仕組み | 検出対象 |
|---|---|---|
| 静的シグネチャスキャン | YAML ルールファイル + YARA-X パターン | 既知の悪意のある文字列、安全でないコマンド、不審な API 呼び出し |
| バイトコード整合性 | コンパイル済み .pyc ファイルをチェック |
改ざんまたは注入されたバイトコード |
| パイプライン汚染解析 | シェルパイプラインのソース-シンクフローを解析 | コマンドインジェクションベクター |
| 動作 / AST 解析 | 抽象構文木を構築し、データフローを追跡 | プロンプトインジェクション、安全でないデータ処理 |
| LLM 意味解析(オプション) | スキルの説明とコードを LLM(Anthropic または OpenAI)に送信し、応答を検出結果として解釈 | シグネチャが見逃すコンテキストを考慮した悪意のある意図 |
| メタアナライザー(オプション) | 検出結果を関連付け、誤検知をフィルタリングし、重大度をランク付け | 重複するルールからのノイズを削減 |
| クラウドベースの AI 防御 | Cisco の AI-Defense サービスを呼び出して追加スクリーニング | クラウドホスト型の脅威インテリジェンス |
| VirusTotal 統合 | ハッシュルックアップ / オプションのファイルアップロード | スキルにバンドルされている既知のマルウェアバイナリ |
| CEL 決定レイヤー | 公式の cel-go ランタイムを使用して型付きファクトを評価し、ポリシーを適用(オフ / シャドウ / 強制) |
決定論的で制限されたルール適用 |
スキャナーは、単一のスキルディレクトリまたはスキルのリポジトリに対して再帰的に実行でき、結果をさまざまな形式(JSON、SARIF、HTML、Markdown など)で出力できます。
典型的なワークフロー
- インストール –
pip install cisco-ai-skill-scanner(またはuvを使用)。 - 設定 – 使用する LLM またはクラウド API の環境変数を設定します。
- 実行 –
このコマンドは、静的、動作、およびオプションの LLM エンジンを実行し、CEL ポリシーを適用し、GitHub Code Scanning が表示できる SARIF レポートを書き込みます。skill‑scanner scan /path/to/skill \ --use-behavioral --use-llm --enable-meta \ --format sarif --output results.sarif - CI/CD – 再利用可能な GitHub-Actions ワークフローまたは pre-commit フックを追加して、すべてのプルリクエストが自動的にスキャンされるようにします。
- レビュー – HTML または SARIF レポートを確認します。検出結果は重大度(情報、低、中、高、重大)で分類されます。「検出結果なし」はベストエフォートにすぎず、スキルが安全であることを保証するものではありません。
対象ユーザー
- 再利用可能なスキルパッケージを公開し、公開前に自動化されたガードレールを必要とする AI エージェントの開発者。
- AI スキルスキャンを既存の CI パイプラインに統合したいセキュリティチーム。
- 貢献されたスキルにベースラインセキュリティポリシーを適用する必要があるプラットフォームオペレーター(例:内部 AI マーケットプレイス)。
制限事項(README に記載のとおり)
- スキャナーはベストエフォートです。新規またはゼロデイ攻撃技術を検出することはできません。
- 誤検知と見逃しが発生する可能性があります。ポリシーの調整と手動レビューをお勧めします。
- 一部の高度な分析(LLM、クラウド AI-Defense)には外部 API キーが必要で、コストがかかる場合があります。
- CEL ルールセットは現在シャドウモードであり、検出結果は報告されますが、自動的に抑制されることはありません。
クイックスタートチートシート
# インストール
pip install cisco-ai-skill-scanner
# 簡単なスキャン(静的のみ)
skill-scanner scan ./my-skill
# 動作 + LLM + メタフィルタリングを含む完全スキャン
skill-scanner scan ./my-skill \
--use-behavioral --use-llm --enable-meta \
--policy strict --format html --output report.html
# CI 統合(GitHub Actions)
# docs/github-actions.md に示されている再利用可能なワークフローを追加
結論 – Skill Scanner は、AI エージェントスキルパッケージという新しい領域を対象とした、本格的で積極的にメンテナンスされているセキュリティ分析ツールです。従来の静的解析技術と、オプションの LLM 駆動の意味チェック、プログラム可能な CEL ポリシーレイヤーを組み合わせており、ローカル開発者による使用と自動化された CI/CD の適用の両方に適しています。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト