<p align="center">
  <a href="README.md">English</a> |
  <a href="README.zh.md">简体中文</a> |
  <a href="README.zh-TW.md">繁體中文</a> |
  <a href="README.ko.md">한국어</a> |
  <a href="README.de.md">Deutsch</a> |
  <a href="README.es.md">Español</a> |
  <a href="README.fr.md">Français</a> |
  <a href="README.it.md">Italiano</a> |
  <a href="README.da.md">Dansk</a> |
  <a href="README.ja.md">日本語</a> |
  <a href="README.pl.md">Polski</a> |
  <a href="README.ru.md">Русский</a> |
  <a href="README.bs.md">Bosanski</a> |
  <a href="README.ar.md">العربية</a> |
  <a href="README.no.md">Norsk</a> |
  <a href="README.pt-BR.md">Português (Brasil)</a> |
  <a href="README.th.md">ไทย</a> |
  <a href="README.tr.md">Türkçe</a> |
  <strong>Українська</strong> |
  <a href="README.bn.md">বাংলা</a> |
  <a href="README.el.md">Ελληνικά</a> |
  <a href="README.vi.md">Tiếng Việt</a> |
  <a href="README.hi.md">हिन्दी</a>
</p>

<p align="center">
  <br>
  <picture>
    <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/badchars/cve-mcp/main/.github/banner-dark.svg">
    <source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/badchars/cve-mcp/main/.github/banner-light.svg">
    <img alt="cve-mcp" src="https://raw.githubusercontent.com/badchars/cve-mcp/main/.github/banner-dark.svg" width="700">
  </picture>
</p>

<h3 align="center">CVE та розвідка вразливостей для AI-агентів.</h3>

<p align="center">
  NVD, EPSS, CISA KEV, GitHub Advisory, OSV, Shodan, VulnCheck, Vulners, Nuclei, Metasploit, CIRCL, AttackerKB та MITRE ATT&amp;CK &mdash; об'єднані в одному MCP сервері.<br>
  Ваш AI-агент отримує <b>розвідку вразливостей на вимогу</b>, а не 200-сторінковий звіт.
</p>

<br>

<p align="center">
  <a href="#проблема">Проблема</a> &bull;
  <a href="#чим-відрізняється">Чим відрізняється</a> &bull;
  <a href="#швидкий-старт">Швидкий старт</a> &bull;
  <a href="#що-може-ai">Що може AI</a> &bull;
  <a href="#довідник-інструментів-41-інструмент">Інструменти</a> &bull;
  <a href="#джерела-даних">Джерела даних</a> &bull;
  <a href="#архітектура">Архітектура</a>
</p>

<p align="center">
  <a href="https://www.npmjs.com/package/cve-mcp"><img src="https://img.shields.io/npm/v/cve-mcp.svg" alt="npm"></a>
  <a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-blue.svg" alt="License"></a>
  <img src="https://img.shields.io/badge/runtime-Bun-f472b6" alt="Bun">
  <img src="https://img.shields.io/badge/protocol-MCP-8b5cf6" alt="MCP">
  <img src="https://img.shields.io/badge/tools-41-f97316" alt="41 Tools">
  <img src="https://img.shields.io/badge/sources-11-ef4444" alt="11 Sources">
</p>

---

## Проблема

Розвідка вразливостей розкидана по кількох базах даних. NVD містить деталі CVE. EPSS повідомляє ймовірність експлуатації. CISA KEV відстежує активно експлуатовані вразливості. GitHub Advisory покриває пакети з відкритим кодом. OSV відображає вразливості на конкретні версії пакетів. Shodan відстежує інтернет-експозицію. Nuclei та Metasploit повідомляють, чи існує робочий експлойт. Жоден інструмент не об'єднує їх усі, і жоден не працює з AI-агентами.

