<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.ja.md">日本語</a> |
  <strong>Deutsch</strong> |
  <a href="README.es.md">Español</a> |
  <a href="README.fr.md">Français</a> |
  <a href="README.it.md">Italiano</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- und Schwachstellen-Intelligenz für KI-Agenten.</h3>

<p align="center">
  NVD, EPSS, CISA KEV, GitHub Advisory, OSV, Shodan, VulnCheck, Vulners, Nuclei, Metasploit, CIRCL, AttackerKB und MITRE ATT&amp;CK &mdash; vereint in einem einzigen MCP-Server.<br>
  Ihr KI-Agent erhält <b>Schwachstellen-Intelligenz auf Abruf</b>, keinen 200-seitigen Bericht.
</p>

<br>

<p align="center">
  <a href="#das-problem">Das Problem</a> &bull;
  <a href="#was-ist-anders">Was ist anders</a> &bull;
  <a href="#schnellstart">Schnellstart</a> &bull;
  <a href="#was-die-ki-kann">Was die KI kann</a> &bull;
  <a href="#werkzeug-referenz-41-werkzeuge">Werkzeuge</a> &bull;
  <a href="#datenquellen">Datenquellen</a> &bull;
  <a href="#architektur">Architektur</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>

---

## Das Problem

Schwachstellen-Intelligenz ist über mehrere Datenbanken verstreut. NVD hat CVE-Details. EPSS zeigt die Ausnutzungswahrscheinlichkeit. CISA KEV verfolgt aktiv ausgenutzte Schwachstellen. GitHub Advisory deckt Open-Source-Pakete ab. OSV ordnet Schwachstellen bestimmten Paketversionen zu. Shodan verfolgt die Internet-Exposition. Nuclei und Metasploit zeigen, ob ein funktionierender Exploit existiert. Kein einzelnes Tool aggregiert all dies, und keines arbeitet mit KI-Agenten zusammen.

```
Traditioneller Workflow:
  NVD nach CVE-Details durchsuchen      →  umständliche Web-UI bedienen
  EPSS auf Ausnutzungsrisiko prüfen     →  separate API, separates Format
  CISA KEV-Status nachschlagen          →  JSON-Feed manuell herunterladen
  GitHub-Advisories durchsuchen         →  noch eine andere Oberfläche
  OSV nach Paketauswirkungen abfragen   →  andere API, anderes Schema
  Shodan auf Exposition prüfen          →  separates Abonnement
  Nuclei/MSF-Exploits suchen           →  manuelle GitHub-Suche
  ATT&CK-Techniken zuordnen            →  separater MITRE-Lookup
  alles korrelieren                     →  in Tabellenkalkulation kopieren
  ──────────────────────────────────
  Gesamt: 30+ Minuten pro CVE, bei Massentriage noch länger
```

