<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> |
  <strong>Norsk</strong> |
  <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> |
  <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- og sårbarhetsetterretning for AI-agenter.</h3>

<p align="center">
  NVD, EPSS, CISA KEV, GitHub Advisory, OSV, Shodan, VulnCheck, Vulners, Nuclei, Metasploit, CIRCL, AttackerKB og MITRE ATT&amp;CK &mdash; samlet i én enkelt MCP-server.<br>
  AI-agenten din får <b>sårbarhetsetterretning på forespørsel</b>, ikke en 200 siders rapport.
</p>

<br>

<p align="center">
  <a href="#problemet">Problemet</a> &bull;
  <a href="#hva-som-gjør-den-annerledes">Hva som gjør den annerledes</a> &bull;
  <a href="#hurtigstart">Hurtigstart</a> &bull;
  <a href="#hva-ai-agenten-kan-gjøre">Hva AI-agenten kan gjøre</a> &bull;
  <a href="#verktøyreferanse-41-verktøy">Verktøy</a> &bull;
  <a href="#datakilder">Datakilder</a> &bull;
  <a href="#arkitektur">Arkitektur</a> &bull;
  <a href="CONTRIBUTING.md">Bidra</a> &bull;
  <a href="CHANGELOG.md">Changelog</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="Lisens"></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 verktøy">
  <img src="https://img.shields.io/badge/sources-11-ef4444" alt="11 kilder">
</p>

---

## Problemet

Sårbarhetsetterretning er spredt over flere databaser. NVD har CVE-detaljer. EPSS forteller deg utnyttelsessannsynligheten. CISA KEV sporer aktivt utnyttede sårbarheter. GitHub Advisory dekker åpen kildekode-pakker. OSV kartlegger sårbarheter til spesifikke pakkeversjoner. Shodan sporer internetteksponering. Nuclei og Metasploit forteller deg om det finnes en fungerende utnyttelse. Ingen enkelt verktøy samler dem, og ingen fungerer med AI-agenter.

```
Tradisjonell arbeidsflyt:
  søk i NVD etter CVE-detaljer         →  navigér i et klønete webgrensesnitt
  sjekk EPSS for utnyttelsesrisiko     →  separat API, separat format
  slå opp CISA KEV-status              →  last ned en JSON-feed manuelt
  søk i GitHub advisories              →  enda et grensesnitt
  spør OSV om pakkepåvirkning           →  annerledes API, annerledes skjema
  sjekk Shodan for eksponering         →  separat abonnement
  søk etter Nuclei/MSF-utnyttelser     →  manuelt GitHub-søk
  kartlegg til ATT&CK-teknikker        →  separat MITRE-oppslag
  korreler alt                         →  kopier-lim inn i et regneark
  ──────────────────────────────────
  Totalt: 30+ minutter per CVE, lenger for massetriagering
```

