Назад к обновлениям
New releaseSep 8, 2026

SkillSpector v2.11.1

Сканер безопасности для навыков ИИ-агентов. Обнаруживает уязвимости, вредоносные паттерны, риски безопасности, промпт-инъекции, эксфильтрацию данных и риски цепочки поставок в навыках Claude Code, Codex и MCP до их установки.

Поделиться

SkillSpector

Сканер безопасности для навыков AI-агентов. Обнаруживайте уязвимости, вредоносные паттерны и риски безопасности перед установкой навыков агентов.

Python 3.12+ License: Apache 2.0

Обзор

Навыки AI-агентов (используемые Claude Code, Codex CLI, Gemini CLI и др.) выполняются с неявным доверием и минимальной проверкой. В проанализированном подмножестве исследовательского набора данных из 31 132 навыков 26,1% навыков содержат уязвимости, а 5,2% демонстрируют вероятные вредоносные намерения.

SkillSpector помогает ответить на вопрос: «Безопасно ли устанавливать этот навык?»

SkillSpector является частью конвейера NVIDIA Verified Skills, который сканирует, оценивает и подписывает навыки агентов перед публикацией. Навыки, прошедшие проверку, публикуются в каталоге навыков NVIDIA.

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

Возможности

  • Множество форматов ввода: сканирование Git-репозиториев, URL, zip-файлов, каталогов или отдельных файлов
  • 71 паттерн уязвимостей в 17 категориях: внедрение промптов, эксфильтрация данных, повышение привилегий, цепочка поставок, чрезмерная автономность, обработка вывода, утечка системного промпта, отравление памяти, злоупотребление инструментами, неконтролируемый агент, анти-отказ, злоупотребление триггерами, опасный код (AST), отслеживание зависимостей данных, сигнатуры YARA, минимальные привилегии MCP и отравление инструментов MCP
  • Двухэтапный анализ: быстрый статический анализ + опциональная семантическая оценка LLM
  • Поиск уязвимостей в реальном времени: SC4 запрашивает OSV.dev для получения актуальных данных CVE с автоматическим офлайн-резервом
  • Несколько форматов вывода: отчёты в терминале, JSON, Markdown и SARIF
  • Оценка риска: оценка от 0 до 100 с метками серьёзности и чёткими рекомендациями
  • Базовый уровень / подавление ложных срабатываний: принимайте известные находки через glob-правила или базовый уровень по отпечаткам, чтобы повторные сканирования показывали только новые проблемы (документация)

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

Установка

Уведомление об открытом программном обеспечении: Этот проект загрузит и установит дополнительные сторонние проекты открытого программного обеспечения. Ознакомьтесь с условиями лицензий этих проектов перед использованием.

Сначала создайте и активируйте виртуальное окружение (все цели make предполагают активное venv). Используйте uv или pip; Makefile использует uv, если он доступен, иначе pip.

Быстрая установка с uv (только CLI):

uv tool install git+https://github.com/NVIDIA/skillspector.git
# Update later: uv tool update skillspector

Если вы планируете запускать skillspector mcp, установите дополнительный пакет MCP во время установки:

uv tool install 'skillspector[mcp] @ git+https://github.com/NVIDIA/skillspector.git'

Из источника:

# Clone the repository
git clone https://github.com/NVIDIA/skillspector.git
cd skillspector

# Create and activate virtual environment
uv venv .venv && source .venv/bin/activate
# or: python3 -m venv .venv && source .venv/bin/activate

# Install for production use
make install

# Or install with development dependencies
make install-dev

Docker (Python не требуется)

Запустите SkillSpector без установки Python, собрав его локально из прилагаемого Dockerfile. Образ основан на официальном образе Docker Official Python 3.12-slim-bookworm.

Соберите образ:

make docker-build
# or: docker build -t skillspector .

Сканирование локального каталога путём монтирования текущего каталога в /scan — рабочий каталог контейнера:

docker run --rm -v "$PWD:/scan" skillspector scan ./my-skill/ --no-llm

Сканирование с анализом LLM путём передачи учётных данных через локальный файл .env:

cat > .env <<'EOF'
SKILLSPECTOR_PROVIDER=anthropic
ANTHROPIC_API_KEY=sk-ant-...
EOF
docker run --rm \
  -v "$PWD:/scan" \
  --env-file .env \
  skillspector scan ./my-skill/

Или передайте учётные данные напрямую из окружения вашей оболочки:

docker run --rm \
  -v "$PWD:/scan" \
  -e SKILLSPECTOR_PROVIDER=anthropic \
  -e ANTHROPIC_API_KEY="$ANTHROPIC_API_KEY" \
  skillspector scan ./my-skill/

Записать отчёт в файловую систему хоста, записав данные в смонтированный каталог:

docker run --rm --user "$(id -u):$(id -g)" \
  -v "$PWD:/scan" \
  skillspector scan ./my-skill/ --no-llm --format json --output report.json

Необязательный псевдоним для повторяющихся статических сканирований:

alias skillspector-docker='docker run --rm -v "$PWD:/scan" skillspector'
skillspector-docker scan ./my-skill/ --no-llm

Базовое использование

# Scan a local skill directory
skillspector scan ./my-skill/

# Scan a single SKILL.md file
skillspector scan ./SKILL.md

# Scan a Git repository
skillspector scan https://github.com/user/my-skill

# Scan a zip file
skillspector scan ./my-skill.zip

Ограничения размера

SkillSpector применяет два независимых ограничения к удалённым и архивным входным данным, чтобы ограничить влияние слишком больших загрузок и zip-бомб:

  • Ограничение на один приём данных: INGEST_MAX_BYTES (100 MiB) — применяется к потоковым загрузкам по URL, общему распакованному размеру zip-архивов и использованию диска после клонирования Git-репозиториев.
  • Ограничение на элементы zip: INGEST_MAX_ZIP_MEMBERS (10 000) — ограничивает количество записей в одном zip-архиве.

Обратите внимание, что ограничение анализа в 1 МБ на файл (MAX_FILE_BYTES) — это отдельный, нижестоящий лимит: он ограничивает то, что отдельные анализаторы будут читать из уже принятого каталога. Ограничения приёма данных выше ограничивают то, сколько содержимого вообще может оказаться на диске. Нарушение любого из ограничений приёма данных приводит к отказу с ошибкой IngestLimitExceededError.

Форматы вывода

# Terminal output (default) - pretty formatted
skillspector scan ./my-skill/

# JSON output - machine readable
skillspector scan ./my-skill/ --format json --output report.json

# Markdown output - for documentation
skillspector scan ./my-skill/ --format markdown --output report.md

# SARIF output - for CI/CD integration and IDE tooling
skillspector scan ./my-skill/ --format sarif --output report.sarif

Пакетное сканирование

Сканируйте целые каталоги навыков параллельно из contrib/batch_scan/:

Категории