**cve-mcp** gibt Ihrem KI-Agenten 41 Werkzeuge über das [Model Context Protocol](https://modelcontextprotocol.io). Der Agent fragt 11 Quellen parallel ab, korreliert Daten, erkennt Waffensignale, berechnet Risikobewertungen und sagt Ihnen genau, was wichtig ist.

```
Mit cve-mcp:
  Sie: "Priorisiere diese 10 CVEs nach tatsächlichem Ausnutzungsrisiko"

  Agent: → holt CVSS-Scores von NVD
         → ermittelt EPSS-Ausnutzungswahrscheinlichkeit für jede
         → prüft CISA KEV auf aktive Ausnutzung
         → referenziert GitHub-Advisories für Patches
         → "3 sind kritisch: CVE-2024-3400 (EPSS 97%, in KEV),
            CVE-2023-44487 (HTTP/2 Rapid Reset, EPSS 96%),
            CVE-2021-44228 (Log4Shell, EPSS 97%, in KEV).
            Hier sind Patches und betroffene Versionen..."
```

---

## Was ist anders

Bestehende Tools liefern Rohdaten. cve-mcp gibt Ihrem KI-Agenten die Fähigkeit, über Schwachstellen zu urteilen.

<table>
<thead>
<tr>
<th></th>
<th>Traditionelle Tools</th>
<th>cve-mcp</th>
</tr>
</thead>
<tbody>
<tr>
<td><b>Schnittstelle</b></td>
<td>Web-UI / CLI / rohe API-Aufrufe</td>
<td>MCP &mdash; KI-Agent ruft Werkzeuge im Gespräch auf</td>
</tr>
<tr>
<td><b>Datenquellen</b></td>
<td>Eine Datenbank zur Zeit</td>
<td>11 Quellen parallel: NVD, EPSS, KEV, GHSA, OSV, Shodan, VulnCheck, Vulners, Nuclei, Metasploit, CIRCL</td>
</tr>
<tr>
<td><b>Risikobewertung</b></td>
<td>Nur CVSS (Schweregrad, nicht Ausnutzbarkeit)</td>
<td>CVSS &times; EPSS &times; KEV &times; Exploit-Multiplikator (Nuclei/MSF) = tatsächliches Risiko</td>
</tr>
<tr>
<td><b>Korrelation</b></td>
<td>Manuelles Kopieren und Einfügen</td>
<td>Agent reichert an: "CVSS 9.8, EPSS 97%, in KEV, Nuclei-Template vorhanden, MSF-Modul verfügbar, mapped auf T1190"</td>
</tr>
<tr>
<td><b>Massentriage</b></td>
<td>Ein CVE nach dem anderen</td>
<td>Agent priorisiert 50 CVEs in einem einzigen Gespräch</td>
</tr>
<tr>
<td><b>Paketauswirkung</b></td>
<td>Separate OSV/GHSA-Suche</td>
<td>Agent findet betroffene Pakete + Versionen automatisch</td>
</tr>
<tr>
<td><b>Abhängigkeiten</b></td>
<td>Schwere CLI-Tools, Python-Umgebungen</td>
<td>2 Laufzeitabhängigkeiten, läuft mit npx</td>
</tr>
</tbody>
</table>

---

## Schnellstart

### Option 1: npx (keine Installation)

```bash
npx cve-mcp
```

### Option 2: Klonen

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

### Umgebungsvariablen (optional)

```bash
# Erhöht NVD-Ratenlimit von 5 auf 50 Anfragen pro 30 Sekunden
export NVD_API_KEY=your-nvd-api-key

# Aktiviert GitHub Advisory-Suche (60 → 5000 Anfragen/Stunde)
export GITHUB_TOKEN=ghp_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

# VulnCheck erweiterte KEV-, CPE-, PURL-Suche
export VULNCHECK_API_KEY=your-vulncheck-key

# Vulners Schwachstellensuche über 200+ Quellen
export VULNERS_API_KEY=your-vulners-key

# AttackerKB Community-Bewertungen
export ATTACKERKB_API_KEY=your-attackerkb-key
```

Alle sind optional. Der Server funktioniert ohne sie — einige Werkzeuge haben nur niedrigere Ratenlimits oder eingeschränkte Daten.

### Mit Ihrem KI-Agenten verbinden

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

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

# Mit lokalem Klon
claude mcp add cve-mcp -- bun run /path/to/cve-mcp/src/index.ts
```

</details>

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

Fügen Sie dies zu `~/Library/Application Support/Claude/claude_desktop_config.json` hinzu:

```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 / andere MCP-Clients</b></summary>

Gleiches JSON-Konfigurationsformat. Richten Sie den Befehl auf `npx cve-mcp` oder Ihren Installationspfad.

</details>

### Abfragen starten

```
Sie: "Was weißt du über CVE-2024-3400?"
```

Das war's. Der Agent erledigt den Rest.

---

## Was die KI kann

### Incident Response

```
Sie: "Wir wurden von CVE-2024-3400 getroffen. Gib mir alles."

Agent: → cve_enrich {cveId: "CVE-2024-3400"}
       → NVD: PAN-OS Command Injection, CVSS 10.0
       → EPSS: 97,2% Ausnutzungswahrscheinlichkeit
       → KEV: Hinzugefügt 2024-04-12, Frist 2024-05-01
       → Shodan: 4 CPEs, internetexponiert
       → Nuclei: Erkennungstemplate vorhanden (kritisch)
       → Metasploit: Exploit-Modul verfügbar (Excellent-Rang)
       → "Kritisch. Waffenfähig — sowohl Nuclei- als auch MSF-Module existieren.
          PAN-OS GlobalProtect, Versionen < 10.2.9-h1.
          Sofort patchen. CISA-Frist: 1. Mai."
```

### Schwachstellen-Priorisierung

```
Sie: "Priorisiere diese CVEs aus unserem Scan: CVE-2021-44228, CVE-2024-3400,
     CVE-2023-44487, CVE-2024-21762, CVE-2023-4966"

Agent: → cve_prioritize {cves: [...]}
       → Rangfolge nach CVSS × EPSS × KEV-Multiplikator
       → "#1: CVE-2024-3400 (Risiko: 19,44, CVSS 10.0, EPSS 97%, KEV)
          #2: CVE-2021-44228 (Risiko: 19,40, CVSS 10.0, EPSS 97%, KEV)
          #3: CVE-2023-4966 (Risiko: 19,10, CVSS 9.4, EPSS 97%, KEV)
          Alle 5 sind in CISA KEV — alle sofort patchen."
```

### Abhängigkeits-Audit

```
Sie: "Prüfe, ob lodash 4.17.20 und django 3.2.0 bekannte Schwachstellen haben"

Agent: → osv_batch {queries: [
          {package: "lodash", version: "4.17.20", ecosystem: "npm"},
          {package: "django", version: "3.2.0", ecosystem: "PyPI"}
       ]}
       → "lodash 4.17.20: 3 Schwachstellen (Prototype Pollution)
          django 3.2.0: 12 Schwachstellen (SQL Injection, XSS)
          Upgrade lodash auf 4.17.21+, django auf 4.2+"
```

### Bedrohungsüberwachung

```
Sie: "Welche CVEs werden gerade am wahrscheinlichsten ausgenutzt?"

Agent: → cve_trending {limit: 10, minEpss: 0.9}
       → "Top 10 nach Ausnutzungswahrscheinlichkeit:
          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-Tiefenanalyse (v3.1 & v4.0)

```
Sie: "Analysiere diesen CVSS v4.0-Vektor: 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"

Agent: → 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 — Score: 9.3 (KRITISCH)
          Netzwerkangriff, niedrige Komplexität, keine Angriffsanforderungen.
          Keine Privilegien erforderlich, keine Benutzerinteraktion.
          Verwundbares System: vollständige C/I/A-Auswirkung.
          Nachfolgende Systeme: keine Auswirkung."
```

### ATT&CK-Zuordnung

```
Sie: "Ordne CVE-2024-3400 den MITRE ATT&CK-Techniken zu"

Agent: → cve_to_attack {cweIds: ["CWE-77"]}
       → "CWE-77 (Command Injection) wird zugeordnet zu:
          T1059 — Command and Scripting Interpreter (Ausführung)
          T1190 — Exploit Public-Facing Application (Erster Zugang)"
```

---

## Werkzeug-Referenz (41 Werkzeuge)

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

| Werkzeug | Beschreibung |
|----------|-------------|
| `nvd_search` | CVEs nach Stichwort, Schweregrad, CWE, Datumsbereich suchen |
| `nvd_get` | Vollständige CVE-Details abrufen (CVSS, CWE, CPE, Referenzen) |
| `nvd_recent` | Kürzlich veröffentlichte/geänderte CVEs |
| `cve_by_product` | CVEs nach Produktname suchen (CPE-Stichwortabgleich) |

</details>

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

| Werkzeug | Beschreibung |
|----------|-------------|
| `epss_score` | EPSS-Ausnutzungswahrscheinlichkeit für ein oder mehrere CVEs |
| `epss_top` | Top-CVEs nach Ausnutzungswahrscheinlichkeit |

</details>

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

| Werkzeug | Beschreibung |
|----------|-------------|
| `kev_check` | Prüfen, ob CVE(s) im CISA-Katalog bekannter ausgenutzter Schwachstellen sind |
| `kev_search` | KEV nach Hersteller, Produkt oder Stichwort durchsuchen |
| `kev_recent` | Kürzlich hinzugefügte KEV-Einträge |

</details>

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

| Werkzeug | Beschreibung |
|----------|-------------|
| `ghsa_search` | GitHub-Sicherheitshinweise nach Stichwort, Ökosystem, Schweregrad suchen |
| `ghsa_get` | Advisory-Details nach GHSA-ID oder CVE-ID abrufen |

</details>

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

| Werkzeug | Beschreibung |
|----------|-------------|
| `osv_query` | Schwachstellen für eine bestimmte Paketversion abfragen |
| `osv_get` | Schwachstellendetails nach OSV/GHSA/CVE-ID abrufen |
| `osv_batch` | Mehrere Pakete gleichzeitig abfragen |

</details>

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

| Werkzeug | Beschreibung |
|----------|-------------|
| `exploit_search` | Nach öffentlichen PoC-Exploits suchen (GitHub-Repositories) |

</details>

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

| Werkzeug | Beschreibung |
|----------|-------------|
| `shodan_cve` | CVE-Suche über Shodan CVEDB (EPSS/KEV/CPE integriert, ohne Authentifizierung) |
| `shodan_product` | CVEs nach Produkt-/Herstellername über Shodan finden |
| `shodan_ip_vulns` | Bekannte Schwachstellen für eine IP-Adresse abrufen (InternetDB) |

</details>

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

| Werkzeug | Beschreibung |
|----------|-------------|
| `vulncheck_kev` | Erweiterter KEV-Katalog (~80% mehr Einträge als CISA) |
| `vulncheck_cpe` | CVE-Suche nach CPE-String |
| `vulncheck_purl` | CVE-Suche nach Package URL (purl) |

</details>

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

| Werkzeug | Beschreibung |
|----------|-------------|
| `vulners_lookup` | CVE-Details von Vulners (200+ Quellen, Exploit-Referenzen) |
| `vulners_search` | Volltextsuche nach Schwachstellen in der Vulners-Datenbank |

</details>

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

| Werkzeug | Beschreibung |
|----------|-------------|
| `nuclei_check` | Prüfen, ob ein Nuclei-Erkennungstemplate für eine CVE existiert |
| `msf_check` | Prüfen, ob ein Metasploit-Exploit-Modul für eine CVE existiert |

</details>

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

| Werkzeug | Beschreibung |
|----------|-------------|
| `cpe_search` | NVD CPE-Wörterbuch nach Stichwort durchsuchen |
| `cpe_match` | CPE-Übereinstimmungen für eine bestimmte CVE abrufen |

</details>

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

| Werkzeug | Beschreibung |
|----------|-------------|
| `circl_cve` | CIRCL CVE-Anreicherung (CAPEC, alternative Referenzen, Auswirkungsvektoren) |

</details>

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

| Werkzeug | Beschreibung |
|----------|-------------|
| `attackerkb_assess` | Community-Bewertungen von AttackerKB (Angreiferwert, Ausnutzbarkeit) |

</details>

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

| Werkzeug | Beschreibung |
|----------|-------------|
| `cve_to_attack` | CVE CWE-IDs auf MITRE ATT&CK-Techniken und Taktiken abbilden |

</details>

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

| Werkzeug | Beschreibung |
|----------|-------------|
| `cwe_lookup` | CWE-Schwachstelle nach ID nachschlagen oder nach Stichwort suchen (statische DB) |
| `cwe_get` | Vollständige CWE-Details von der MITRE API (1000+ CWEs, Gegenmaßnahmen, Beispiele) |
| `cwe_hierarchy` | CWE-Eltern/Kind-Hierarchie von der MITRE API |
| `cwe_top25` | MITRE CWE Top 25 gefährlichste Software-Schwachstellen |

</details>

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

| Werkzeug | Beschreibung |
|----------|-------------|
| `cvss_parse` | CVSS v3.1- oder v4.0-Vektorstring parsen und mit Score-Berechnung erklären |

</details>

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

| Werkzeug | Beschreibung |
|----------|-------------|
| `cve_enrich` | Vollständige Anreicherung: NVD + EPSS + KEV + GHSA + OSV + Shodan + Nuclei + MSF parallel |
| `cve_prioritize` | CVEs nach Risiko rangieren (CVSS &times; EPSS &times; KEV &times; Exploit-Multiplikator) |
| `cve_trending` | Aktuell trendende CVEs nach Ausnutzungswahrscheinlichkeit |
| `cve_compare` | Seite-an-Seite-Vergleich zweier CVEs |
| `cve_list_sources` | Alle 11 Datenquellen und deren Verfügbarkeit auflisten |
| `cve_report` | Markdown-Schwachstellenbericht generieren |

</details>

---

## Datenquellen

| Quelle | Authentifizierung | Bereitgestellte Daten |
|--------|-------------------|----------------------|
| [NVD](https://nvd.nist.gov/) | Optional `NVD_API_KEY` | CVE-Details, CVSS-Scores, CWE-Zuordnungen, CPE-betroffene Produkte, Referenzen |
| [EPSS](https://www.first.org/epss/) | Keine | Ausnutzungswahrscheinlichkeits-Score (0-1) und Perzentil-Rangfolge |
| [CISA KEV](https://www.cisa.gov/known-exploited-vulnerabilities-catalog) | Keine | Bekannte ausgenutzte Schwachstellen mit Behebungsfristen |
| [GitHub Advisory](https://github.com/advisories) | Optional `GITHUB_TOKEN` | Open-Source-Sicherheitshinweise, betroffene Pakete, Schweregrad |
| [OSV](https://osv.dev/) | Keine | Paketbezogene Schwachstellendaten über 16+ Ökosysteme |
| [Shodan CVEDB](https://cvedb.shodan.io/) | Keine | CVE-Suche mit integriertem EPSS/KEV/CPE, IP-Schwachstellenscan |
| [VulnCheck](https://vulncheck.com/) | Optional `VULNCHECK_API_KEY` | Erweiterter KEV (~80% mehr Einträge als CISA), CPE/PURL-Schwachstellensuche |
| [Vulners](https://vulners.com/) | Optional `VULNERS_API_KEY` | Schwachstellensuche über 200+ Quellen, Exploit-Referenzen |
| [Nuclei Templates](https://github.com/projectdiscovery/nuclei-templates) | Keine | CVE-Erkennungstemplate-Existenzprüfung (Schweregrad, Tags) |
| [Metasploit](https://github.com/rapid7/metasploit-framework) | Keine | Exploit-Modul-Existenzprüfung (Typ, Rang, Pfad) |
| [CIRCL](https://cve.circl.lu/) | Keine | CVE-Anreicherung mit CAPEC-Zuordnung, alternativen Referenzen, Auswirkungsvektoren |
| [AttackerKB](https://attackerkb.com/) | Optional `ATTACKERKB_API_KEY` | Community-Bewertungen (Angreiferwert, Ausnutzbarkeits-Ratings) |
| [MITRE ATT&CK](https://attack.mitre.org/) | Keine | CWE-zu-ATT&CK-Technik-Zuordnung (Taktiken, Techniken) |
| [MITRE CWE](https://cwe-api.mitre.org/) | Keine | Vollständige CWE-Datenbank (1000+ Schwachstellen, Hierarchie, Gegenmaßnahmen) |

### Risikobewertungsformel

```
Risikobewertung = CVSS-Basisscore × EPSS-Score × KEV-Multiplikator × Exploit-Multiplikator

Wobei:
  CVSS-Basisscore     = 0-10 (Schweregrad von NVD)
  EPSS-Score          = 0-1 (Ausnutzungswahrscheinlichkeit von FIRST)
  KEV-Multiplikator   = 2, wenn in CISA KEV, sonst 1
  Exploit-Multiplikator = 1,5, wenn Nuclei-Template ODER Metasploit-Modul existiert, sonst 1
```

Dies ergibt eine praktische Risikobewertung, die Schweregrad (CVSS), reale Ausnutzungswahrscheinlichkeit (EPSS), bekannte aktive Ausnutzung (KEV) und Waffensignale (öffentliche Exploit-Tools) ausbalanciert.

---

## Architektur

```
src/
├── index.ts                    Einstiegspunkt + MCP stdio
├── types/
│   └── index.ts                ToolDef, ToolContext, ToolResult, API-Typen
├── protocol/
│   ├── tools.ts                41 Werkzeugdefinitionen (Zod schemas)
│   └── mcp-server.ts           MCP-Server + stdio-Transport
├── nvd/
│   ├── index.ts                NVD API v2 — Suche, Abruf, Neueste
│   └── cpe.ts                  Produkt/CPE-Suche
├── epss/
│   └── index.ts                EPSS — Score, Top
├── kev/
│   └── index.ts                KEV — Prüfung, Suche, Neueste (gecacht)
├── ghsa/
│   └── index.ts                GitHub Advisory — Suche, Abruf
├── osv/
│   └── index.ts                OSV — Abfrage, Abruf, Batch
├── exploit/
│   └── index.ts                PoC-Suche über GitHub-Repos
├── shodan/
│   └── index.ts                Shodan CVEDB + InternetDB (ohne Authentifizierung)
├── vulncheck/
│   └── index.ts                VulnCheck KEV, CPE, PURL
├── vulners/
│   └── index.ts                Vulners Suche + Lookup
├── nuclei/
│   └── index.ts                Nuclei-Template-Existenzprüfung
├── metasploit/
│   └── index.ts                MSF-Modul-Prüfung (gecachte Metadaten)
├── cpe/
│   └── index.ts                NVD CPE-Wörterbuch-API
├── circl/
│   └── index.ts                CIRCL CVE-Anreicherung
├── attackerkb/
│   └── index.ts                AttackerKB-Bewertungen
├── attack/
│   └── index.ts                CWE → MITRE ATT&CK-Zuordnung
├── cwe/
│   └── index.ts                CWE API (MITRE) + statischer Fallback
├── cvss/
│   └── index.ts                CVSS v3.1 + v4.0-Parser + Rechner
├── meta/
│   ├── enrich.ts               Vollständige CVE-Anreicherung (8 Quellen parallel)
│   ├── prioritize.ts           Risikobasiertes CVE-Ranking
│   ├── trending.ts             Trendende CVEs nach EPSS
│   ├── compare.ts              Seite-an-Seite CVE-Vergleich
│   └── sources.ts              11 Quellen-Gesundheitsprüfung
└── utils/
    ├── rate-limiter.ts          Warteschlangenbasierter Ratenbegrenzer
    └── cache.ts                 TTL-Cache
```

**Designentscheidungen:**

- **Intelligenz, kein Audit** &mdash; Im Gegensatz zu [cloud-audit-mcp](https://github.com/badchars/cloud-audit-mcp) und [github-security-mcp](https://github.com/badchars/github-security-mcp) ist dies ein Datenwerkzeug. Kein CheckResult, keine Befundakkumulation. Jede Abfrage ist unabhängig und zustandslos.
- **Parallele Anreicherung** &mdash; `cve_enrich` ruft 8 Quellen über `Promise.allSettled` auf. Wenn eine Quelle nicht erreichbar ist, liefern die anderen trotzdem Daten.
- **Waffenerkennung** &mdash; Prüft die Existenz von Nuclei-Templates und Metasploit-Modulen, um CVEs mit öffentlichen Exploit-Tools zu kennzeichnen.
- **Gemeinsamer Ratenbegrenzer** &mdash; Alle NVD-Module teilen sich eine einzige `RateLimiter`-Instanz (6s zwischen Anfragen), um 429-Fehler zu vermeiden.
- **KEV + MSF-Caching** &mdash; KEV-Katalog (~1200 Einträge) und MSF-Modul-Metadaten (~15MB) werden einmal geladen und mit 1-Stunden-TTL gecacht.
- **CWE-Dualmodus** &mdash; MITRE CWE REST API für vollständige Details (1000+ CWEs), mit 40+ Einträgen statischem Fallback wenn die API nicht erreichbar ist.
- **CVSS v3.1 + v4.0** &mdash; Erkennt automatisch die Version anhand des Vektor-Präfixes. V4.0 verwendet MacroVector-Scoring-Ansatz.
- **ATT&CK-Zuordnung** &mdash; Statische CWE-zu-Technik-Tabelle (33 CWE-Einträge → ATT&CK-Techniken). Keine API-Aufrufe.
- **2 Abhängigkeiten** &mdash; `@modelcontextprotocol/sdk` und `zod`. Sonst nichts.

---

## Einschränkungen

- NVD API ohne `NVD_API_KEY` ist auf 5 Anfragen pro 30 Sekunden begrenzt. Setzen Sie den Schlüssel für Produktionsnutzung
- GitHub Advisory-Suche ohne `GITHUB_TOKEN` ist auf 60 Anfragen pro Stunde begrenzt
- VulnCheck, Vulners und AttackerKB benötigen API-Schlüssel für volle Funktionalität
- Exploit-Suche nutzt GitHub-Repository-Suche, die eigene Ratenlimits hat
- MSF-Modul-Metadaten (~15MB) werden bei erstmaliger Nutzung geladen — der erste `msf_check`-Aufruf ist langsamer
- CVSS v4.0-Scoring verwendet MacroVector-Approximation (die exakte Spezifikation ist sehr komplex)
- ATT&CK-Zuordnung umfasst 33 CWE-Einträge — seltene CWEs werden möglicherweise nicht zugeordnet
- macOS / Linux (Windows nicht getestet)

---

## Teil der MCP Security Suite

| Projekt | Bereich | Werkzeuge |
|---------|---------|-----------|
| [hackbrowser-mcp](https://github.com/badchars/hackbrowser-mcp) | Browserbasierte Sicherheitstests | 39 Werkzeuge, Firefox, Injection-Tests |
| [cloud-audit-mcp](https://github.com/badchars/cloud-audit-mcp) | Cloud-Sicherheit (AWS/Azure/GCP) | 38 Werkzeuge, 60+ Prüfungen |
| [github-security-mcp](https://github.com/badchars/github-security-mcp) | GitHub-Sicherheitslage | 39 Werkzeuge, 45 Prüfungen |
| **cve-mcp** | Schwachstellen-Intelligenz | 41 Werkzeuge, 11 Quellen |

---

<p align="center">
<b>Nur für autorisierte Sicherheitstests und -bewertungen.</b><br>
Stellen Sie immer sicher, dass Sie eine ordnungsgemäße Genehmigung haben, bevor Sie Systeme testen.
</p>

<p align="center">
  <a href="LICENSE">MIT-Lizenz</a> &bull; Erstellt mit Bun + TypeScript
</p>