**cve-mcp** gir AI-agenten din 41 verktøy via [Model Context Protocol](https://modelcontextprotocol.io). Agenten spør 11 kilder parallelt, korrelerer data, oppdager våpeniseringssignaler, beregner risikoscorer og forteller deg nøyaktig hva som er viktig.

```
Med cve-mcp:
  Du: "Prioriter disse 10 CVE-ene etter faktisk utnyttelsesrisiko"

  Agent: → henter CVSS-scorer fra NVD
         → henter EPSS-utnyttelsessannsynlighet for hver
         → sjekker CISA KEV for aktivt utnyttede
         → kryssrefererer GitHub advisories for oppdateringer
         → "3 er kritiske: CVE-2024-3400 (EPSS 97%, i KEV),
            CVE-2023-44487 (HTTP/2 rapid reset, EPSS 96%),
            CVE-2021-44228 (Log4Shell, EPSS 97%, i KEV).
            Her er oppdateringer og berørte versjoner..."
```

---

## Hva som gjør den annerledes

Eksisterende verktøy gir deg rådata. cve-mcp gir AI-agenten din evnen til å resonnere om sårbarheter.

<table>
<thead>
<tr>
<th></th>
<th>Tradisjonelle verktøy</th>
<th>cve-mcp</th>
</tr>
</thead>
<tbody>
<tr>
<td><b>Grensesnitt</b></td>
<td>Web UI / CLI / rå API-kall</td>
<td>MCP &mdash; AI-agent kaller verktøy konversasjonelt</td>
</tr>
<tr>
<td><b>Datakilder</b></td>
<td>Én database om gangen</td>
<td>11 kilder parallelt: NVD, EPSS, KEV, GHSA, OSV, Shodan, VulnCheck, Vulners, Nuclei, Metasploit, CIRCL</td>
</tr>
<tr>
<td><b>Risikovurdering</b></td>
<td>Kun CVSS (alvorlighetsgrad, ikke utnyttbarhet)</td>
<td>CVSS &times; EPSS &times; KEV &times; Utnyttelsesmultiplikator (Nuclei/MSF) = faktisk risiko</td>
</tr>
<tr>
<td><b>Korrelasjon</b></td>
<td>Manuell kopier-lim</td>
<td>Agent beriker: "CVSS 9.8, EPSS 97%, KEV, Nuclei-mal finnes, MSF-modul tilgjengelig, kartlegger til T1190"</td>
</tr>
<tr>
<td><b>Massetriagering</b></td>
<td>Én CVE om gangen</td>
<td>Agent prioriterer 50 CVE-er i én enkelt samtale</td>
</tr>
<tr>
<td><b>Pakkepåvirkning</b></td>
<td>Separat OSV/GHSA-oppslag</td>
<td>Agent finner berørte pakker + versjoner automatisk</td>
</tr>
<tr>
<td><b>Avhengigheter</b></td>
<td>Tunge CLI-verktøy, Python-miljøer</td>
<td>2 kjøretidsavhengigheter, kjører med npx</td>
</tr>
</tbody>
</table>

---

## Hurtigstart

### Alternativ 1: npx (ingen installasjon)

```bash
npx cve-mcp
```

### Alternativ 2: Klon

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

### Miljøvariabler (alle valgfrie)

```bash
# Øker NVD hastighetsbegrensning fra 5 til 50 forespørsler per 30 sekunder
export NVD_API_KEY=din-nvd-api-nøkkel

# Aktiverer GitHub Advisory-søk (60 → 5000 forespørsler/time)
export GITHUB_TOKEN=ghp_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

# VulnCheck utvidet KEV, CPE, PURL-søk
export VULNCHECK_API_KEY=your-vulncheck-key

# Vulners sårbarhetssøk på tvers av 200+ kilder
export VULNERS_API_KEY=your-vulners-key

# AttackerKB fellesskapsvurderinger
export ATTACKERKB_API_KEY=your-attackerkb-key
```

Alle er valgfrie. Serveren fungerer uten dem — noen verktøy har bare lavere hastighetsbegrensninger eller reduserte data.

### Koble til AI-agenten din

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

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

# Med lokal klon
claude mcp add cve-mcp -- bun run /sti/til/cve-mcp/src/index.ts
```

</details>

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

Legg til i `~/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 / andre MCP-klienter</b></summary>

Samme JSON-konfigurasjonsformat. Pek kommandoen til `npx cve-mcp` eller installasjonsstien din.

</details>

### Begynn å spørre

```
Du: "Hva vet du om CVE-2024-3400?"
```

Det er alt. Agenten tar seg av resten.

---

## Hva AI-agenten kan gjøre

### Hendelsesrespons

```
Du: "Vi ble truffet av CVE-2024-3400. Gi meg alt."

Agent: → cve_enrich {cveId: "CVE-2024-3400"}
       → NVD: PAN-OS command injection, CVSS 10.0
       → EPSS: 97.2% utnyttelsessannsynlighet
       → KEV: Lagt til 2024-04-12, frist 2024-05-01
       → Shodan: 4 CPE-er, internetteksponert
       → Nuclei: Deteksjonsmal finnes (kritisk)
       → Metasploit: Utnyttelsesmodul tilgjengelig (utmerket rang)
       → "Kritisk. Våpenisert — både Nuclei- og MSF-moduler finnes.
          PAN-OS GlobalProtect, versjoner < 10.2.9-h1.
          Oppdater umiddelbart. CISA-frist: 1. mai."
```

### Sårbarhetsprioritering

```
Du: "Prioriter disse CVE-ene fra skanningen vår: CVE-2021-44228, CVE-2024-3400,
      CVE-2023-44487, CVE-2024-21762, CVE-2023-4966"

Agent: → cve_prioritize {cves: [...]}
       → Rangerer etter 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 er i CISA KEV — oppdater alle umiddelbart."
```

### Avhengighetsrevisjon

```
Du: "Sjekk om lodash 4.17.20 og django 3.2.0 har kjente sårbarheter"

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 sårbarheter (prototype pollution)
          django 3.2.0: 12 sårbarheter (SQL injection, XSS)
          Oppgrader lodash til 4.17.21+, django til 4.2+"
```

### Trusselovervåking

```
Du: "Hvilke CVE-er har størst sannsynlighet for å bli utnyttet akkurat nå?"

Agent: → cve_trending {limit: 10, minEpss: 0.9}
       → "Topp 10 etter utnyttelsessannsynlighet:
          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-dybdeanalyse (v3.1 og v4.0)

```
Du: "Bryt ned denne CVSS v4.0-vektoren: 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 (KRITISK)
          Nettverksangrep, lav kompleksitet, ingen angrepskrav.
          Ingen privilegier, ingen brukerinteraksjon.
          Sårbart system: full C/I/A-påvirkning.
          Etterfølgende systemer: ingen påvirkning."
```

### ATT&CK-kartlegging

```
Du: "Kartlegg CVE-2024-3400 til MITRE ATT&CK-teknikker"

Agent: → cve_to_attack {cweIds: ["CWE-77"]}
       → "CWE-77 (Command Injection) kartlegger til:
          T1059 — Command and Scripting Interpreter (Execution)
          T1190 — Exploit Public-Facing Application (Initial Access)"
```

---

## Verktøyreferanse (41 verktøy)

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

| Verktøy | Beskrivelse |
|---------|-------------|
| `nvd_search` | Søk CVE-er etter nøkkelord, alvorlighetsgrad, CWE, datoperiode |
| `nvd_get` | Hent fulle CVE-detaljer (CVSS, CWE, CPE, referanser) |
| `nvd_recent` | Nylig publiserte/endrede CVE-er |
| `cve_by_product` | Søk CVE-er etter produktnavn (CPE-nøkkelordtreff) |

</details>

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

| Verktøy | Beskrivelse |
|---------|-------------|
| `epss_score` | EPSS-utnyttelsessannsynlighet for én eller flere CVE-er |
| `epss_top` | Topp CVE-er etter utnyttelsessannsynlighet |

</details>

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

| Verktøy | Beskrivelse |
|---------|-------------|
| `kev_check` | Sjekk om CVE-er er i CISA Known Exploited Vulnerabilities-katalogen |
| `kev_search` | Søk KEV etter leverandør, produkt eller nøkkelord |
| `kev_recent` | Nylig tillagte KEV-oppføringer |

</details>

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

| Verktøy | Beskrivelse |
|---------|-------------|
| `ghsa_search` | Søk GitHub-sikkerhetsrådgivninger etter nøkkelord, økosystem, alvorlighetsgrad |
| `ghsa_get` | Hent rådgivningsdetaljer via GHSA ID eller CVE ID |

</details>

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

| Verktøy | Beskrivelse |
|---------|-------------|
| `osv_query` | Spør etter sårbarheter for en spesifikk pakkeversjon |
| `osv_get` | Hent sårbarhedsdetaljer via OSV/GHSA/CVE ID |
| `osv_batch` | Batchforespørsel for flere pakker samtidig |

</details>

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

| Verktøy | Beskrivelse |
|---------|-------------|
| `exploit_search` | Søk etter offentlige PoC-utnyttelser (GitHub-repoer) |

</details>

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

| Verktøy | Beskrivelse |
|---------|-------------|
| `shodan_cve` | CVE-oppslag via Shodan CVEDB (EPSS, KEV, CPE integrert, ingen autentisering) |
| `shodan_product` | Finn CVE-er etter produkt/leverandørnavn via Shodan |
| `shodan_ip_vulns` | Hent kjente sårbarheter for en IP-adresse (InternetDB) |

</details>

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

| Verktøy | Beskrivelse |
|---------|-------------|
| `vulncheck_kev` | Utvidet KEV-katalog (~80% flere oppføringer enn CISA) |
| `vulncheck_cpe` | CVE-søk etter CPE-streng |
| `vulncheck_purl` | CVE-søk etter Package URL (purl) |

</details>

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

| Verktøy | Beskrivelse |
|---------|-------------|
| `vulners_lookup` | CVE-detaljer fra Vulners (200+ kilder, utnyttelsesreferanser) |
| `vulners_search` | Fulltekstsøk på tvers av Vulners-databasen |

</details>

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

| Verktøy | Beskrivelse |
|---------|-------------|
| `nuclei_check` | Sjekk om en Nuclei-deteksjonsmal finnes for en CVE |
| `msf_check` | Sjekk om en Metasploit-utnyttelsesmodul finnes for en CVE |

</details>

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

| Verktøy | Beskrivelse |
|---------|-------------|
| `cpe_search` | Søk i NVD CPE-ordboken etter nøkkelord |
| `cpe_match` | Hent CPE-treff for en spesifikk CVE |

</details>

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

| Verktøy | Beskrivelse |
|---------|-------------|
| `circl_cve` | CIRCL CVE-berikelse (CAPEC, alternative referanser, påvirkningsvektorer) |

</details>

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

| Verktøy | Beskrivelse |
|---------|-------------|
| `attackerkb_assess` | Fellesskapsvurderinger fra AttackerKB (angrepsverdi, utnyttbarhetsvurderinger) |

</details>

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

| Verktøy | Beskrivelse |
|---------|-------------|
| `cve_to_attack` | Kartlegg CVE CWE-ID-er til MITRE ATT&CK-teknikker og -taktikker |

</details>

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

| Verktøy | Beskrivelse |
|---------|-------------|
| `cwe_lookup` | Slå opp CWE-svakhet etter ID eller søk etter nøkkelord (statisk DB) |
| `cwe_get` | Fulle CWE-detaljer fra MITRE API (1000+ CWE-er, tiltak, eksempler) |
| `cwe_hierarchy` | CWE foreldre/barn-hierarki fra MITRE API |
| `cwe_top25` | MITRE CWE Topp 25 farligste programvaresvakheter |

</details>

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

| Verktøy | Beskrivelse |
|---------|-------------|
| `cvss_parse` | Analyser og forklar en CVSS v3.1 eller v4.0 vektorstreng med scoreberegning |

</details>

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

| Verktøy | Beskrivelse |
|---------|-------------|
| `cve_enrich` | Full berikelse: NVD + EPSS + KEV + GHSA + OSV + Shodan + Nuclei + MSF parallelt |
| `cve_prioritize` | Ranger CVE-er etter risiko (CVSS &times; EPSS &times; KEV &times; Utnyttelsesmultiplikator) |
| `cve_trending` | Nåværende trendende CVE-er etter utnyttelsessannsynlighet |
| `cve_compare` | Side-ved-side sammenligning av to CVE-er |
| `cve_list_sources` | List alle 11 datakilder og deres tilgjengelighet |
| `cve_report` | Generer en markdown-sårbarhetsrapport |

</details>

---

## Datakilder

| Kilde | Autentisering | Hva den gir |
|-------|---------------|-------------|
| [NVD](https://nvd.nist.gov/) | Valgfri `NVD_API_KEY` | CVE-detaljer, CVSS-scorer, CWE-tilordninger, CPE-berørte produkter, referanser |
| [EPSS](https://www.first.org/epss/) | Ingen | Utnyttelsessannsynlighetsscore (0-1) og persentilrangering |
| [CISA KEV](https://www.cisa.gov/known-exploited-vulnerabilities-catalog) | Ingen | Kjente utnyttede sårbarheter med utbedringsfrister |
| [GitHub Advisory](https://github.com/advisories) | Valgfri `GITHUB_TOKEN` | Åpen kildekode sikkerhetsrådgivninger, berørte pakker, alvorlighetsgrad |
| [OSV](https://osv.dev/) | Ingen | Sårbarhedsdata på pakkenivå på tvers av 16+ økosystemer |
| [Shodan CVEDB](https://cvedb.shodan.io/) | Ingen | CVE-oppslag med integrert EPSS/KEV/CPE, IP-sårbarhetsskanning |
| [VulnCheck](https://vulncheck.com/) | Valgfri `VULNCHECK_API_KEY` | Utvidet KEV (~80% flere oppføringer), CPE/PURL sårbarhetssøk |
| [Vulners](https://vulners.com/) | Valgfri `VULNERS_API_KEY` | Sårbarhetssøk på tvers av 200+ kilder, utnyttelsesreferanser |
| [Nuclei Templates](https://github.com/projectdiscovery/nuclei-templates) | Ingen | CVE-deteksjonsmalkontroll (alvorlighetsgrad, tagger) |
| [Metasploit](https://github.com/rapid7/metasploit-framework) | Ingen | Utnyttelsesmodulkontroll (type, rang, sti) |
| [CIRCL](https://cve.circl.lu/) | Ingen | CVE-berikelse med CAPEC-kartlegging, alt. referanser, påvirkningsvektorer |
| [AttackerKB](https://attackerkb.com/) | Valgfri `ATTACKERKB_API_KEY` | Fellesskapsvurderinger (angrepsverdi, utnyttbarhetsvurderinger) |
| [MITRE ATT&CK](https://attack.mitre.org/) | Ingen | CWE-til-ATT&CK teknikkartlegging (taktikker, teknikker) |
| [MITRE CWE](https://cwe-api.mitre.org/) | Ingen | Full CWE-database (1000+ svakheter, hierarki, tiltak) |

### Risikoscoreformel

```
Risikoscore = CVSS Base Score × EPSS Score × KEV-multiplikator × Utnyttelsesmultiplikator

Hvor:
  CVSS Base Score            = 0-10 (alvorlighetsgrad fra NVD)
  EPSS Score                 = 0-1 (utnyttelsessannsynlighet fra FIRST)
  KEV-multiplikator          = 2 hvis i CISA KEV, 1 ellers
  Utnyttelsesmultiplikator   = 1.5 hvis Nuclei-mal ELLER Metasploit-modul finnes, 1 ellers
```

Dette gir en praktisk risikoscore som balanserer alvorlighetsgrad (CVSS) med utnyttelsessannsynlighet i den virkelige verden (EPSS), kjent aktiv utnyttelse (KEV) og våpeniseringssignaler (offentlige utnyttelsesverktøy).

---

## Arkitektur

```
src/
├── index.ts                    Inngangspunkt + MCP stdio
├── types/
│   └── index.ts                ToolDef, ToolContext, ToolResult, API-typer
├── protocol/
│   ├── tools.ts                41 verktøydefinisjoner (Zod-skjemaer)
│   └── mcp-server.ts           MCP-server + stdio-transport
├── nvd/
│   ├── index.ts                NVD API v2 — søk, hent, nylige
│   └── cpe.ts                  Produkt/CPE-søk
├── epss/
│   └── index.ts                EPSS — score, topp
├── kev/
│   └── index.ts                KEV — sjekk, søk, nylige (hurtigbufret)
├── ghsa/
│   └── index.ts                GitHub Advisory — søk, hent
├── osv/
│   └── index.ts                OSV — spørring, hent, batch
├── exploit/
│   └── index.ts                PoC-søk via GitHub-repoer
├── shodan/
│   └── index.ts                Shodan CVEDB + InternetDB (ingen autentisering)
├── vulncheck/
│   └── index.ts                VulnCheck KEV, CPE, PURL
├── vulners/
│   └── index.ts                Vulners søk + oppslag
├── nuclei/
│   └── index.ts                Nuclei mal-eksistenssjekk
├── metasploit/
│   └── index.ts                MSF modulsjekk (hurtigbufrede metadata)
├── cpe/
│   └── index.ts                NVD CPE-ordbok-API
├── circl/
│   └── index.ts                CIRCL CVE-berikelse
├── attackerkb/
│   └── index.ts                AttackerKB-vurderinger
├── attack/
│   └── index.ts                CWE → MITRE ATT&CK-kartlegging
├── cwe/
│   └── index.ts                CWE API (MITRE) + statisk fallback
├── cvss/
│   └── index.ts                CVSS v3.1 + v4.0 parser + beregner
├── meta/
│   ├── enrich.ts               Full CVE-berikelse (8 kilder parallelt)
│   ├── prioritize.ts           Risikobasert CVE-rangering
│   ├── trending.ts             Trendende CVE-er etter EPSS
│   ├── compare.ts              Side-ved-side CVE-sammenligning
│   └── sources.ts              11 kilder helsesjekk
└── utils/
    ├── rate-limiter.ts          Købasert hastighetsbegrenser
    └── cache.ts                 TTL-hurtigbuffer
```

**Designbeslutninger:**

- **Etterretning, ikke revisjon** &mdash; I motsetning til [cloud-audit-mcp](https://github.com/badchars/cloud-audit-mcp) og [github-security-mcp](https://github.com/badchars/github-security-mcp), er dette et dataverktøy. Ingen CheckResult, ingen funnakkumulering. Hver forespørsel er uavhengig og tilstandsløs.
- **Parallell berikelse** &mdash; `cve_enrich` kaller 8 kilder via `Promise.allSettled`. Hvis én kilde er nede, returnerer resten fortsatt data.
- **Våpeniseringsdeteksjon** &mdash; Sjekker Nuclei-mal og Metasploit-moduleksistens for å flagge CVE-er med offentlige utnyttelsesverktøy.
- **Delt hastighetsbegrenser** &mdash; Alle NVD-moduler deler én enkelt `RateLimiter`-instans (6s mellom forespørsler) for å unngå 429-feil.
- **KEV + MSF-hurtigbufring** &mdash; KEV-katalog (~1200 oppføringer) og MSF-modulmetadata (~15MB) lastes én gang, hurtigbufres med 1 times TTL.
- **CWE dual-modus** &mdash; MITRE CWE REST API for full detalj (1000+ CWE-er), med 40+ oppføringer statisk fallback når API er utilgjengelig.
- **CVSS v3.1 + v4.0** &mdash; Auto-detekterer versjon fra vektorprefiks. V4.0 bruker MacroVector-scoringsmetode.
- **ATT&CK-kartlegging** &mdash; Statisk CWE-til-teknikk tabell (33 CWE-oppføringer → ATT&CK-teknikker). Ingen API-kall.
- **2 avhengigheter** &mdash; `@modelcontextprotocol/sdk` og `zod`. Ingenting annet.

---

## Begrensninger

- NVD API uten `NVD_API_KEY` er begrenset til 5 forespørsler per 30 sekunder. Sett nøkkelen for produksjonsbruk
- GitHub Advisory-søk uten `GITHUB_TOKEN` er begrenset til 60 forespørsler per time
- VulnCheck, Vulners og AttackerKB krever API-nøkler for full funksjonalitet
- Utnyttelsessøk bruker GitHub repository-søk som har egne hastighetsbegrensninger
- MSF-modulmetadata (~15MB) lastes ved første bruk — første `msf_check`-kall er tregere
- CVSS v4.0-scoring bruker MacroVector-tilnærming (eksakt spesifikasjon er svært kompleks)
- ATT&CK-kartlegging dekker 33 CWE-oppføringer — uvanlige CWE-er kartlegges kanskje ikke
- macOS / Linux (Windows ikke testet)

---

## Del av MCP Security Suite

| Prosjekt | Domene | Verktøy |
|----------|--------|---------|
| [hackbrowser-mcp](https://github.com/badchars/hackbrowser-mcp) | Nettleserbasert sikkerhetstesting | 39 verktøy, Firefox, injeksjonstesting |
| [cloud-audit-mcp](https://github.com/badchars/cloud-audit-mcp) | Skysikkerhet (AWS/Azure/GCP) | 38 verktøy, 60+ sjekker |
| [github-security-mcp](https://github.com/badchars/github-security-mcp) | GitHub-sikkerhetsstatus | 39 verktøy, 45 sjekker |
| **cve-mcp** | Sårbarhetsetterretning | 41 verktøy, 11 kilder |

---

<p align="center">
<b>Kun for autorisert sikkerhetstesting og -vurdering.</b><br>
Sørg alltid for at du har riktig autorisasjon før du tester systemer.
</p>

<p align="center">
  <a href="LICENSE">MIT-lisens</a> &bull; Bygget med Bun + TypeScript
</p>
