Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
skill-scanner — Security Scanner for Agent Skills | Kitploit
Инструменты/GitHubGitHub/cisco-ai-defense/skill-scanner
Static AnalysisVulnerability ScannersDynamic Analysis (Sandboxing)Code AnalysisMalware AnalysisDevSecOpsSecret DetectionThreat IntelligenceSupply Chain SecurityMachine LearningLearning & EducationAI Security
2.4k30417 дней назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
GitHubcisco-ai-defense/skill-scanner

skill-scanner

Security Scanner for Agent Skills

РепозиторийСайт

Skill Scanner

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

Сканер безопасности на основе best-effort для AI Agent Skills, который обнаруживает инжекцию промптов, утечку данных и вредоносные паттерны кода. Объединяет детектирование на основе паттернов (YAML + YARA), LLM в качестве судьи и поведенческий анализ потоков данных, чтобы максимизировать покрытие вероятных угроз и минимизировать ложные срабатывания.

Важно: Этот сканер обеспечивает обнаружение по принципу best-effort, а не полное или всеобъемлющее покрытие. Сканирование, не выявившее находок, не гарантирует, что навык свободен от всех угроз. См. Область применения и ограничения ниже.

Поддерживает форматы OpenAI Codex Skills и Cursor Agent Skills в соответствии со спецификацией Agent Skills. С опцией --lenient также сканирует нестандартные форматы, такие как .claude/commands/*.md от Claude Code и плоские репозитории навыков в Markdown.


Основные возможности

  • Многодвижковое обнаружение — Статический анализ, поведенческий анализ потоков данных, семантический анализ на основе LLM и облачное сканирование для многоуровневого покрытия по принципу best-effort
  • Фильтрация ложных срабатываний — Мета-анализатор значительно снижает шум, сохраняя детектирующую способность
  • Готовность к CI/CD — Вывод в формате SARIF для GitHub Code Scanning, повторно используемый рабочий процесс GitHub Actions, коды возврата для сбоев сборки
  • Pre-commit Hook — Интеграция со стандартным фреймворком pre-commit для сканирования навыков перед каждым коммитом
  • Расширяемость — Архитектура плагинов для пользовательских анализаторов

Присоединяйтесь к Cisco AI Discord для обсуждения, обратной связи или общения с командой.


Область применения и ограничения

Skill Scanner — это инструмент обнаружения. Он выявляет известные и вероятные паттерны риска, но не сертифицирует безопасность.

Ключевые ограничения:

  • Отсутствие находок ≠ отсутствие риска. Сканирование, вернувшее "Находок нет", означает, что не было обнаружено известных паттернов угроз. Это не гарантирует, что навык безопасен, безвреден или не содержит уязвимостей.
  • Покрытие неизбежно неполное. Сканер сочетает сигнатурное обнаружение, семантический анализ на основе LLM, поведенческий анализ потоков данных, опциональные облачные сервисы и настраиваемые наборы правил. Хотя такой подход улучшает покрытие, ни один автоматизированный инструмент не может обнаружить каждую технику, особенно новые или zero-day атаки.
  • Возможны ложные срабатывания и ложные пропуски. Режимы консенсуса и мета-анализ снижают шум, но ни одна конфигурация не устраняет все неверные классификации. Настройте политику сканирования в соответствии с вашей допустимой степенью риска.
  • Человеческая проверка остаётся обязательной. Автоматизированное сканирование — один из компонентов стратегии эшелонированной защиты. Развёртывания с высоким риском или в production должны сочетать результаты сканирования с ручным анализом кода и/или моделированием угроз.

Документация


Установка

Требования: Python 3.10+ и uv (рекомендуется) или pip

root@kitploit:~
# Используя uv (рекомендуется)
uv pip install cisco-ai-skill-scanner

# Используя pip
pip install cisco-ai-skill-scanner
Дополнительно: облачные провайдеры
root@kitploit:~
# Поддержка AWS Bedrock
pip install cisco-ai-skill-scanner[bedrock]

# Поддержка Google AI Studio / Gemini
pip install cisco-ai-skill-scanner[google]

# Поддержка Google Vertex AI
pip install cisco-ai-skill-scanner[vertex]

# Поддержка Azure OpenAI
pip install cisco-ai-skill-scanner[azure]

# Все облачные провайдеры
pip install cisco-ai-skill-scanner[all]

Быстрый старт

Настройка окружения (опционально)

root@kitploit:~
# Для LLM-анализатора и Мета-анализатора
export SKILL_SCANNER_LLM_API_KEY="your_api_key"
export SKILL_SCANNER_LLM_MODEL="claude-3-5-sonnet-20241022"

# Для сканирования бинарных файлов через VirusTotal
export VIRUSTOTAL_API_KEY="your_virustotal_api_key"

# Для Cisco AI Defense
export AI_DEFENSE_API_KEY="your_aidefense_api_key"

Интерактивный мастер

Не уверены, какие флаги использовать? Запустите skill-scanner без аргументов, чтобы запустить интерактивный мастер:

root@kitploit:~
skill-scanner

Мастер проведёт вас через выбор цели сканирования, анализаторов, политики и формата вывода, затем покажет собранную команду перед выполнением. Отлично подходит для изучения CLI.

Использование CLI

root@kitploit:~
# Сканирование одного навыка (основные анализаторы: статический + байткод + конвейерный)
skill-scanner scan /path/to/skill

# Сканирование с поведенческим анализатором (анализ потоков данных)
skill-scanner scan /path/to/skill --use-behavioral

# Сканирование со всеми движками
skill-scanner scan /path/to/skill --use-behavioral --use-llm --use-aidefense

# Сканирование с мета-анализатором для фильтрации ложных срабатываний
skill-scanner scan /path/to/skill --use-llm --enable-meta

# Сканирование с триггерным анализатором для проверки расплывчатых описаний
skill-scanner scan /path/to/skill --use-trigger

# Запуск LLM-анализатора несколько раз с сохранением результатов, поддержанных большинством
skill-scanner scan /path/to/skill --use-llm --llm-consensus-runs 3

# Сканирование нескольких навыков рекурсивно
skill-scanner scan-all /path/to/skills --recursive --use-behavioral

# Сканирование нескольких навыков с обнаружением перекрытий между навыками
skill-scanner scan-all /path/to/skills --recursive --check-overlap

# Сканирование репозитория GitHub (краткая запись владелец/репозиторий или полный URL)
skill-scanner scan-repo owner/repo
skill-scanner scan-repo https://github.com/owner/repo --use-llm

# Либеральный режим: терпимость к некорректным навыкам вместо ошибки
skill-scanner scan /path/to/skill --lenient
skill-scanner scan-all /path/to/skills --recursive --lenient

# Либеральный режим с нестандартными форматами навыков (SKILL.md не требуется)
skill-scanner scan .claude/commands/deploy --lenient
skill-scanner scan-all .claude/commands --recursive --lenient

# Использование пользовательского имени файла метаданных вместо SKILL.md
skill-scanner scan /path/to/skill --skill-file README.md

# CI/CD: Ошибка сборки при обнаружении угроз
skill-scanner scan-all ./skills --fail-on-severity high --format sarif --output results.sarif

# Генерация интерактивного HTML-отчёта с группами корреляции атак
skill-scanner scan /path/to/skill --use-llm --enable-meta --format html --output report.html

# Использование пользовательских YARA-правил
skill-scanner scan /path/to/skill --custom-rules /path/to/my-rules/

# Использование пользовательской таксономии и профилей карты угроз (JSON/YAML)
skill-scanner scan /path/to/skill --taxonomy /path/to/taxonomy.json --threat-mapping /path/to/threat_mapping.json

# Сканирование хэша VirusTotal с опциональной загрузкой неизвестных файлов
skill-scanner scan /path/to/skill --use-virustotal --vt-upload-files

# Использование предустановки политики сканирования (strict, balanced, permissive)
skill-scanner scan /path/to/skill --policy strict

# Использование пользовательского файла политики организации
skill-scanner scan /path/to/skill --policy my_org_policy.yaml

# Генерация файла политики для настройки
skill-scanner generate-policy -o my_org_policy.yaml

# Интерактивный конфигуратор политики (TUI)
skill-scanner configure-policy

Примечание по провайдерам LLM: --llm-provider в настоящее время принимает anthropic или openai. Для бэкендов Bedrock, Vertex, Azure, Gemini и других LiteLLM задавайте строки модели и переменные окружения, специфичные для провайдера (см. документацию LLM-анализатора).

Python SDK

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

# Создание сканера с анализаторами
scanner = SkillScanner(analyzers=[
    BehavioralAnalyzer(),
])

# Сканирование навыка
result = scanner.scan_skill("/path/to/skill")

print(f"Находок: {len(result.findings)}")
print(f"Макс. серьёзность: {result.max_severity}")

# Примечание: is_safe указывает, что не обнаружено находок уровня HIGH/CRITICAL.
# Это не гарантирует, что навык свободен от всех рисков.
if not result.is_safe:
    print("Обнаружены проблемы — проверьте находки перед развёртыванием")

Анализаторы безопасности


Параметры CLI


Пример вывода

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

============================================================
Навык: my-skill
============================================================
Статус: [OK] Находок нет
Макс. серьёзность: НЕТ
Всего находок: 0
Длительность сканирования: 0.15s

Примечание: "Находок нет" означает, что сканер не обнаружил известных паттернов угроз — это не гарантия того, что навык свободен от всех рисков. См. Область применения и ограничения.


GitHub Actions

Автоматическое сканирование навыков при каждом push или 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

Результаты отображаются в виде встроенных аннотаций в PR через GitHub Code Scanning. См. полное руководство по интеграции LLM, настройке секретов и защите веток.


Pre-commit Hook

Сканирование навыков перед каждым коммитом с использованием фреймворка pre-commit:

root@kitploit:~
# .pre-commit-config.yaml
repos:
  - repo: https://github.com/cisco-ai-defense/skill-scanner
    rev: v1.0.0  # используйте последний релизный тег
    hooks:
      - id: skill-scanner

Или установите встроенный hook напрямую:

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

Hook автоматически определяет, какие директории навыков имеют постановочные изменения, и сканирует только их, что ускоряет коммиты. Используйте --all для сканирования всего.


Участие в разработке

Мы приветствуем ваш вклад! Пожалуйста, ознакомьтесь с CONTRIBUTING.md для получения рекомендаций.

Лицензия

Apache 2.0 — См. LICENSE для подробностей.

Copyright 2026 Cisco Systems, Inc. and its affiliates


GitHub • Discord • PyPI

Скачать инструмент
РуководствоОписание
Быстрый стартНачало работы за 5 минут
АрхитектураСистемный дизайн и компоненты
Таксономия угрозПолная таксономия угроз AITech с примерами
LLM-анализаторКонфигурация и использование LLM
Мета-анализаторФильтрация ложных срабатываний и приоритизация
Поведенческий анализаторДетали анализа потоков данных
Политика сканированияПользовательские политики, предустановки и руководство по настройке
Краткий справочник по политикеКомпактный справочник по секциям и параметрам политики
Создание правилКак добавить сигнатурные, YARA и Python-правила
GitHub ActionsПовторно используемый рабочий процесс для интеграции CI/CD
API-справочникДокументация REST API
Руководство разработчикаУчастие и настройка разработки
АнализаторМетод обнаруженияОбластьТребования
Static (статический)Паттерны YAML + YARAВсе файлыНет
Bytecode (байткод)Проверка целостности .pycБайткод PythonНет
Pipeline (конвейерный)Taint-анализ командКомандные конвейеры (shell pipeline)Нет
Behavioral (поведенческий)AST-анализ потоков данныхФайлы PythonНет
LLMСемантический анализSKILL.md + скриптыAPI-ключ
Meta (мета-анализатор)Фильтрация ложных срабатыванийВсе находкиAPI-ключ
VirusTotalПоиск вредоносного ПО по хэшуБинарные файлыAPI-ключ
AI DefenseОблачный AIТекстовое содержимоеAPI-ключ
ПараметрОписание
--policyПолитика сканирования: имя предустановки (strict, balanced, permissive) или путь к пользовательскому YAML
--use-behavioralВключить поведенческий анализатор (анализ потоков данных)
--use-llmВключить LLM-анализатор (требуется API-ключ)
--llm-providerПровайдер LLM для маршрутизации CLI: anthropic или openai
--llm-consensus-runs NЗапустить LLM-анализ N раз и сохранить находки, поддержанные большинством
--llm-max-tokens NМаксимальное количество выходных токенов для ответов LLM (по умолчанию: 8192)
--use-virustotalВключить сканер бинарных файлов VirusTotal
--vt-api-key KEYУказать API-ключ VirusTotal напрямую (опционально)
--vt-upload-filesЗагружать неизвестные бинарные файлы в VirusTotal (опционально)
--use-aidefenseВключить анализатор Cisco AI Defense
--aidefense-api-url URLПереопределить URL API AI Defense (опционально)
--use-triggerВключить анализатор специфичности триггеров
--enable-metaВключить мета-анализатор для фильтрации ложных срабатываний
--verboseВключать в вывод отпечатки политики для каждой находки, метаданные совместной встречаемости и сохранять ложные срабатывания мета-анализатора
--formatФормат вывода: summary, json, markdown, table, sarif, html. Формат html создаёт самодостаточный интерактивный отчёт со сворачиваемыми группами корреляции, раскрываемыми фрагментами кода и диаграммами потоков taint в конвейерах
--detailedВключать подробные находки в вывод Markdown
--compactКомпактный вывод JSON
--output PATHПуть к выходному файлу по умолчанию (переопределяется --output-<fmt>)
--fail-on-findingsЗавершиться с ошибкой, если найдено HIGH/CRITICAL (сокращение для --fail-on-severity high)
--fail-on-severity LEVELЗавершиться с ошибкой, если существуют находки уровня LEVEL или выше (critical, high, medium, low, info)
--custom-rules PATHИспользовать пользовательские YARA-правила из директории
--taxonomy PATHЗагрузить пользовательский профиль таксономии (JSON/YAML) для этого запуска
--threat-mapping PATHЗагрузить пользовательский профиль карты угроз сканера (JSON) для этого запуска
--lenientТерпимость к некорректным навыкам (принудительно исправлять плохие поля, заполнять значения по умолчанию) вместо ошибки. Когда SKILL.md отсутствует, переключается на сканирование .md файлов в директории
--skill-file FILENAMEПользовательское имя файла метаданных вместо SKILL.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)