Claude Info
Безопасность

Skill Sentry

mamabearmehmi-hub/skill-sentry

Инструмент для проверки Claude MCP-скиллов на угрозы безопасности до установки. Анализирует код без его выполнения, выявляет вредоносные скрипты, утечки токенов и тайпсквоттинг. Бесплатен, с открытым исходным кодом.

Установка

terminal
bash
npx skill-sentry https://github.com/owner/repo

README


Зачем я это создал

Каждый день я нахожу новые скиллы и MCP-серверы, которые делают разработку с Claude невероятно мощной. Сообщество потрясающее. Люди создают инструменты, превращающие Claude в дизайн-партнёра, менеджера баз данных, движок деплоя.

Но вот что не давало мне покоя: каждый из этих скиллов просит запустить npx или npm install.

Это значит, что вы доверяете чужому коду выполнение на вашей машине. С доступом к вашим файлам. Переменным окружения. SSH-ключам. Токенам.

Я не эксперт по безопасности. Я разработчик, такой же, как вы. Но я достаточно знаю, чтобы бояться postinstall-скрипта, запускающего curl | bash ещё до того, как вы увидите содержимое. Я читал истории об атаках на цепочку поставок. Я видел, что может сделать один вредоносный пакет.

Поэтому я создал себе часового.

Skill Sentry сканирует код вместо вас. Читает каждый файл, проверяет опасные паттерны и выдаёт оценку риска. Без выполнения единой строки проверяемого кода.

Пользуйтесь. Надеюсь, это поможет нам оставаться в безопасности и продолжать создавать прекрасные вещи с Claude.

V | Просто разработчик, который хотел чувствовать себя в безопасности, нажимая «установить»


Что он делает

Skill Sentry — бесплатный сканер безопасности с открытым исходным кодом для экосистемы Claude MCP.

Неважно, называется ли это «Скиллом» или «MCP-сервером». Если есть package.json, Skill Sentry его просканирует.

Сканер проверяет:

Уровень угрозыЧто ищемПочему важно
КРИТИЧЕСКИЙСкрипты postinstall / preinstall с shell-командамиКод выполняется автоматически до того, как вы успеете его проверить
ВЫСОКИЙeval(), child_process, exec(), доступ к SSH-ключамДаёт пакету контроль над всей системой
ВЫСОКИЙЧтение process.env.GITHUB_TOKEN и аналогичных секретовВаши учётные данные могут быть похищены незаметно
СРЕДНИЙОбфусцированные Base64-блоки, незакреплённые зависимости "*"Скрытые полезные нагрузки и риски цепочки поставок
СРЕДНИЙСетевые запросы к paste-сайтам и raw GitHub URLЗагрузка полезных нагрузок во время выполнения

Оценка риска

Каждый скилл получает оценку от 0 (рисков не обнаружено) до 100 (максимальная угроза).

Оценка риска = min(100, сумма всех найденных баллов)
  • 0 = Известные паттерны риска не обнаружены
  • 1–19 = Низкий риск
  • 20–49 = Средний риск (изучите находки)
  • 50–79 = Высокий риск (действуйте с осторожностью)
  • 80–100 = Критический (не устанавливайте)

Верифицированные издатели и обнаружение тайпсквоттинга

Известные легитимные организации (Anthropic, Stripe, GitHub, Supabase и др.) распознаются как верифицированные издатели. Их находки отображаются, но объясняются как ожидаемое поведение. Тулкит Stripe должен читать STRIPE_API_KEY. Это нормально.

Если имя владельца репозитория подозрительно похоже на верифицированного издателя (например, stripee вместо stripe), сканер помечает это как потенциальный тайпсквоттинг: попытку выдать себя за доверенный бренд, чтобы обманом заставить вас установить вредоносный код.


Возможности

  • npm CLI: npx skill-sentry <url> — сканирование из любого терминала без установки
  • Веб-дашборд: таблица всех проверенных скиллов с интерактивными фильтрами и поиском
  • Мгновенное сканирование: вставьте URL — результаты за 5–15 секунд (сканирование на стороне сервера)
  • Простой язык: каждая находка объясняется по-человечески, без жаргона безопасности
  • Вердикт: чёткая рекомендация по каждому сканированию («Рисков не обнаружено» / «Проверьте внимательно» / «Не устанавливайте»)
  • Флаги для CI: --strict и --threshold для автоматической блокировки в пайплайне
  • Автообнаружение: ежедневный скрапер находит новые MCP-репозитории через GitHub API
  • Бесплатно: работает полностью на бесплатном тарифе Vercel + GitHub Actions

Начало работы

Сканирование из терминала (установка не нужна)

npx skill-sentry https://github.com/owner/repo

Вы увидите цветной отчёт с понятным вердиктом:

┌─────────────────────────────────────┐ │ SKILL SENTRY v0.2 │ │ Security scanner for Claude skills │ └─────────────────────────────────────┘ Scanning: https://github.com/owner/repo Cloning and analyzing... ════════════════════════════════════════ NO KNOWN RISK PATTERNS DETECTED ════════════════════════════════════════ Risk Score: 0/100 Files: 42 scanned Findings: 0 issues ✓ No known risk patterns detected All 42 files passed 11 security checks.

Флаги:

  • --json — вывод в формате JSON (для передачи в другие инструменты или CI)
  • --strict — завершение с кодом 1 при любой находке уровня HIGH или CRITICAL
  • --threshold <N> — завершение с кодом 1, если оценка риска >= N (0–100)
  • --help — справка по использованию

Коды завершения (полезно для CI/CD):

  • 0 = находок нет
  • 1 = находки обнаружены (или превышен порог)
  • 2 = ошибка (неверный URL, проблема с сетью)

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

bash
# Блокировать PR, добавляющие опасные MCP-зависимости
npx skill-sentry https://github.com/owner/new-skill --strict || exit 1

# Пользовательский порог: завершить с ошибкой при оценке риска 50 и выше
npx skill-sentry https://github.com/owner/new-skill --threshold 50

Использование дашборда

Откройте живой дашборд и вставьте любой GitHub URL в форму. Результаты появляются прямо на странице за 5–15 секунд — без переходов и ожидания фоновых задач.

Локальный запуск

bash
git clone https://github.com/mamabearmehmi-hub/skill-sentry.git
cd skill-sentry
npm install

Похожие скиллы