Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
skill-scanner — エージェントスキル向けセキュリティスキャナー | Kitploit
ツール/GitHubGitHub/cisco-ai-defense/skill-scanner
静的分析脆弱性スキャナー動的分析 (サンドボックス)コード分析マルウェア分析DevSecOpsシークレット検出脅威インテリジェンスサプライチェーンセキュリティ機械学習学習と教育AIセキュリティ
2.4k30417日前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有
GitHubcisco-ai-defense/skill-scanner

skill-scanner

エージェントスキル向けセキュリティスキャナー

リポジトリを見るウェブサイト

Skill Scanner

License Python 3.10+ PyPI version CI Discord Cisco AI Defense AI Security Framework Ask DeepWiki

AIエージェントスキル向けのベストエフォート型セキュリティスキャナで、プロンプトインジェクション、データ外部送信、悪意のあるコードパターンを検出します。パターンベース検出(YAML + YARA)、LLM-as-a-judge、ビヘイビアデータフロー解析を組み合わせることで、可能性のある脅威の検出カバレッジを最大化しつつ、誤検知を最小限に抑えます。

重要: このスキャナはベストエフォート型の検出を提供するものであり、包括的または完全なカバレッジを提供するものではありません。findings(検出結果)が返らないスキャンでも、スキルがすべての脅威から解放されていることを保証するものではありません。下記の対象範囲と制限事項を参照してください。

