CVE MCP Server
MCP-сервер, который дает агенту разбор уязвимостей: данные NVD, EPSS, каталог CISA KEV, связки с MITRE ATT&CK и оценка риска CVE в одном запросе
- 1 776 ★ репозитория
- Последний коммит
- Apache-2.0
Расширенный доступ
Почему такой уровень
- Делает исходящие запросы к внешним API разведки уязвимостей
- Читает из окружения ключи API для части инструментов
Установка
- Работает в
Ручная установка
git clone https://github.com/mukul975/cve-mcp-server.git
cd cve-mcp-server
python -m venv venv && source venv/bin/activate
pip install -e .Требуется Python 3.10 или новее. Ключи API по желанию скопируйте из .env.example в .env.
Доступ и проверки
Как мы проверяемРасширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.
- Делает исходящие запросы к внешним API разведки уязвимостей
- Читает из окружения ключи API для части инструментов
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
Python-сервер на FastMCP запускается по stdio командой python -m cve_mcp.server и отдает агенту 28 инструментов над 24 источниками данных. Базовые из них: lookup_cve тянет запись NVD, get_epss_score дает вероятность эксплуатации, check_kev_status сверяет CVE с каталогом CISA KEV, get_cvss_details разбирает вектор, а get_mitre_techniques и get_cwe_info сопоставляют слабости и приемы ATT&CK. Оркестратор triage_cve запрашивает NVD, EPSS и KEV параллельно, при depth=deep добавляет решение по модели SSVC и при перегрузке NVD берет резервный VulnCheck NVD++. Сводная оценка считается по формуле из CVSS, EPSS, KEV и наличия PoC с множителями, а CVE из KEV не получает ниже уровня CRITICAL. Отдельные инструменты ищут по IP (AbuseIPDB, GreyNoise, Shodan), по файлам и URL (VirusTotal, URLScan) и проверяют зависимости через OSV.dev. Ответы кэшируются в SQLite, а в лог аудита пишутся вызовы.
Для кого. Для специалистов по безопасности, devsecops и разработчиков, которым нужно быстро оценить опасность CVE и приоритизировать патчи.
Подходит, если
- Вышел отчет об уязвимости в Log4j, и вам нужен один ответ: CVSS, EPSS, наличие в KEV, число публичных PoC и срок патча
- В пятницу накопился список из 20 CVE, и bulk_cve_lookup вместе с prioritize_cves упорядочивает их по сводной оценке
- Нужно проверить requirements.txt: scan_dependencies сверяет пакеты и версии с OSV.dev и показывает версии для обновления
- Дежурный безопасник разбирает подозрительный IP и просит агента собрать данные AbuseIPDB, GreyNoise и Shodan в одну сводку
- Руководству нужен краткий отчет по четырем CVE: generate_risk_report собирает таблицу и рекомендации
Не подходит, если
- Нужно искать уязвимости в вашем коде и контейнерах: возьмите Snyk CLI, этот сервер лишь справочник и ничего не сканирует
- Нужны наступательные инструменты вроде nmap и nuclei под управлением агента: смотрите MCP Security Hub, здесь активного сканирования нет
- Нужна оценка по CVSS v4.0: встроенный калькулятор считает только v3.1
- Данные об адресах и хэшах нельзя отправлять внешним службам: инструменты по IP и файлам передают их в сторонние API
Пример запроса к агенту
Проведи triage_cve для CVE-2024-3400 с depth=deep и скажи, нужно ли ставить патч на наши межсетевые экраны сегодня, укажи статус в KEV и значение EPSSMCP
- Транспорт
- stdio, http
- Авторизация
- не нужна
Переменные окружения
NVD_API_KEYсекрет- Ключ NVD, поднимает лимит запросов с пяти до пятидесяти за тридцать секунд.
GITHUB_TOKENсекрет- Токен GitHub для поиска советов по безопасности и публичных PoC, поднимает лимит с шестидесяти до пяти тысяч запросов в час.
ABUSEIPDB_KEYсекрет- Ключ AbuseIPDB, нужен для проверки репутации IP.
VIRUSTOTAL_KEYсекрет- Ключ VirusTotal, нужен для проверки хешей, URL, доменов и IP.
GREYNOISE_API_KEYсекрет- Ключ GreyNoise, нужен для проверки сканирующей активности IP.
SHODAN_KEYсекрет- Ключ Shodan, нужен для разведки хостов, портов и сервисов.
URLSCAN_KEYсекрет- Ключ URLScan.io, расширяет проверку URL и доменов.
Ограничения
Доступ: расширенный. Сервер ничего не пишет в ваши системы и не открывает портов на вашей машине, он ходит по HTTPS во внешние API, а URL отправляет в URLScan. Идентификаторы CVE, IP, хэши, домены и имена пакетов уходят в NVD, VirusTotal, Shodan и другие службы. Кэш и журнал аудита лежат в ~/.cve-mcp. Без ключей работают EPSS, KEV, OSV.dev, MITRE ATT&CK, CWE, разбор CVSS, Ransomwhere и NVD с лимитом 5 запросов за 30 секунд. Для IP, Shodan, VirusTotal и GreyNoise нужны ключи, у GreyNoise бесплатный тариф дает 50 запросов в неделю, у VirusTotal 4 в минуту, CIRCL PDNS выдается по заявке. Нужен Python 3.10 или новее, пакета на PyPI в README нет, установка идет из клона через pip install -e . В README названа лицензия MIT, а GitHub определяет файл LICENSE как Apache 2.0, поэтому сверьте текст перед коммерческим использованием.
Как отключить. Удалите запись cve-mcp из блока mcpServers в конфигурации клиента. Виртуальное окружение и клон репозитория можно удалить отдельно, кэш и журнал лежат в каталоге ~/.cve-mcp.
Частые вопросы
Нужны ли ключи API, чтобы начать?
Нет. Восемь источников работают без ключей: EPSS, CISA KEV, OSV.dev, MITRE ATT&CK, CWE, разбор CVSS, Ransomwhere и NVD с пониженным лимитом. Ключ NVD повышает лимит с 5 до 50 запросов за 30 секунд, его можно получить бесплатно на сайте NIST.
Это инструмент для атак?
Нет. Сервер работает на прием: он собирает справочные данные, не сканирует вашу инфраструктуру и не ведет активных проб. Приватные и зарезервированные IP-диапазоны блокируются до обращения к внешним API.
Как подключить к Claude Code и проверить?
Склонируйте репозиторий, поставьте pip install -e . и выполните claude mcp add cve-mcp -- python -m cve_mcp.server, затем claude mcp list. Первый запрос без ключей: «Что такое CVE-2021-44228 и эксплуатируется ли она?».
Почему Claude Desktop не показывает инструменты?
README перечисляет три причины: ошибка в JSON конфига вроде лишней запятой, относительный путь вместо абсолютного, неполный выход из приложения. После правки конфига закройте Claude Desktop полностью, одной перезагрузки окна мало.
Что делать, если NVD отвечает отказом из-за лимита?
Добавьте NVD_API_KEY в .env, это даст десятикратный запас. Сервер сам ставит лишние запросы в очередь, а в triage_cve при недоступности NVD берется резервный VulnCheck NVD++.
Чем это отличается от Snyk CLI?
Snyk CLI сканирует ваш код, зависимости и контейнеры. Этот сервер ищет сведения о конкретных CVE и угрозах, а из проверок проекта умеет только сверку пакетов через OSV.dev.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
MCP-серверыБесплатный MCP-сервер уязвимостей: CVE, GHSA, OSV, CISA KEV и EPSS в одной записи, плюс проверка файла зависимостей проекта.
cvENGINE находит внешние активы домена и уязвимости, которые уже эксплуатируют, а MCP-сервер ведет сканы из Claude Code
MCP-сервер передает агенту сведения Vulners об уязвимостях, бюллетенях и проблемах установленных версий программ.
Security Detections MCP — база правил детектирования
Security Detections MCP
MCP-сервер собирает правила Sigma, Splunk, Elastic и KQL в одну базу: агент ищет детекторы и пробелы в покрытии ATT&CK
Сканер безопасности для MCP-серверов: ищет зашитые ключи, отравление инструментов и инъекции в коде репозитория.
MCP-сервер для Shodan и CVEDB: разведка по IP и поиск устройств, DNS и сведения об уязвимостях с EPSS и KEV
Коротко о README
README описывает сервер как способ заменить десятки открытых вкладок NVD, EPSS, CISA KEV, Shodan и VirusTotal одним запросом к агенту. Приведены каталог инструментов, установка через pip или uv, настройка ключей по трем уровням приоритета и быстрый старт без ключей. Отдельно разобраны инструмент triage_cve, формула сводной оценки риска, источники данных, приватность и типовые проблемы. Транспорт по умолчанию stdio, для контейнера доступен streamable-HTTP через переменную MCP_TRANSPORT. Есть SQLite-кэш и журнал аудита в каталоге ~/.cve-mcp.