An open API service indexing awesome lists of open source software.

https://github.com/badchars/cve-mcp

23-tool MCP server for CVE & vulnerability intelligence. NVD, EPSS, CISA KEV, GitHub Advisory, OSV — unified in one server. Risk scoring, bulk triage, exploit search. 2 dependencies, runs with npx.
https://github.com/badchars/cve-mcp

ai-security cisa claude cve cvss cybersecurity epss ghsa kev mcp model-context-protocol nvd osv pentesting security vulnerability vulnerability-intelligence

Last synced: about 15 hours ago
JSON representation

23-tool MCP server for CVE & vulnerability intelligence. NVD, EPSS, CISA KEV, GitHub Advisory, OSV — unified in one server. Risk scoring, bulk triage, exploit search. 2 dependencies, runs with npx.

Awesome Lists containing this project

README

          


English |
简体中文 |
繁體中文 |
한국어 |
Deutsch |
Español |
Français |
Italiano |
Dansk |
日本語 |
Polski |
Русский |
Bosanski |
العربية |
Norsk |
Português (Brasil) |
ไทย |
Türkçe |
Українська |
বাংলা |
Ελληνικά |
Tiếng Việt |
हिन्दी







cve-mcp

استخبارات CVE والثغرات الأمنية لوكلاء الذكاء الاصطناعي.


NVD و EPSS و CISA KEV و GitHub Advisory و OSV — موحّدة في خادم MCP واحد.

يحصل وكيل الذكاء الاصطناعي الخاص بك على استخبارات الثغرات عند الطلب، وليس تقريراً من 200 صفحة.



المشكلة
ما الذي يميّزه
البدء السريع
ما يمكن للذكاء الاصطناعي فعله
الأدوات
مصادر البيانات
البنية المعمارية


npm
الرخصة
Bun
MCP
23 أداة
5 مصادر

---

## المشكلة

استخبارات الثغرات الأمنية مبعثرة عبر قواعد بيانات متعددة. NVD يحتوي على تفاصيل CVE. EPSS يخبرك باحتمالية الاستغلال. CISA KEV يتتبع الثغرات المُستغلّة فعلياً. GitHub Advisory يغطي حزم المصدر المفتوح. OSV يربط الثغرات بإصدارات حزم محددة. لا توجد أداة واحدة تجمعها، ولا أي منها يعمل مع وكلاء الذكاء الاصطناعي.

```
سير العمل التقليدي:
البحث في NVD عن تفاصيل CVE ← التنقل في واجهة ويب ثقيلة
التحقق من EPSS لمخاطر الاستغلال ← API منفصل، تنسيق منفصل
البحث عن حالة CISA KEV ← تحميل JSON feed يدوياً
البحث في GitHub advisories ← واجهة أخرى
الاستعلام من OSV عن تأثير الحزم ← API مختلف، مخطط مختلف
ربط كل شيء معاً ← نسخ ولصق في جدول بيانات
──────────────────────────────────
المجموع: 30+ دقيقة لكل CVE، أكثر للفرز الجماعي
```