Agent Skills仕様に準拠したOpenAI Codex SkillsおよびCursor Agent Skills形式に対応しています。--lenientを使用すると、Claude Codeの.claude/commands/*.mdやフラットなMarkdown形式のスキルリポジトリなど、非標準形式もスキャンできます。


主な特長

  • マルチエンジン検出 - 静的解析、ビヘイビアデータフロー解析、LLMセマンティック解析、クラウドベーススキャンによる多層的なベストエフォート・カバレッジ
  • 誤検知フィルタリング - メタアナライザが検出能力を維持しながらノイズを大幅に低減
  • CI/CD対応 - GitHub Code Scanning向けSARIF出力、再利用可能なGitHub Actionsワークフロー、ビルド失敗用の終了コード
  • Pre-commitフック - 標準的なpre-commitフレームワークとの統合により、コミットの前にスキルをスキャン
  • 拡張可能 - カスタムアナライザ用のプラグインアーキテクチャ

**Cisco AI Discordに参加**して、ディスカッション、フィードバック共有、チームとの交流ができます。


対象範囲と制限事項

Skill Scannerは検出ツールです。既知および可能性のあるリスクパターンを特定しますが、セキュリティを保証するものではありません。

主な制限事項:

  • findingsなし ≠ リスクなし。 "No findings"(検出なし)を返すスキャンは、既知の脅威パターンが検出されなかったことを示します。スキルが安全、無害、または脆弱性がないことを保証するものではありません。
  • カバレッジは本質的に不完全です。 このスキャナは、シグネチャベースの検出、LLMベースのセマンティック解析、ビヘイビアデータフロー解析、オプションのクラウドサービス、設定可能なルールパックを組み合わせています。このアプローチによりカバレッジは向上しますが、特に新規の攻撃やゼロデイ攻撃など、あらゆる手法を検出できる自動ツールはありません。
  • 誤検知(false positive)と見逃し(false negative)が発生する可能性があります。 コンセンサスモードとメタ解析によってノイズは低減しますが、誤った分類を完全に排除できる設定はありません。スキャンポリシーをリスク許容度に合わせて調整してください。
  • 人間によるレビューは引き続き不可欠です。 自動スキャンは多層防御戦略の一要素です。高リスク環境や本番環境へのデプロイでは、スキャナの結果に手動コードレビューや脅威モデリングを組み合わせてください。

ドキュメント


インストール

前提条件: Python 3.10以上とuv(推奨)またはpip

root@kitploit:~
# Using uv (recommended)
uv pip install cisco-ai-skill-scanner

# Using pip
pip install cisco-ai-skill-scanner
クラウドプロバイダー追加オプション
root@kitploit:~
# AWS Bedrock support
pip install cisco-ai-skill-scanner[bedrock]

# Google AI Studio / Gemini support
pip install cisco-ai-skill-scanner[google]

# Google Vertex AI support
pip install cisco-ai-skill-scanner[vertex]

# Azure OpenAI support
pip install cisco-ai-skill-scanner[azure]

# All cloud providers
pip install cisco-ai-skill-scanner[all]

クイックスタート

環境設定(オプション)

root@kitploit:~
# For LLM analyzer and Meta-analyzer
export SKILL_SCANNER_LLM_API_KEY="your_api_key"
export SKILL_SCANNER_LLM_MODEL="claude-3-5-sonnet-20241022"

# For VirusTotal binary scanning
export VIRUSTOTAL_API_KEY="your_virustotal_api_key"

# For Cisco AI Defense
export AI_DEFENSE_API_KEY="your_aidefense_api_key"

対話型ウィザード

どのフラグを使えばよいか迷っていますか?引数なしでskill-scannerを実行すると、対話型ウィザードが起動します:

root@kitploit:~
skill-scanner

ウィザードでは、スキャン対象、アナライザ、ポリシー、出力形式の選択を順に案内し、実行前に組み立てたコマンドを表示します。CLIの学習に最適です。

CLIの使用方法

root@kitploit:~
# Scan a single skill (core analyzers: static + bytecode + pipeline)
skill-scanner scan /path/to/skill

# Scan with behavioral analyzer (dataflow analysis)
skill-scanner scan /path/to/skill --use-behavioral

# Scan with all engines
skill-scanner scan /path/to/skill --use-behavioral --use-llm --use-aidefense

# Scan with meta-analyzer for false positive filtering
skill-scanner scan /path/to/skill --use-llm --enable-meta

# Scan with trigger analyzer for vague description checks
skill-scanner scan /path/to/skill --use-trigger

# Run LLM analyzer multiple times and keep majority-agreed findings
skill-scanner scan /path/to/skill --use-llm --llm-consensus-runs 3

# Scan multiple skills recursively
skill-scanner scan-all /path/to/skills --recursive --use-behavioral

# Scan multiple skills with cross-skill overlap detection
skill-scanner scan-all /path/to/skills --recursive --check-overlap

# Scan a GitHub repository (owner/repo shorthand or full URL)
skill-scanner scan-repo owner/repo
skill-scanner scan-repo https://github.com/owner/repo --use-llm

# Lenient mode: tolerate malformed skills instead of failing
skill-scanner scan /path/to/skill --lenient
skill-scanner scan-all /path/to/skills --recursive --lenient

# Lenient mode with non-standard skill formats (no SKILL.md required)
skill-scanner scan .claude/commands/deploy --lenient
skill-scanner scan-all .claude/commands --recursive --lenient

# Use a custom metadata filename instead of SKILL.md
skill-scanner scan /path/to/skill --skill-file README.md

# CI/CD: Fail build if threats found
skill-scanner scan-all ./skills --fail-on-severity high --format sarif --output results.sarif

# Generate interactive HTML report with attack correlation groups
skill-scanner scan /path/to/skill --use-llm --enable-meta --format html --output report.html

# Use custom YARA rules
skill-scanner scan /path/to/skill --custom-rules /path/to/my-rules/

# Use custom taxonomy + threat mapping profiles (JSON/YAML)
skill-scanner scan /path/to/skill --taxonomy /path/to/taxonomy.json --threat-mapping /path/to/threat_mapping.json

# VirusTotal hash scan with optional unknown-file uploads
skill-scanner scan /path/to/skill --use-virustotal --vt-upload-files

# Use a scan policy preset (strict, balanced, permissive)
skill-scanner scan /path/to/skill --policy strict

# Use a custom org policy file
skill-scanner scan /path/to/skill --policy my_org_policy.yaml

# Generate a policy file to customise
skill-scanner generate-policy -o my_org_policy.yaml

# Interactive policy configurator (TUI)
skill-scanner configure-policy

LLMプロバイダーに関する注意: 現在--llm-providerはanthropicまたはopenaiを受け付けます。Bedrock、Vertex、Azure、Gemini、その他のLiteLLMバックエンドでは、プロバイダー固有のモデル文字列と環境変数を設定してください(LLM Analyzerのドキュメントを参照)。

Python SDK

root@kitploit:~
from skill_scanner import SkillScanner
from skill_scanner.core.analyzers import BehavioralAnalyzer

# Create scanner with analyzers
scanner = SkillScanner(analyzers=[
    BehavioralAnalyzer(),
])

# Scan a skill
result = scanner.scan_skill("/path/to/skill")

print(f"Findings: {len(result.findings)}")
print(f"Max severity: {result.max_severity}")

# Note: is_safe indicates no HIGH/CRITICAL findings were detected.
# It does not guarantee the skill is free of all risk.
if not result.is_safe:
    print("Issues detected -- review findings before deployment")

セキュリティアナライザ


CLIオプション


出力例

root@kitploit:~
$ skill-scanner scan ./my-skill --use-behavioral

============================================================
Skill: my-skill
============================================================
Status: [OK] No findings
Max Severity: NONE
Total Findings: 0
Scan Duration: 0.15s

注記: "No findings"(検出なし)は、スキャナが既知の脅威パターンを検出しなかったことを意味します。これはスキルがすべてのリスクから解放されていることを保証するものではありません。対象範囲と制限事項を参照してください。


GitHub Actions

再利用可能なワークフローを使用して、プッシュまたはPRのたびにスキルを自動スキャンします:

root@kitploit:~
# .github/workflows/scan-skills.yml
name: Scan Skills
on:
  pull_request:
    paths: [".cursor/skills/**"]
jobs:
  scan:
    uses: cisco-ai-defense/skill-scanner/.github/workflows/scan-skills.yml@main
    with:
      skill_path: .cursor/skills
    permissions:
      security-events: write
      contents: read

結果は、GitHub Code Scanningを通じてPRにインライン注釈として表示されます。LLM統合、シークレット設定、ブランチ保護のセットアップについては、完全ガイドを参照してください。


Pre-commitフック

pre-commitフレームワークを使用して、コミットのたびにスキルをスキャンします:

root@kitploit:~
# .pre-commit-config.yaml
repos:
  - repo: https://github.com/cisco-ai-defense/skill-scanner
    rev: v1.0.0  # use the latest release tag
    hooks:
      - id: skill-scanner

または、内蔵フックを直接インストールします:

root@kitploit:~
skill-scanner-pre-commit install

このフックは、ステージングされた変更のあるスキルディレクトリを自動的に検出し、それらのみをスキャンするため、コミット時間を高速に保てます。すべてをスキャンするには--allを使用してください。


コントリビューション

コントリビューションを歓迎します!ガイドラインについてはCONTRIBUTING.mdをご覧ください。

ライセンス

Apache 2.0 - 詳細はLICENSEを参照してください。

Copyright 2026 Cisco Systems, Inc. and its affiliates


GitHub • Discord • PyPI

ツールをダウンロード
ガイド説明
Quick Start5分で始める
Architectureシステム設計とコンポーネント
Threat Taxonomy例付きの完全なAITech脅威分類
LLM AnalyzerLLMの設定と使用方法
Meta-Analyzer誤検知のフィルタリングと優先順位付け
Behavioral Analyzerデータフロー解析の詳細
Scan Policyカスタムポリシー、プリセット、チューニングガイド
Policy Quick Referenceポリシーのセクションと設定項目のコンパクトなリファレンス
Rule Authoringシグネチャ、YARA、Pythonルールの追加方法
GitHub ActionsCI/CD統合用の再利用可能なワークフロー
API ReferenceREST APIドキュメント
Development Guideコントリビューションと開発環境のセットアップ
アナライザ検出方法対象要件
StaticYAML + YARAパターンすべてのファイルなし
Bytecode.pyc整合性検証Pythonバイトコードなし
Pipelineコマンドtaint解析シェルパイプラインなし
BehavioralASTデータフロー解析Pythonファイルなし
LLMセマンティック解析SKILL.md + スクリプトAPIキー
Meta誤検知フィルタリングすべてのfindingsAPIキー
VirusTotalハッシュベースのマルウェア検出バイナリファイルAPIキー
AI DefenseクラウドベースAIテキストコンテンツAPIキー
オプション説明
--policyスキャンポリシー:プリセット名(strict、balanced、permissive)またはカスタムYAMLへのパス
--use-behavioralビヘイビアアナライザ(データフロー解析)を有効化
--use-llmLLMアナライザを有効化(APIキーが必要)
--llm-providerCLIルーティング用のLLMプロバイダー:anthropicまたはopenai
--llm-consensus-runs NLLM解析をN回実行し、多数決で同意されたfindingsのみを保持
--llm-max-tokens NLLM応答の最大出力トークン数(デフォルト:8192)
--use-virustotalVirusTotalバイナリスキャナを有効化
--vt-api-key KEYVirusTotal APIキーを直接指定(オプション)
--vt-upload-files不明なバイナリをVirusTotalにアップロード(オプション)
--use-aidefenseCisco AI Defenseアナライザを有効化
--aidefense-api-url URLAI Defense API URLを上書き(オプション)
--use-triggerトリガー特異性アナライザを有効化
--enable-meta誤検知フィルタリング用のメタアナライザを有効化
--verbosefindingsごとのポリシーフィンガープリントと共起メタデータを含め、メタアナライザの誤検知を保持
--format出力形式:summary、json、markdown、table、sarif、html。html形式は、折りたたみ可能な相関グループ、展開可能なコードスニペット、パイプラインtaintフロー図を備えた自己完結型の対話式レポートを生成します
--detailedMarkdown出力に詳細なfindingsを含める
--compactコンパクトなJSON出力
--output PATHデフォルトの出力ファイルパス(--output-<fmt>で上書き)
--fail-on-findingsHIGH/CRITICALが見つかった場合にエラー終了(--fail-on-severity highの短縮形)
--fail-on-severity LEVELLEVEL以上のfindingsが存在する場合にエラー終了(critical、high、medium、low、info)
--custom-rules PATHディレクトリからカスタムYARAルールを使用
--taxonomy PATHこの実行でカスタムtaxonomyプロファイル(JSON/YAML)を読み込む
--threat-mapping PATHこの実行でカスタム脅威マッピングプロファイル(JSON)を読み込む
--lenient不正な形式のスキルを失敗させる代わりに許容(不正なフィールドを変換し、デフォルト値を補完)。SKILL.mdがない場合は、ディレクトリ内の.mdファイルのスキャンにフォールバック
--skill-file FILENAMESKILL.mdの代わりに使用するカスタムメタデータファイル名(例:README.md)
--check-overlap(scan-all)スキル間の説明文の重複チェックを有効化
コマンド説明
(コマンドなし)対話型スキャンウィザードを起動(ターミナルで実行した場合)
interactive対話型スキャンウィザードを起動(明示的)
scan単一のスキルディレクトリをスキャン
scan-all複数のスキルをスキャン(--recursive、--check-overlapと併用可能)
generate-policyカスタマイズ用のスキャンポリシーYAMLを生成
configure-policyカスタムスキャンポリシーを構築・編集する対話型TUI(--input対応)
list-analyzers利用可能なアナライザを表示
validate-rulesルールシグネチャを検証(--rules-file対応)