<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> |
  <a href="README.uk.md">Українська</a> |
  <a href="README.bn.md">বাংলা</a> |
  <strong>Ελληνικά</strong> |
  <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 agents.</h3>

<p align="center">
  NVD, EPSS, CISA KEV, GitHub Advisory, OSV, Shodan, VulnCheck, Vulners, Nuclei, Metasploit, CIRCL, AttackerKB και MITRE ATT&amp;CK &mdash; ενοποιημένα σε έναν MCP server.<br>
  Ο AI agent σας λαμβάνει <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 παρακολουθεί την έκθεση στο internet. Τα Nuclei και Metasploit σας λένε αν υπάρχει λειτουργικό exploit. Κανένα εργαλείο δεν τα συγκεντρώνει όλα, και κανένα δεν λειτουργεί με AI agents.

```
Παραδοσιακή ροή εργασίας:
  αναζήτηση NVD για λεπτομέρειες CVE         →  πλοήγηση σε δύσχρηστο Web UI
  έλεγχος EPSS για κίνδυνο εκμετάλλευσης     →  ξεχωριστό API, ξεχωριστή μορφή
  έλεγχος κατάστασης CISA KEV                 →  χειροκίνητη λήψη JSON feed
  αναζήτηση GitHub advisories                 →  άλλη μια διεπαφή
  ερώτημα OSV για επίπτωση σε πακέτα         →  διαφορετικό API, διαφορετικό σχήμα
  έλεγχος Shodan για έκθεση                   →  ξεχωριστή συνδρομή
  αναζήτηση Nuclei/MSF exploits               →  χειροκίνητη αναζήτηση στο GitHub
  αντιστοίχιση σε ATT&CK techniques           →  ξεχωριστή αναζήτηση MITRE
  συσχέτιση όλων                              →  αντιγραφή-επικόλληση σε υπολογιστικό φύλλο
  ──────────────────────────────────
  Σύνολο: 30+ λεπτά ανά CVE, περισσότερο για μαζική διαλογή
```