**cve-mcp** يمنح وكيل الذكاء الاصطناعي الخاص بك 23 أداة عبر [Model Context Protocol](https://modelcontextprotocol.io). يستعلم الوكيل من جميع المصادر الخمسة بالتوازي، ويربط البيانات، ويحسب درجات المخاطر، ويخبرك بالضبط ما هو مهم.

```
مع 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 يمنح وكيل الذكاء الاصطناعي القدرة على التفكير حول الثغرات.

الأدوات التقليدية
cve-mcp

الواجهة
Web UI / CLI / استدعاءات API خام
MCP — وكيل الذكاء الاصطناعي يستدعي الأدوات حوارياً

مصادر البيانات
قاعدة بيانات واحدة في كل مرة
NVD + EPSS + KEV + GHSA + OSV بالتوازي

تقييم المخاطر
CVSS فقط (الخطورة، ليس قابلية الاستغلال)
CVSS × EPSS × KEV = أولوية المخاطر الفعلية

الربط
نسخ ولصق يدوي
الوكيل يُثري: "هذا CVE له CVSS 9.8، EPSS 97%، في KEV، يؤثر على lodash@4.17.20"

الفرز الجماعي
CVE واحد في كل مرة
الوكيل يرتب 50 CVE في محادثة واحدة

تأثير الحزم
بحث منفصل في OSV/GHSA
الوكيل يجد الحزم والإصدارات المتأثرة تلقائياً

التبعيات
أدوات CLI ثقيلة، بيئات Python
تبعيتان فقط في وقت التشغيل، يعمل مع npx

---

## البدء السريع

### الخيار 1: npx (بدون تثبيت)

```bash
npx cve-mcp
```

### الخيار 2: استنساخ

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

### متغيرات البيئة (اختيارية)

```bash
# يزيد حد معدل NVD من 5 إلى 50 طلباً كل 30 ثانية
export NVD_API_KEY=مفتاح-api-nvd-الخاص-بك

# يمكّن بحث GitHub Advisory (60 → 5000 طلب/ساعة)
export GITHUB_TOKEN=ghp_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
```

كلاهما اختياري. الخادم يعمل بدونهما، فقط مع حدود معدل أقل.

### الاتصال بوكيل الذكاء الاصطناعي

Claude Code

```bash
# مع npx
claude mcp add cve-mcp -- npx cve-mcp

# مع نسخة محلية
claude mcp add cve-mcp -- bun run /المسار/إلى/cve-mcp/src/index.ts
```

Claude Desktop

أضف إلى `~/Library/Application Support/Claude/claude_desktop_config.json`:

```json
{
"mcpServers": {
"cve-mcp": {
"command": "npx",
"args": ["cve-mcp"],
"env": {
"NVD_API_KEY": "مفتاح-اختياري",
"GITHUB_TOKEN": "رمز-اختياري"
}
}
}
}
```

Cursor / Windsurf / عملاء MCP آخرون

نفس تنسيق تكوين JSON. وجّه الأمر إلى `npx cve-mcp` أو مسار التثبيت الخاص بك.

### ابدأ بالاستعلام

```
أنت: "ماذا تعرف عن CVE-2024-3400؟"
```

هذا كل شيء. الوكيل يتولى الباقي.

---

## ما يمكن للذكاء الاصطناعي فعله

### الاستجابة للحوادث

```
أنت: "تعرضنا لهجوم 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
→ GHSA: لا يوجد advisory مفتوح المصدر (منتج تجاري)
→ exploit_search: 23 مستودع PoC على GitHub
→ "حرج. مُستغل فعلياً في البرية.
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 المعمّق

```
أنت: "حلّل هذا المتجه CVSS: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H"

الوكيل: → cvss_parse {vector: "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H"}
→ "الدرجة: 10.0 (حرج)
متجه هجوم شبكي، لا امتيازات مطلوبة، لا تفاعل مستخدم.
النطاق تغيّر — يمكن أن يؤثر على مكونات أخرى.
اختراق كامل: السرية والنزاهة والتوافر."
```

---

## مرجع الأدوات (23 أداة)

NVD (4)

| الأداة | الوصف |
|--------|-------|
| `nvd_search` | البحث عن CVE حسب الكلمة المفتاحية، الخطورة، CWE، نطاق التاريخ |
| `nvd_get` | الحصول على تفاصيل CVE الكاملة (CVSS، CWE، CPE، المراجع) |
| `nvd_recent` | CVE المنشورة/المعدّلة مؤخراً |
| `cve_by_product` | البحث عن CVE حسب اسم المنتج (مطابقة كلمات CPE المفتاحية) |

EPSS (2)

| الأداة | الوصف |
|--------|-------|
| `epss_score` | احتمالية استغلال EPSS لواحد أو أكثر من CVE |
| `epss_top` | أعلى CVE حسب احتمالية الاستغلال |

KEV (3)

| الأداة | الوصف |
|--------|-------|
| `kev_check` | التحقق مما إذا كانت CVE في كتالوج CISA Known Exploited Vulnerabilities |
| `kev_search` | البحث في KEV حسب المورّد أو المنتج أو الكلمة المفتاحية |
| `kev_recent` | إدخالات KEV المضافة مؤخراً |

GHSA (2)

| الأداة | الوصف |
|--------|-------|
| `ghsa_search` | البحث في إرشادات أمان GitHub حسب الكلمة المفتاحية، النظام البيئي، الخطورة |
| `ghsa_get` | الحصول على تفاصيل الإرشاد حسب GHSA ID أو CVE ID |

OSV (3)

| الأداة | الوصف |
|--------|-------|
| `osv_query` | الاستعلام عن ثغرات لإصدار حزمة محدد |
| `osv_get` | الحصول على تفاصيل الثغرة حسب OSV/GHSA/CVE ID |
| `osv_batch` | استعلام دُفعي لحزم متعددة دفعة واحدة |

Exploit (1)

| الأداة | الوصف |
|--------|-------|
| `exploit_search` | البحث عن استغلالات PoC العامة (مستودعات GitHub) |

CWE (1)

| الأداة | الوصف |
|--------|-------|
| `cwe_lookup` | البحث عن نقطة ضعف CWE حسب المعرّف أو البحث بالكلمة المفتاحية |

CVSS (1)

| الأداة | الوصف |
|--------|-------|
| `cvss_parse` | تحليل وشرح سلسلة متجه CVSS v3.1 مع حساب الدرجة |

Meta (6)

| الأداة | الوصف |
|--------|-------|
| `cve_enrich` | إثراء كاملة: NVD + EPSS + KEV + GHSA + OSV بالتوازي |
| `cve_prioritize` | ترتيب CVE حسب المخاطر (CVSS × EPSS × مُضاعف KEV) |
| `cve_trending` | CVE الرائجة حالياً حسب احتمالية الاستغلال |
| `cve_compare` | مقارنة جنباً إلى جنب لاثنين من CVE |
| `cve_list_sources` | سرد جميع مصادر البيانات وتوافرها |
| `cve_report` | إنشاء تقرير ثغرات بتنسيق markdown |

---

## مصادر البيانات

| المصدر | المصادقة | ما يوفره |
|--------|----------|----------|
| [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` | إرشادات أمان المصدر المفتوح، الحزم المتأثرة، الخطورة |
| [OSV](https://osv.dev/) | لا شيء | بيانات الثغرات على مستوى الحزم عبر 16+ نظام بيئي |

### صيغة درجة المخاطر

```
درجة المخاطر = CVSS Base Score × EPSS Score × مُضاعف KEV

حيث:
CVSS Base Score = 0-10 (الخطورة من NVD)
EPSS Score = 0-1 (احتمالية الاستغلال من FIRST)
مُضاعف KEV = 2 إذا كان في CISA KEV، 1 خلاف ذلك
```

هذا يعطي درجة مخاطر عملية توازن بين الخطورة (CVSS) واحتمالية الاستغلال في العالم الحقيقي (EPSS) والاستغلال النشط المعروف (KEV).

---

## البنية المعمارية

```
src/
├── index.ts نقطة الدخول + MCP stdio
├── types/
│ └── index.ts ToolDef، ToolContext، ToolResult، أنواع API
├── protocol/
│ ├── tools.ts 23 تعريف أداة (مخططات Zod)
│ └── mcp-server.ts خادم MCP + نقل stdio
├── nvd/
│ ├── index.ts NVD API v2 — بحث، جلب، حديثة
│ └── cpe.ts بحث المنتجات/CPE
├── epss/
│ └── index.ts EPSS — درجة، أعلى
├── kev/
│ └── index.ts KEV — تحقق، بحث، حديثة (مخزنة مؤقتاً)
├── ghsa/
│ └── index.ts GitHub Advisory — بحث، جلب
├── osv/
│ └── index.ts OSV — استعلام، جلب، دُفعي
├── exploit/
│ └── index.ts بحث PoC عبر مستودعات GitHub
├── cwe/
│ └── index.ts قاعدة بيانات CWE (40+ إدخال مضمّن)
├── cvss/
│ └── index.ts محلل CVSS v3.1 + حاسبة الدرجات
├── meta/
│ ├── enrich.ts إثراء CVE الكاملة (جميع المصادر)
│ ├── prioritize.ts ترتيب CVE بناءً على المخاطر
│ ├── trending.ts CVE الرائجة حسب EPSS
│ ├── compare.ts مقارنة CVE جنباً إلى جنب
│ └── sources.ts فحص صحة مصادر البيانات
└── utils/
├── rate-limiter.ts محدد المعدل القائم على الطابور (NVD)
└── cache.ts ذاكرة تخزين مؤقتة TTL (نتائج NVD)
```

**قرارات التصميم:**

- **استخبارات، ليس تدقيق** — على عكس [cloud-audit-mcp](https://github.com/badchars/cloud-audit-mcp) و [github-security-mcp](https://github.com/badchars/github-security-mcp)، هذه أداة بيانات. لا CheckResult، لا تراكم نتائج. كل استعلام مستقل وبدون حالة.
- **إثراء متوازي** — `cve_enrich` يستدعي جميع المصادر الخمسة عبر `Promise.allSettled`. إذا كان مصدر واحد معطلاً، يستمر الباقي في إرجاع البيانات.
- **محدد معدل مشترك** — جميع وحدات NVD تتشارك نسخة واحدة من `RateLimiter` (6 ثوانٍ بين الطلبات) لتجنب أخطاء 429.
- **تخزين KEV مؤقتاً** — كتالوج KEV الكامل (~1200 إدخال، ~200 كيلوبايت) يُحمّل مرة واحدة ويُخزّن في الذاكرة بفترة TTL ساعة واحدة.
- **تخزين نتائج NVD مؤقتاً** — عمليات بحث CVE الفردية تُخزّن بفترة TTL 10 دقائق لتجنب استدعاءات API الزائدة أثناء الإثراء.
- **قاعدة بيانات CWE مضمّنة** — 40+ من أهم CWE من OWASP/MITRE مضمّنة كبيانات ثابتة. لا حاجة لـ API خارجي.
- **حاسبة CVSS كاملة** — خوارزمية حساب CVSS v3.1 base score مُنفّذة محلياً. تحلل أي سلسلة متجه وتشرح كل مقياس.
- **تبعيتان** — `@modelcontextprotocol/sdk` و `zod`. لا شيء آخر.

---

## القيود

- NVD API بدون `NVD_API_KEY` محدود بـ 5 طلبات كل 30 ثانية. عيّن المفتاح للاستخدام الإنتاجي
- بحث GitHub Advisory بدون `GITHUB_TOKEN` محدود بـ 60 طلباً في الساعة
- بحث الاستغلالات يستخدم بحث مستودعات GitHub الذي له حدود معدل خاصة به
- محلل CVSS يدعم v3.1 فقط (متجهات v2 و v4 لا تُحلّل، رغم أن درجات v2 تُرجع من NVD)
- قاعدة بيانات CWE مضمّنة (40+ إدخال) وليست شاملة (1000+ في قاعدة MITRE الكاملة)
- macOS / Linux (لم يُختبر على Windows)

---

## جزء من MCP Security Suite

| المشروع | المجال | الأدوات |
|---------|--------|---------|
| [hackbrowser-mcp](https://github.com/badchars/hackbrowser-mcp) | اختبار الأمان عبر المتصفح | 39 أداة، Firefox، اختبار الحقن |
| [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** | استخبارات الثغرات | 23 أداة، 5 مصادر |

---


للاختبار والتقييم الأمني المصرّح به فقط.

تأكد دائماً من حصولك على التفويض المناسب قبل اختبار الأنظمة.


رخصة MIT • بُني باستخدام Bun + TypeScript