SafeDep Vet MCP
MCP-сервер SafeDep vet: агент проверяет npm- и PyPI-пакеты на вредонос, уязвимости и подмену имен до того, как их поставят.
- 1 125 ★ репозитория
- Последний коммит
- Apache-2.0
Минимальный доступ
Почему такой уровень
- Читает данные о пакетах из SafeDep и ничего не меняет; на сторону уходят экосистема, имя и версия пакета.
Установка
- Работает в
Ручная установка
brew install vetПервая команда из README версии 1; альтернатива `npm install -g @safedep/vet`.
Доступ и проверки
Как мы проверяемМинимальный доступИнструмент ничего не запускает и не ходит в сеть.
- Читает данные о пакетах из SafeDep и ничего не меняет; на сторону уходят экосистема, имя и версия пакета.
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
vet — инструмент SafeDep для безопасности зависимостей, а в ветке первой версии он работает как MCP-сервер для Claude Code, Cursor и других клиентов. Ассистент сверяет открытый пакет с данными SafeDep до установки: ищет вредоносный код, критические уязвимости и признаки слопсквоттинга, то есть выдуманных моделью имен пакетов, которые захватил злоумышленник. Поддерживаются экосистемы npm и PyPI. Сервер запускается командой `vet server mcp` по stdio или SSE. Для stdio в конфигурации клиента обычно стоит Docker-образ `ghcr.io/safedep/vet`, а для SSE действуют проверки Host и Origin с адресами localhost по умолчанию. Правило для агента простое: перед установкой любого предложенного пакета искать его последнюю версию, и если ее нет, это признак слопсквоттинга. Кроме локального сервера SafeDep держит размещенный MCP с меньшей задержкой и защитой в реальном времени.
Для кого. Разработчикам и командам, которые пишут код с агентами и не хотят, чтобы выдуманное моделью имя пакета принесло вредонос в проект.
Подходит, если
- Агент называет библиотеку для парсинга, и перед установкой ее проверяют на вредоносный код.
- Правило Cursor требует проверять каждый npm- или PyPI-пакет, который появляется в сгенерированном коде.
- Для пакета нужно узнать, есть ли у него последняя версия и критические уязвимости.
- Команда ставит локальный сервер SSE для нескольких редакторов на одном хосте.
Не подходит, если
- Зависимости не из npm и PyPI: MCP-сервер поддерживает только эти экосистемы.
- Нужно сканирование lock-файлов в CI: для этого есть сама утилита `vet scan`.
- Требуется MCP из версии 2: он удален, команда `vet server mcp` есть только в версии 1.
Пример запроса к агенту
Проверь пакет express и пакет с неизвестным именем в npm, прежде чем я поставлю их, и скажи, есть ли вредоносный код или критические уязвимости.MCP
- Транспорт
- stdio, sse
- Авторизация
- не нужна
Ограничения
MCP-сервер описан в документации ветки `main` (версия 1). Основная ветка репозитория теперь версия 2 в альфе, где команда `vet server mcp` удалена, а релиз 1.x остается актуальным. Поддерживаются только npm и PyPI. Для проверки пакет идет в SafeDep: утилита передает экосистему, имя и версию, но не исходный код. Для SSE действуют проверки Host и Origin, при другом порте списки меняют флагами `--sse-allowed-hosts` и `--sse-allowed-origins`. Образу Docker нужно периодически обновляться.
Как отключить. Удалите запись vet-mcp из MCP-конфигурации клиента и правило в `.cursor/rules/vet-mcp.mdc` или `.github/copilot-instructions.md`. Утилита снимается способом, которым ставилась (`brew uninstall vet` или `npm uninstall -g @safedep/vet`).
Частые вопросы
Как подключить vet-mcp к Cursor?
Добавьте в `.cursor/mcp.json` сервер `vet-mcp` с командой `docker` и аргументами `run --rm -i ghcr.io/safedep/vet:latest -l /tmp/vet-mcp.log server mcp`. В `.cursor/rules/vet-mcp.mdc` положите правило проверять каждый предложенный пакет.
Что такое слопсквоттинг?
Атака, при которой злоумышленник регистрирует имя пакета, которое языковая модель выдумала. Если у пакета нет последней версии, документация считает это вероятным признаком слопсквоттинга.
Как запустить сервер по SSE?
Выполните `vet server mcp --server-type sse`. Адреса по умолчанию ограничены localhost с портом 9988, а другие хосты и источники задаются флагами `--sse-allowed-hosts` и `--sse-allowed-origins`.
Какие экосистемы поддерживаются?
Сейчас npm и PyPI. Для других экосистем используйте обычный `vet scan` по lock-файлам.
Куда делся MCP-сервер в версии 2?
В альфе версии 2 команда `vet server mcp` удалена, как сказано в примечаниях к релизу 2.0.0. Версия 1 живет в ветке `main` и считается последним релизом.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
MCP-серверыОфициальный MCP-сервер Socket оценивает безопасность зависимостей npm, PyPI, cargo и других экосистем прямо из диалога с агентом.
Проверка версий пакетов на известные уязвимости до установки: npm, PyPI, Cargo, Go, Maven и еще десяток экосистем, с MCP и хуками
MCP-сервер, который дает агенту разбор уязвимостей: данные NVD, EPSS, каталог CISA KEV, связки с MITRE ATT&CK и оценка риска CVE в одном запросе
Сканер безопасности для агентов: проверяет код, MCP-серверы, промпты и пакеты, выдуманные моделью, и ставит оценку от A до F.
Сканер безопасности для MCP-серверов: ищет зашитые ключи, отравление инструментов и инъекции в коде репозитория.
Плагин и MCP-сервер NPMScan: проверка пакетов npm на вредоносный код и уязвимости, включая install-скрипты и происхождение сборки
Коротко о README
Документ docs/mcp.md ветки `main` описывает запуск по stdio и SSE, защиту Host и Origin и конфигурации для Cursor, VS Code и Claude Code. В примечании SafeDep рекомендует свой размещенный MCP-сервер.