**cve-mcp** δίνει στον AI agent σας 41 εργαλεία μέσω του [Model Context Protocol](https://modelcontextprotocol.io). Ο agent ερωτά 11 πηγές παράλληλα, συσχετίζει δεδομένα, ανιχνεύει σήματα οπλοποίησης, υπολογίζει βαθμολογίες κινδύνου και σας λέει ακριβώς τι έχει σημασία.

```
Με cve-mcp:
  Εσείς: "Ιεράρχησε αυτά τα 10 CVE κατά πραγματικό κίνδυνο εκμετάλλευσης"

  Agent: → ανακτά βαθμολογίες CVSS από NVD
         → παίρνει πιθανότητα εκμετάλλευσης EPSS για κάθε ένα
         → ελέγχει CISA KEV για ενεργά εκμεταλλευόμενα
         → διασταυρώνει GitHub advisories για patches
         → "3 είναι κρίσιμα: CVE-2024-3400 (EPSS 97%, στο KEV),
            CVE-2023-44487 (HTTP/2 rapid reset, EPSS 96%),
            CVE-2021-44228 (Log4Shell, EPSS 97%, στο KEV).
            Εδώ είναι τα patches και οι επηρεαζόμενες εκδόσεις..."
```

---

## Πώς Διαφέρει

Τα υπάρχοντα εργαλεία σας δίνουν ακατέργαστα δεδομένα. Το cve-mcp δίνει στον AI agent σας τη δυνατότητα να αναλύει ευπάθειες.

<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 agent καλεί εργαλεία συνομιλιακά</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; Πολλαπλασιαστής Exploit (Nuclei/MSF) = πραγματικός κίνδυνος</td>
</tr>
<tr>
<td><b>Συσχέτιση</b></td>
<td>Χειροκίνητη αντιγραφή-επικόλληση</td>
<td>Ο Agent εμπλουτίζει: "CVSS 9.8, EPSS 97%, στο KEV, υπάρχει Nuclei template, υπάρχει MSF module, αντιστοιχεί σε T1190"</td>
</tr>
<tr>
<td><b>Μαζική διαλογή</b></td>
<td>Ένα CVE τη φορά</td>
<td>Ο Agent ιεραρχεί 50 CVE σε μία συνομιλία</td>
</tr>
<tr>
<td><b>Επίπτωση σε πακέτα</b></td>
<td>Ξεχωριστή αναζήτηση OSV/GHSA</td>
<td>Ο Agent βρίσκει αυτόματα τα επηρεαζόμενα πακέτα + εκδόσεις</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
# Αυξάνει το rate limit του NVD από 5 σε 50 αιτήματα ανά 30 δευτερόλεπτα
export NVD_API_KEY=your-nvd-api-key

# Ενεργοποιεί αναζήτηση GitHub Advisory (60 → 5000 αιτήματα/ώρα)
export GITHUB_TOKEN=ghp_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

# VulnCheck extended KEV, CPE, PURL search
export VULNCHECK_API_KEY=your-vulncheck-key

# Vulners vulnerability search σε 200+ πηγές
export VULNERS_API_KEY=your-vulners-key

# AttackerKB community assessments
export ATTACKERKB_API_KEY=your-attackerkb-key
```

Όλα είναι προαιρετικά. Ο server λειτουργεί χωρίς αυτά — κάποια εργαλεία απλά έχουν χαμηλότερα rate limits ή λιγότερα δεδομένα.

### Σύνδεση με τον AI agent σας

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

```bash
# Με npx
claude mcp add cve-mcp -- npx cve-mcp

# Με τοπικό clone
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 clients</b></summary>

Ίδια μορφή JSON config. Δείξτε την εντολή στο `npx cve-mcp` ή τη διαδρομή εγκατάστασής σας.

</details>

### Ξεκινήστε να ρωτάτε

```
Εσείς: "Τι γνωρίζεις για το CVE-2024-3400;"
```

Αυτό ήταν. Ο agent χειρίζεται τα υπόλοιπα.

---

## Τι Μπορεί να Κάνει το AI

### Αντιμετώπιση Περιστατικών

```
Εσείς: "Χτυπηθήκαμε από το CVE-2024-3400. Δώσε μου τα πάντα."

Agent: → 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 CPEs, εκτεθειμένο στο internet
       → Nuclei: Υπάρχει detection template (κρίσιμο)
       → Metasploit: Υπάρχει exploit module (excellent rank)
       → "Κρίσιμο. Οπλοποιημένο — υπάρχουν modules τόσο Nuclei όσο και MSF.
          PAN-OS GlobalProtect, εκδόσεις < 10.2.9-h1.
          Εφαρμόστε patch αμέσως. Προθεσμία CISA: 1 Μαΐου."
```

### Ιεράρχηση Ευπαθειών

```
Εσείς: "Ιεράρχησε αυτά τα CVE από τη σάρωσή μας: CVE-2021-44228, CVE-2024-3400,
        CVE-2023-44487, CVE-2024-21762, CVE-2023-4966"

Agent: → 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 — εφαρμόστε patch σε όλα αμέσως."
```

### Έλεγχος Εξαρτήσεων

```
Εσείς: "Έλεγξε αν τα lodash 4.17.20 και django 3.2.0 έχουν γνωστές ευπάθειες"

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 ευπάθειες (prototype pollution)
          django 3.2.0: 12 ευπάθειες (SQL injection, XSS)
          Αναβαθμίστε lodash σε 4.17.21+, django σε 4.2+"
```

### Παρακολούθηση Απειλών

```
Εσείς: "Ποια είναι τα πιο πιθανά CVE να εκμεταλλευτούν αυτή τη στιγμή;"

Agent: → 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 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"

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 — Βαθμολογία: 9.3 (ΚΡΙΣΙΜΟ)
          Επίθεση μέσω δικτύου, χαμηλή πολυπλοκότητα, χωρίς απαιτήσεις επίθεσης.
          Χωρίς προνόμια, χωρίς αλληλεπίδραση χρήστη.
          Ευπαθές σύστημα: πλήρης επίπτωση C/I/A.
          Επόμενα συστήματα: χωρίς επίπτωση."
```

### ATT&CK Mapping

```
Εσείς: "Αντιστοίχισε το CVE-2024-3400 σε MITRE ATT&CK techniques"

Agent: → 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 exploits (GitHub repositories) |

</details>

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

| Εργαλείο | Περιγραφή |
|------|-------------|
| `shodan_cve` | Αναζήτηση CVE μέσω Shodan CVEDB (EPSS, KEV, CPE ενσωματωμένα, χωρίς αυθεντικοποίηση) |
| `shodan_product` | Εύρεση CVE κατά όνομα προϊόντος/προμηθευτή μέσω Shodan |
| `shodan_ip_vulns` | Λήψη γνωστών ευπαθειών για IP address (InternetDB) |

</details>

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

| Εργαλείο | Περιγραφή |
|------|-------------|
| `vulncheck_kev` | Εκτεταμένος κατάλογος KEV (~80% περισσότερες εγγραφές από CISA) |
| `vulncheck_cpe` | Αναζήτηση CVE κατά CPE string |
| `vulncheck_purl` | Αναζήτηση CVE κατά Package URL (purl) |

</details>

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

| Εργαλείο | Περιγραφή |
|------|-------------|
| `vulners_lookup` | Λεπτομέρειες CVE από Vulners (200+ πηγές, exploit refs) |
| `vulners_search` | Αναζήτηση πλήρους κειμένου ευπαθειών στη βάση Vulners |

</details>

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

| Εργαλείο | Περιγραφή |
|------|-------------|
| `nuclei_check` | Έλεγχος αν υπάρχει Nuclei detection template για CVE |
| `msf_check` | Έλεγχος αν υπάρχει Metasploit exploit module για CVE |

</details>

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

| Εργαλείο | Περιγραφή |
|------|-------------|
| `cpe_search` | Αναζήτηση λεξικού NVD CPE κατά λέξη-κλειδί |
| `cpe_match` | Λήψη CPE matches για συγκεκριμένο CVE |

</details>

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

| Εργαλείο | Περιγραφή |
|------|-------------|
| `circl_cve` | CIRCL CVE εμπλουτισμός (CAPEC, εναλλακτικές αναφορές, vectors επίπτωσης) |

</details>

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

| Εργαλείο | Περιγραφή |
|------|-------------|
| `attackerkb_assess` | Αξιολογήσεις κοινότητας από AttackerKB (attacker value, exploitability) |

</details>

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

| Εργαλείο | Περιγραφή |
|------|-------------|
| `cve_to_attack` | Αντιστοίχιση CVE CWE IDs σε MITRE ATT&CK techniques και tactics |

</details>

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

| Εργαλείο | Περιγραφή |
|------|-------------|
| `cwe_lookup` | Αναζήτηση αδυναμίας CWE κατά ID ή λέξη-κλειδί (στατική DB) |
| `cwe_get` | Πλήρεις λεπτομέρειες CWE από MITRE API (1000+ CWEs, μετριασμοί, παραδείγματα) |
| `cwe_hierarchy` | Ιεραρχία CWE parent/child από 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 vector string με υπολογισμό βαθμολογίας |

</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; Πολλαπλασιαστής Exploit) |
| `cve_trending` | Τρέχοντα 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% περισσότερες εγγραφές από CISA), αναζήτηση ευπαθειών CPE/PURL |
| [Vulners](https://vulners.com/) | `VULNERS_API_KEY` προαιρετικό | Αναζήτηση ευπαθειών σε 200+ πηγές, exploit αναφορές |
| [Nuclei Templates](https://github.com/projectdiscovery/nuclei-templates) | Κανένα | Έλεγχος ύπαρξης CVE detection template (σοβαρότητα, tags) |
| [Metasploit](https://github.com/rapid7/metasploit-framework) | Κανένα | Έλεγχος ύπαρξης exploit module (τύπος, rank, path) |
| [CIRCL](https://cve.circl.lu/) | Κανένα | Εμπλουτισμός CVE με αντιστοίχιση CAPEC, εναλλακτικές αναφορές, vectors επίπτωσης |
| [AttackerKB](https://attackerkb.com/) | `ATTACKERKB_API_KEY` προαιρετικό | Αξιολογήσεις κοινότητας (attacker value, exploitability ratings) |
| [MITRE ATT&CK](https://attack.mitre.org/) | Κανένα | Αντιστοίχιση CWE-σε-ATT&CK technique (tactics, techniques) |
| [MITRE CWE](https://cwe-api.mitre.org/) | Κανένα | Πλήρης βάση δεδομένων CWE (1000+ αδυναμίες, ιεραρχία, μετριασμοί) |

### Φόρμουλα Βαθμολογίας Κινδύνου

```
Βαθμολογία Κινδύνου = Βασική Βαθμολογία CVSS × Βαθμολογία EPSS × Πολλαπλασιαστής KEV × Πολλαπλασιαστής Exploit

Όπου:
  Βασική Βαθμολογία CVSS  = 0-10 (σοβαρότητα από NVD)
  Βαθμολογία EPSS         = 0-1 (πιθανότητα εκμετάλλευσης από FIRST)
  Πολλαπλασιαστής KEV     = 2 αν βρίσκεται στο CISA KEV, 1 διαφορετικά
  Πολλαπλασιαστής Exploit = 1.5 αν υπάρχει Nuclei template Ή Metasploit module, 1 διαφορετικά
```

Αυτό δίνει μια πρακτική βαθμολογία κινδύνου που εξισορροπεί τη σοβαρότητα (CVSS) με την πραγματική πιθανότητα εκμετάλλευσης (EPSS), τη γνωστή ενεργή εκμετάλλευση (KEV) και τα σήματα οπλοποίησης (δημόσια exploit εργαλεία).

---

## Αρχιτεκτονική

```
src/
├── index.ts                    Σημείο εισόδου + MCP stdio
├── types/
│   └── index.ts                ToolDef, ToolContext, ToolResult, τύποι API
├── protocol/
│   ├── tools.ts                41 ορισμοί εργαλείων (Zod schemas)
│   └── mcp-server.ts           MCP server + stdio transport
├── 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 (cached)
├── ghsa/
│   └── index.ts                GitHub Advisory — search, get
├── osv/
│   └── index.ts                OSV — query, get, batch
├── exploit/
│   └── index.ts                Αναζήτηση PoC μέσω GitHub repos
├── shodan/
│   └── index.ts                Shodan CVEDB + InternetDB (χωρίς αυθεντικοποίηση)
├── vulncheck/
│   └── index.ts                VulnCheck KEV, CPE, PURL
├── vulners/
│   └── index.ts                Vulners search + lookup
├── nuclei/
│   └── index.ts                Έλεγχος ύπαρξης Nuclei template
├── metasploit/
│   └── index.ts                Έλεγχος MSF module (cached metadata)
├── cpe/
│   └── index.ts                NVD CPE dictionary API
├── circl/
│   └── index.ts                CIRCL CVE enrichment
├── attackerkb/
│   └── index.ts                AttackerKB assessments
├── attack/
│   └── index.ts                CWE → MITRE ATT&CK mapping
├── cwe/
│   └── index.ts                CWE API (MITRE) + static fallback
├── cvss/
│   └── index.ts                CVSS v3.1 + v4.0 parser + calculator
├── meta/
│   ├── enrich.ts               Πλήρης εμπλουτισμός CVE (8 πηγές παράλληλα)
│   ├── prioritize.ts           Κατάταξη CVE βάσει κινδύνου
│   ├── trending.ts             Trending CVE κατά EPSS
│   ├── compare.ts              Σύγκριση CVE πλάι-πλάι
│   └── sources.ts              Έλεγχοι υγείας 11 πηγών
└── utils/
    ├── rate-limiter.ts          Rate limiter βάσει ουράς
    └── cache.ts                 TTL cache
```

**Σχεδιαστικές αποφάσεις:**

- **Πληροφορίες, όχι έλεγχος** &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 template και Metasploit module για σήμανση CVE με δημόσια exploit εργαλεία.
- **Κοινόχρηστος rate limiter** &mdash; Όλα τα modules NVD μοιράζονται ένα μοναδικό instance `RateLimiter` (6 δευτερόλεπτα μεταξύ αιτημάτων) για αποφυγή σφαλμάτων 429.
- **Προσωρινή αποθήκευση KEV + MSF** &mdash; Ο κατάλογος KEV (~1200 εγγραφές) και τα MSF module metadata (~15MB) φορτώνονται μία φορά, αποθηκεύονται με TTL 1 ώρας.
- **CWE dual-mode** &mdash; MITRE CWE REST API για πλήρεις λεπτομέρειες (1000+ CWEs), με static fallback 40+ εγγραφών όταν το API δεν είναι διαθέσιμο.
- **CVSS v3.1 + v4.0** &mdash; Αυτόματη ανίχνευση έκδοσης από το vector prefix. Η V4.0 χρησιμοποιεί προσέγγιση MacroVector scoring.
- **ATT&CK mapping** &mdash; Στατικός πίνακας CWE-σε-technique (33 εγγραφές CWE → ATT&CK techniques). Χωρίς API κλήσεις.
- **2 εξαρτήσεις** &mdash; `@modelcontextprotocol/sdk` και `zod`. Τίποτα άλλο.

---

## Περιορισμοί

- Η NVD API χωρίς `NVD_API_KEY` περιορίζεται σε 5 αιτήματα ανά 30 δευτερόλεπτα. Ορίστε το κλειδί για χρήση σε παραγωγή
- Η αναζήτηση GitHub Advisory χωρίς `GITHUB_TOKEN` περιορίζεται σε 60 αιτήματα ανά ώρα
- Τα VulnCheck, Vulners και AttackerKB απαιτούν API keys για πλήρη λειτουργικότητα
- Η αναζήτηση exploit χρησιμοποιεί αναζήτηση GitHub repository που έχει δικά της rate limits
- Τα MSF module metadata (~15MB) φορτώνονται κατά την πρώτη χρήση — η αρχική κλήση `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) | Δοκιμές ασφαλείας μέσω browser | 39 εργαλεία, Firefox, δοκιμές injection |
| [cloud-audit-mcp](https://github.com/badchars/cloud-audit-mcp) | Ασφάλεια cloud (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>