```
Традиційний робочий процес:
  пошук в NVD для деталей CVE               →  навігація незручним Web UI
  перевірка EPSS для ризику експлуатації     →  окремий API, окремий формат
  перевірка статусу CISA KEV                 →  завантаження JSON-каналу вручну
  пошук GitHub advisories                    →  ще один інтерфейс
  запит OSV для впливу на пакети             →  інший API, інша схема
  перевірка Shodan на експозицію             →  окрема підписка
  пошук експлойтів Nuclei/MSF               →  ручний пошук на GitHub
  маппінг на техніки ATT&CK                  →  окремий запит до MITRE
  кореляція всього                           →  копіювання-вставка в таблицю
  ──────────────────────────────────
  Всього: 30+ хвилин на CVE, довше для масового тріажу
```

**cve-mcp** надає вашому AI-агенту 41 інструмент через [Model Context Protocol](https://modelcontextprotocol.io). Агент запитує 11 джерел паралельно, корелює дані, виявляє сигнали озброєння, розраховує оцінки ризику та повідомляє вам, що саме важливо.

```
З cve-mcp:
  Ви: "Пріоритизуй ці 10 CVE за реальним ризиком експлуатації"

  Агент: → отримує бали CVSS з NVD
         → отримує ймовірність експлуатації EPSS для кожного
         → перевіряє CISA KEV для активно експлуатованих
         → перехресно перевіряє GitHub advisories для патчів
         → "3 критичних: CVE-2024-3400 (EPSS 97%, в KEV),
            CVE-2023-44487 (HTTP/2 rapid reset, EPSS 96%),
            CVE-2021-44228 (Log4Shell, EPSS 97%, в KEV).
            Ось патчі та вразливі версії..."
```

---

## Чим відрізняється

Існуючі інструменти дають вам сирі дані. cve-mcp дає вашому AI-агенту здатність аналізувати вразливості.

<table>
<thead>
<tr>
<th></th>
<th>Традиційні інструменти</th>
<th>cve-mcp</th>
</tr>
</thead>
<tbody>
<tr>
<td><b>Інтерфейс</b></td>
<td>Web UI / CLI / прямі виклики API</td>
<td>MCP &mdash; AI-агент викликає інструменти через розмову</td>
</tr>
<tr>
<td><b>Джерела даних</b></td>
<td>Одна база даних за раз</td>
<td>11 джерел паралельно: NVD, EPSS, KEV, GHSA, OSV, Shodan, VulnCheck, Vulners, Nuclei, Metasploit, CIRCL</td>
</tr>
<tr>
<td><b>Оцінка ризику</b></td>
<td>Тільки CVSS (серйозність, не експлуатованість)</td>
<td>CVSS &times; EPSS &times; KEV &times; множник експлойту (Nuclei/MSF) = реальний ризик</td>
</tr>
<tr>
<td><b>Кореляція</b></td>
<td>Ручне копіювання-вставка</td>
<td>Агент збагачує: "CVSS 9.8, EPSS 97%, KEV, шаблон Nuclei існує, модуль MSF доступний, маппіться на T1190"</td>
</tr>
<tr>
<td><b>Масовий тріаж</b></td>
<td>Одна CVE за раз</td>
<td>Агент пріоритизує 50 CVE в одній розмові</td>
</tr>
<tr>
<td><b>Вплив на пакети</b></td>
<td>Окремий пошук OSV/GHSA</td>
<td>Агент автоматично знаходить вразливі пакети та версії</td>
</tr>
<tr>
<td><b>Залежності</b></td>
<td>Важкі CLI-інструменти, середовища Python</td>
<td>2 runtime залежності, запускається через npx</td>
</tr>
</tbody>
</table>

---

## Швидкий старт

### Варіант 1: npx (без встановлення)

```bash
npx cve-mcp
```

### Варіант 2: Clone

```bash
git clone https://github.com/badchars/cve-mcp.git
cd cve-mcp
bun install
```

### Змінні середовища (необов'язково)

```bash
# Збільшує ліміт запитів NVD з 5 до 50 за 30 секунд
export NVD_API_KEY=your-nvd-api-key

# Вмикає пошук GitHub Advisory (60 → 5000 запитів/годину)
export GITHUB_TOKEN=ghp_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

# VulnCheck розширений KEV, CPE, PURL пошук
export VULNCHECK_API_KEY=your-vulncheck-key

# Vulners пошук вразливостей по 200+ джерелах
export VULNERS_API_KEY=your-vulners-key

# AttackerKB оцінки спільноти
export ATTACKERKB_API_KEY=your-attackerkb-key
```

Всі необов'язкові. Сервер працює без них — деякі інструменти лише мають нижчі ліміти запитів або обмежені дані.

### Підключення до вашого AI-агента

<details open>
<summary><b>Claude Code</b></summary>

```bash
# З npx
claude mcp add cve-mcp -- npx cve-mcp

# З локальним клоном
claude mcp add cve-mcp -- bun run /path/to/cve-mcp/src/index.ts
```

</details>

<details>
<summary><b>Claude Desktop</b></summary>

Додайте до `~/Library/Application Support/Claude/claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "cve-mcp": {
      "command": "npx",
      "args": ["cve-mcp"],
      "env": {
        "NVD_API_KEY": "optional-key",
        "GITHUB_TOKEN": "optional-token",
        "VULNCHECK_API_KEY": "optional-key",
        "VULNERS_API_KEY": "optional-key",
        "ATTACKERKB_API_KEY": "optional-key"
      }
    }
  }
}
```

</details>

<details>
<summary><b>Cursor / Windsurf / інші MCP клієнти</b></summary>

Той самий формат JSON конфігурації. Вкажіть команду на `npx cve-mcp` або шлях до вашої інсталяції.

</details>

### Почніть запитувати

```
Ви: "Що ти знаєш про CVE-2024-3400?"
```

Це все. Агент подбає про решту.

---

## Що може AI

### Реагування на інциденти

```
Ви: "Нас атакували через CVE-2024-3400. Дай мені все."

Агент: → cve_enrich {cveId: "CVE-2024-3400"}
       → NVD: PAN-OS command injection, CVSS 10.0
       → EPSS: 97.2% ймовірність експлуатації
       → KEV: Додано 2024-04-12, термін 2024-05-01
       → Shodan: 4 CPE, доступний з інтернету
       → Nuclei: Шаблон виявлення існує (critical)
       → Metasploit: Модуль експлойту доступний (excellent rank)
       → "Критично. Озброєний — існують модулі Nuclei та MSF.
          PAN-OS GlobalProtect, версії < 10.2.9-h1.
          Негайно встановіть патч. Термін CISA: 1 травня."
```

### Пріоритизація вразливостей

```
Ви: "Пріоритизуй ці CVE з нашого сканування: CVE-2021-44228, CVE-2024-3400,
      CVE-2023-44487, CVE-2024-21762, CVE-2023-4966"

Агент: → cve_prioritize {cves: [...]}
       → Ранжує за CVSS × EPSS × множник KEV
       → "#1: CVE-2024-3400 (ризик: 19.44, CVSS 10.0, EPSS 97%, KEV)
          #2: CVE-2021-44228 (ризик: 19.40, CVSS 10.0, EPSS 97%, KEV)
          #3: CVE-2023-4966 (ризик: 19.10, CVSS 9.4, EPSS 97%, KEV)
          Всі 5 в CISA KEV — негайно пропатчіть усі."
```

### Аудит залежностей

```
Ви: "Перевір, чи мають lodash 4.17.20 та django 3.2.0 відомі вразливості"

Агент: → osv_batch {queries: [
          {package: "lodash", version: "4.17.20", ecosystem: "npm"},
          {package: "django", version: "3.2.0", ecosystem: "PyPI"}
       ]}
       → "lodash 4.17.20: 3 вразливості (prototype pollution)
          django 3.2.0: 12 вразливостей (SQL injection, XSS)
          Оновіть lodash до 4.17.21+, django до 4.2+"
```

### Моніторинг загроз

```
Ви: "Які CVE найбільш вірогідно будуть експлуатовані прямо зараз?"

Агент: → cve_trending {limit: 10, minEpss: 0.9}
       → "Топ-10 за ймовірністю експлуатації:
          1. CVE-2024-3400 — PAN-OS (EPSS 97.2%, CVSS 10.0, KEV)
          2. CVE-2023-44487 — HTTP/2 Rapid Reset (EPSS 96.5%, CVSS 7.5, KEV)
          ..."
```

### Глибокий аналіз CVSS (v3.1 та v4.0)

```
Ви: "Розбери цей CVSS v4.0 вектор: CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N"

Агент: → cvss_parse {vector: "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N"}
       → "CVSS v4.0 — Оцінка: 9.3 (КРИТИЧНИЙ)
          Мережева атака, низька складність, без вимог до атаки.
          Привілеї не потрібні, взаємодія користувача не потрібна.
          Вразлива система: повний вплив на C/I/A.
          Наступні системи: без впливу."
```

### Маппінг ATT&CK

```
Ви: "Зіставити CVE-2024-3400 з техніками MITRE ATT&CK"

Агент: → cve_to_attack {cweIds: ["CWE-77"]}
       → "CWE-77 (Command Injection) маппіться на:
          T1059 — Command and Scripting Interpreter (Execution)
          T1190 — Exploit Public-Facing Application (Initial Access)"
```

---

## Довідник інструментів (41 інструмент)

<details>
<summary><b>NVD (4)</b></summary>

| Інструмент | Опис |
|------|-------------|
| `nvd_search` | Пошук CVE за ключовим словом, серйозністю, CWE, діапазоном дат |
| `nvd_get` | Отримання повних деталей CVE (CVSS, CWE, CPE, посилання) |
| `nvd_recent` | Нещодавно опубліковані/змінені CVE |
| `cve_by_product` | Пошук CVE за назвою продукту (збіг ключових слів CPE) |

</details>

<details>
<summary><b>EPSS (2)</b></summary>

| Інструмент | Опис |
|------|-------------|
| `epss_score` | Ймовірність експлуатації EPSS для однієї або кількох CVE |
| `epss_top` | Топ CVE за ймовірністю експлуатації |

</details>

<details>
<summary><b>KEV (3)</b></summary>

| Інструмент | Опис |
|------|-------------|
| `kev_check` | Перевірка, чи є CVE в каталозі CISA Known Exploited Vulnerabilities |
| `kev_search` | Пошук KEV за виробником, продуктом або ключовим словом |
| `kev_recent` | Нещодавно додані записи KEV |

</details>

<details>
<summary><b>GHSA (2)</b></summary>

| Інструмент | Опис |
|------|-------------|
| `ghsa_search` | Пошук GitHub security advisories за ключовим словом, екосистемою, серйозністю |
| `ghsa_get` | Отримання деталей advisory за GHSA ID або CVE ID |

</details>

<details>
<summary><b>OSV (3)</b></summary>

| Інструмент | Опис |
|------|-------------|
| `osv_query` | Запит вразливостей для конкретної версії пакету |
| `osv_get` | Отримання деталей вразливості за OSV/GHSA/CVE ID |
| `osv_batch` | Пакетний запит кількох пакетів одночасно |

</details>

<details>
<summary><b>Exploit (1)</b></summary>

| Інструмент | Опис |
|------|-------------|
| `exploit_search` | Пошук публічних PoC експлойтів (GitHub репозиторії) |

</details>

<details>
<summary><b>Shodan (3)</b></summary>

| Інструмент | Опис |
|------|-------------|
| `shodan_cve` | CVE пошук через Shodan CVEDB (EPSS, KEV, CPE інтегровано, без аутентифікації) |
| `shodan_product` | Пошук CVE за назвою продукту/виробника через Shodan |
| `shodan_ip_vulns` | Отримання відомих вразливостей для IP-адреси (InternetDB) |

</details>

<details>
<summary><b>VulnCheck (3)</b></summary>

| Інструмент | Опис |
|------|-------------|
| `vulncheck_kev` | Розширений каталог KEV (~80% більше записів ніж CISA) |
| `vulncheck_cpe` | Пошук CVE за рядком CPE |
| `vulncheck_purl` | Пошук CVE за Package URL (purl) |

</details>

<details>
<summary><b>Vulners (2)</b></summary>

| Інструмент | Опис |
|------|-------------|
| `vulners_lookup` | Деталі CVE з Vulners (200+ джерел, посилання на експлойти) |
| `vulners_search` | Повнотекстовий пошук вразливостей по базі Vulners |

</details>

<details>
<summary><b>Nuclei & Metasploit (2)</b></summary>

| Інструмент | Опис |
|------|-------------|
| `nuclei_check` | Перевірка існування шаблону виявлення Nuclei для CVE |
| `msf_check` | Перевірка існування модуля експлойту Metasploit для CVE |

</details>

<details>
<summary><b>CPE (2)</b></summary>

| Інструмент | Опис |
|------|-------------|
| `cpe_search` | Пошук у словнику NVD CPE за ключовим словом |
| `cpe_match` | Отримання збігів CPE для конкретного CVE |

</details>

<details>
<summary><b>CIRCL (1)</b></summary>

| Інструмент | Опис |
|------|-------------|
| `circl_cve` | Збагачення CVE з CIRCL (маппінг CAPEC, альтернативні посилання, вектори впливу) |

</details>

<details>
<summary><b>AttackerKB (1)</b></summary>

| Інструмент | Опис |
|------|-------------|
| `attackerkb_assess` | Оцінки спільноти з AttackerKB (цінність для атакуючого, експлуатованість) |

</details>

<details>
<summary><b>ATT&CK (1)</b></summary>

| Інструмент | Опис |
|------|-------------|
| `cve_to_attack` | Маппінг CWE ID з CVE на техніки та тактики MITRE ATT&CK |

</details>

<details>
<summary><b>CWE (4)</b></summary>

| Інструмент | Опис |
|------|-------------|
| `cwe_lookup` | Пошук слабкості CWE за ID або за ключовим словом (статична БД) |
| `cwe_get` | Повні деталі CWE з MITRE API (1000+ CWE, заходи, приклади) |
| `cwe_hierarchy` | Ієрархія батько/нащадок CWE з MITRE API |
| `cwe_top25` | MITRE CWE Top 25 Most Dangerous Software Weaknesses |

</details>

<details>
<summary><b>CVSS (1)</b></summary>

| Інструмент | Опис |
|------|-------------|
| `cvss_parse` | Розбір та пояснення рядка вектора CVSS v3.1 або v4.0 з розрахунком оцінки |

</details>

<details>
<summary><b>Meta (6)</b></summary>

| Інструмент | Опис |
|------|-------------|
| `cve_enrich` | Повне збагачення: NVD + EPSS + KEV + GHSA + OSV + Shodan + Nuclei + MSF паралельно |
| `cve_prioritize` | Ранжування CVE за ризиком (CVSS &times; EPSS &times; KEV &times; множник експлойту) |
| `cve_trending` | Поточні трендові CVE за ймовірністю експлуатації |
| `cve_compare` | Порівняння двох CVE поруч |
| `cve_list_sources` | Список усіх 11 джерел даних та їхньої доступності |
| `cve_report` | Генерація звіту про вразливості у форматі markdown |

</details>

---

## Джерела даних

| Джерело | Автентифікація | Що надає |
|--------|------|-----------------|
| [NVD](https://nvd.nist.gov/) | `NVD_API_KEY` необов'язково | Деталі CVE, оцінки CVSS, відображення CWE, вразливі продукти CPE, посилання |
| [EPSS](https://www.first.org/epss/) | Немає | Оцінка ймовірності експлуатації (0-1) та рейтинг перцентилів |
| [CISA KEV](https://www.cisa.gov/known-exploited-vulnerabilities-catalog) | Немає | Відомі експлуатовані вразливості з термінами усунення |
| [GitHub Advisory](https://github.com/advisories) | `GITHUB_TOKEN` необов'язково | Advisories безпеки відкритого коду, вразливі пакети, серйозність |
| [OSV](https://osv.dev/) | Немає | Дані про вразливості на рівні пакетів у 16+ екосистемах |
| [Shodan CVEDB](https://cvedb.shodan.io/) | Немає | CVE пошук з інтегрованим EPSS/KEV/CPE, сканування вразливостей IP |
| [VulnCheck](https://vulncheck.com/) | `VULNCHECK_API_KEY` необов'язково | Розширений KEV (~80% більше записів), пошук за CPE/PURL |
| [Vulners](https://vulners.com/) | `VULNERS_API_KEY` необов'язково | Пошук вразливостей по 200+ джерелах, посилання на експлойти |
| [Nuclei Templates](https://github.com/projectdiscovery/nuclei-templates) | Немає | Перевірка існування шаблону виявлення CVE (серйозність, теги) |
| [Metasploit](https://github.com/rapid7/metasploit-framework) | Немає | Перевірка існування модуля експлойту (тип, ранг, шлях) |
| [CIRCL](https://cve.circl.lu/) | Немає | Збагачення CVE з маппінгом CAPEC, альтернативні посилання, вектори впливу |
| [AttackerKB](https://attackerkb.com/) | `ATTACKERKB_API_KEY` необов'язково | Оцінки спільноти (цінність для атакуючого, рейтинг експлуатованості) |
| [MITRE ATT&CK](https://attack.mitre.org/) | Немає | Маппінг CWE на техніки ATT&CK (тактики, техніки) |
| [MITRE CWE](https://cwe-api.mitre.org/) | Немає | Повна база даних CWE (1000+ слабкостей, ієрархія, заходи) |

### Формула оцінки ризику

```
Оцінка ризику = Базова оцінка CVSS × Оцінка EPSS × Множник KEV × Множник експлойту

Де:
  Базова оцінка CVSS   = 0-10 (серйозність з NVD)
  Оцінка EPSS          = 0-1 (ймовірність експлуатації з FIRST)
  Множник KEV           = 2, якщо в CISA KEV, 1 інакше
  Множник експлойту     = 1.5, якщо існує шаблон Nuclei АБО модуль Metasploit, 1 інакше
```

Це дає практичну оцінку ризику, що балансує серйозність (CVSS) з реальною ймовірністю експлуатації (EPSS), відомою активною експлуатацією (KEV) та сигналами озброєння (публічний інструментарій експлойтів).

---

## Архітектура

```
src/
├── index.ts                    Точка входу + MCP stdio
├── types/
│   └── index.ts                ToolDef, ToolContext, ToolResult, типи API
├── protocol/
│   ├── tools.ts                41 визначення інструментів (Zod схеми)
│   └── mcp-server.ts           MCP сервер + stdio транспорт
├── nvd/
│   ├── index.ts                NVD API v2 — search, get, recent
│   └── cpe.ts                  Пошук продуктів/CPE
├── epss/
│   └── index.ts                EPSS — score, top
├── kev/
│   └── index.ts                KEV — check, search, recent (кешовано)
├── ghsa/
│   └── index.ts                GitHub Advisory — search, get
├── osv/
│   └── index.ts                OSV — query, get, batch
├── exploit/
│   └── index.ts                Пошук PoC через GitHub репозиторії
├── shodan/
│   └── index.ts                Shodan CVEDB + InternetDB (без аутентифікації)
├── vulncheck/
│   └── index.ts                VulnCheck KEV, CPE, PURL
├── vulners/
│   └── index.ts                Vulners пошук + запит
├── nuclei/
│   └── index.ts                Перевірка існування шаблону Nuclei
├── metasploit/
│   └── index.ts                Перевірка модуля MSF (кешовані метадані)
├── cpe/
│   └── index.ts                NVD CPE dictionary API
├── circl/
│   └── index.ts                CIRCL збагачення CVE
├── attackerkb/
│   └── index.ts                Оцінки AttackerKB
├── attack/
│   └── index.ts                CWE → MITRE ATT&CK маппінг
├── cwe/
│   └── index.ts                CWE API (MITRE) + статичний фоллбек
├── cvss/
│   └── index.ts                CVSS v3.1 + v4.0 парсер + калькулятор
├── meta/
│   ├── enrich.ts               Повне збагачення CVE (8 джерел паралельно)
│   ├── prioritize.ts           Ранжування CVE на основі ризику
│   ├── trending.ts             Трендові CVE за EPSS
│   ├── compare.ts              Порівняння CVE поруч
│   └── sources.ts              Перевірка стану 11 джерел
└── utils/
    ├── rate-limiter.ts          Обмежувач запитів на основі черги
    └── cache.ts                 TTL кеш
```

**Рішення з дизайну:**

- **Розвідка, а не аудит** &mdash; На відміну від [cloud-audit-mcp](https://github.com/badchars/cloud-audit-mcp) та [github-security-mcp](https://github.com/badchars/github-security-mcp), це інструмент для даних. Без CheckResult, без накопичення знахідок. Кожен запит незалежний і без стану.
- **Паралельне збагачення** &mdash; `cve_enrich` викликає 8 джерел через `Promise.allSettled`. Якщо одне джерело недоступне, решта все одно повертають дані.
- **Виявлення озброєння** &mdash; Перевіряє існування шаблонів Nuclei та модулів Metasploit для виявлення CVE з публічним інструментарієм експлойтів.
- **Спільний обмежувач запитів** &mdash; Всі модулі NVD використовують один екземпляр `RateLimiter` (6 секунд між запитами) для уникнення помилок 429.
- **Кешування KEV + MSF** &mdash; Каталог KEV (~1200 записів) та метадані модулів MSF (~15МБ) завантажуються один раз, кешуються з TTL 1 година.
- **CWE подвійний режим** &mdash; MITRE CWE REST API для повних деталей (1000+ CWE) зі статичним фоллбеком (40+ записів), коли API недоступний.
- **CVSS v3.1 + v4.0** &mdash; Автовизначення версії за префіксом вектора. V4.0 використовує підхід оцінки MacroVector.
- **Маппінг ATT&CK** &mdash; Статична таблиця CWE-до-техніки (33 записи CWE → техніки ATT&CK). Без API-викликів.
- **2 залежності** &mdash; `@modelcontextprotocol/sdk` та `zod`. Нічого більше.

---

## Обмеження

- NVD API без `NVD_API_KEY` обмежений 5 запитами за 30 секунд. Встановіть ключ для продуктивного використання
- Пошук GitHub Advisory без `GITHUB_TOKEN` обмежений 60 запитами на годину
- VulnCheck, Vulners та AttackerKB потребують API-ключів для повної функціональності
- Пошук експлойтів використовує пошук GitHub репозиторіїв, який має власні обмеження
- Метадані модулів MSF (~15МБ) завантажуються при першому використанні — перший виклик `msf_check` повільніший
- Оцінка CVSS v4.0 використовує апроксимацію MacroVector (точна специфікація дуже складна)
- Маппінг ATT&CK охоплює 33 записи CWE — рідкісні CWE можуть не маппітись
- macOS / Linux (Windows не тестувався)

---

## Частина MCP Security Suite

| Проект | Домен | Інструменти |
|---|---|---|
| [hackbrowser-mcp](https://github.com/badchars/hackbrowser-mcp) | Тестування безпеки через браузер | 39 інструментів, Firefox, тестування injection |
| [cloud-audit-mcp](https://github.com/badchars/cloud-audit-mcp) | Хмарна безпека (AWS/Azure/GCP) | 38 інструментів, 60+ перевірок |
| [github-security-mcp](https://github.com/badchars/github-security-mcp) | Стан безпеки GitHub | 39 інструментів, 45 перевірок |
| **cve-mcp** | Розвідка вразливостей | 41 інструмент, 11 джерел |

---

<p align="center">
<b>Лише для авторизованого тестування та оцінки безпеки.</b><br>
Завжди переконайтесь, що у вас є належна авторизація перед тестуванням систем.
</p>

<p align="center">
  <a href="LICENSE">MIT License</a> &bull; Створено на Bun + TypeScript
</p>
