SkillSpector от NVIDIA проверяет навыки ИИ-агентов на наличие вредоносных инструкций, небезопасного кода, доступа к учетным данным, утечки данных, рисков цепочки поставок и других проблем безопасности перед их установкой.

В этом руководстве показано, как установить инструмент, просканировать один навык или целую папку и подключить его к Claude Code в качестве MCP.

---

Что делает SkillSpector

SkillSpector принимает:

  • Локальную директорию навыка
  • Один файл SKILL.md
  • Репозиторий GitHub
  • ZIP-файл
  • Папку, содержащую несколько навыков

Он выдает оценку риска от 0 до 100, уровень серьезности, рекомендацию, вердикт о безопасности и подробные результаты. Инструмент проверяет 68 паттернов уязвимостей в 17 категориях, включая инъекции промптов, сбор переменных окружения, удаленное исполнение кода, закрепление в системе (persistence), опасные зависимости и отравление инструментов MCP.

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

Что вам понадобится

  • macOS, Linux или Windows с Unix-подобным командным интерпретатором
  • Python 3.12+
  • Установленный `uv`
  • Установленный и авторизованный Claude Code, если вы хотите настроить MCP

Официальный репозиторий: NVIDIA/SkillSpector

---

Шаг 1 — Установка сканера

Для стандартного сканера командной строки:

bash
uv tool install git+https://github.com/NVIDIA/skillspector.git

Подтвердите установку:

bash
skillspector --help

Чтобы обновить его позже:

bash
uv tool update skillspector

Шаг 2 — Сканирование одного навыка

Сканирование локальной папки навыка:

bash
skillspector scan ./my-skill/

Сканирование одного файла навыка:

bash
skillspector scan ./SKILL.md

Сканирование репозитория GitHub перед его клонированием или установкой:

bash
skillspector scan https://github.com/user/my-skill

Сканирование загруженного ZIP-архива:

bash
skillspector scan ./my-skill.zip

Шаг 3 — Сканирование существующих навыков Claude

Навыки Claude Code обычно хранятся в .claude/skills внутри проекта или в пользовательской конфигурации Claude.

Из папки проекта выполните:

bash
skillspector scan ./.claude/skills/

Для навыков пользовательского уровня в macOS или Linux используйте:

bash
skillspector scan ~/.claude/skills/

Если ваши навыки находятся в другом месте, замените путь на фактическую папку. SkillSpector обнаружит и просканирует навыки внутри нее.

Шаг 4 — Запуск быстрого только статического сканирования

Обычное сканирование может использовать LLM для семантического анализа. Для более быстрого первого прохода, не требующего API-ключа, добавьте --no-llm:

bash
skillspector scan ./my-skill/ --no-llm

Используйте режим только статического анализа для быстрой первичной оценки. Используйте полное сканирование, когда вам нужен семантический анализ инструкций, которые могут выглядеть безвредными при сопоставлении с шаблонами.

Шаг 5 — Сохранение отчета

Сохранение машиночитаемого JSON:

bash
skillspector scan ./my-skill/ --format json --output report.json

Сохранение читаемого отчета в формате Markdown:

bash
skillspector scan ./my-skill/ --format markdown --output report.md

Сохранение отчета SARIF для инструментов безопасности или CI:

bash
skillspector scan ./my-skill/ --format sarif --output report.sarif

---

Подключение SkillSpector к Claude Code

Это позволяет Claude вызывать сканер как инструмент вместо того, чтобы запускать каждую команду вручную.

Шаг 1 — Установка версии MCP

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

Шаг 2 — Регистрация в Claude Code

bash
claude mcp add skillspector -- skillspector mcp

Шаг 3 — Подтверждение подключения

Откройте Claude Code и выполните:

plain text
/mcp

Найдите skillspector в списке подключенных серверов.

Шаг 4 — Запрос к Claude на сканирование перед установкой

Вставьте URL-адрес GitHub или укажите Claude на локальный навык и используйте:

plain text
Use SkillSpector to scan this skill before I install it. Explain every high or critical finding, tell me what data or tools the skill can access, and do not install it unless I explicitly approve after reviewing the report.

Для существующей папки:

plain text
Use SkillSpector to scan every skill in ~/.claude/skills/. Give me a table with the skill name, risk score, severity, safe-to-install verdict, and the exact action I should take.

Разделяйте процессы установки и сканирования. Claude должен просканировать, объяснить результат и дождаться вашего одобрения перед установкой или включением чего-либо.

---

Как читать результат

Обратите особое внимание на:

  • Risk score — общая оценка риска от 0 до 100
  • Severity — уровень серьезности, присвоенный обнаруженному поведению
  • Recommendation — что SkillSpector предлагает сделать дальше
  • Safe to install — вердикт сканера, а не гарантия
  • Findings — конкретные файлы, строки и шаблоны, которые повлияли на оценку
  • Scan mode — подтверждает, использовался ли только статический анализ или статический + LLM-анализ

«Красные флаги», ради которых стоит остановиться:

  • Чтение переменных окружения, ключей SSH, токенов или файлов паролей
  • Отправка локальных данных на внешние URL-адреса
  • Загрузка и выполнение удаленных скриптов
  • exec, eval, subprocess, os.system или аналогичное выполнение кода
  • Задачи Cron, скрипты автозапуска или другие способы закрепления в системе
  • Обфусцированный Base64 или закодированные команды
  • Разрешения с подстановочными знаками (wildcards) или незадекларированные возможности MCP
  • Инструкции, скрытые в комментариях, Unicode или невидимом тексте

Более безопасный процесс установки

  1. Просканируйте URL-адрес GitHub перед клонированием.
  2. Прочитайте каждое обнаружение с высоким и критическим уровнем серьезности.
  3. Проверьте, соответствуют ли запрошенные разрешения заявленному назначению навыка.
  4. Изучите конкретный файл и строку, которые вызвали срабатывание.
  5. Тестируйте незнакомые навыки в одноразовом проекте без реальных конфиденциальных данных.
  6. Устанавливайте только после того, как поймете, что навык читает, записывает, выполняет и отправляет вовне.
  7. Повторно сканируйте после каждого обновления.

Необязательно — Создание базовой линии

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

bash
skillspector baseline ./my-skill/ -o .skillspector-baseline.yaml

Затем выводите только новые результаты при будущих сканированиях:

bash
skillspector scan ./my-skill/ --baseline .skillspector-baseline.yaml

При необходимости просматривайте подавленные результаты:

bash
skillspector scan ./my-skill/ --baseline .skillspector-baseline.yaml --show-suppressed

Не используйте базовую линию для скрытия результатов, которые вы лично не проверяли.

---

Быстрый старт (копировать/вставить)

bash
# Install CLI
uv tool install git+https://github.com/NVIDIA/skillspector.git

# Scan a downloaded skill
skillspector scan ./my-skill/

# Scan your project skills folder
skillspector scan ./.claude/skills/

# Install MCP support
uv tool install --force 'skillspector[mcp] @ git+https://github.com/NVIDIA/skillspector.git'

# Connect to Claude Code
claude mcp add skillspector -- skillspector mcp

Главное правило

Навык наследует полномочия агента, который его выполняет. Если Claude может читать ваши файлы, использовать ваши учетные данные и управлять подключенными инструментами, небезопасный навык сможет делать то же самое.

Сначала сканируйте. Изучите результаты. Устанавливайте в последнюю очередь.