<div dir="rtl">

<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> |
  <strong>العربية</strong> |
  <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> |
  <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 والثغرات الأمنية لوكلاء الذكاء الاصطناعي.</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>
  يحصل وكيل الذكاء الاصطناعي الخاص بك على <b>استخبارات الثغرات عند الطلب</b>، وليس تقريراً من 200 صفحة.
</p>

<br>

<p align="center">
  <a href="#المشكلة">المشكلة</a> &bull;
  <a href="#ما-الذي-يميّزه">ما الذي يميّزه</a> &bull;
  <a href="#البدء-السريع">البدء السريع</a> &bull;
  <a href="#ما-يمكن-للذكاء-الاصطناعي-فعله">ما يمكن للذكاء الاصطناعي فعله</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="الرخصة"></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 أداة">
  <img src="https://img.shields.io/badge/sources-11-ef4444" alt="11 مصدر">
</p>

---

## المشكلة

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

<div dir="ltr">

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

</div>

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

<div dir="ltr">

```
مع 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).
             إليك التصحيحات والإصدارات المتأثرة..."
```

</div>

---

## ما الذي يميّزه

الأدوات الموجودة تعطيك بيانات خام. cve-mcp يمنح وكيل الذكاء الاصطناعي القدرة على التفكير حول الثغرات.

<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; وكيل الذكاء الاصطناعي يستدعي الأدوات حوارياً</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>تبعيتان فقط في وقت التشغيل، يعمل مع npx</td>
</tr>
</tbody>
</table>

---

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

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

<div dir="ltr">

```bash
npx cve-mcp
```

</div>

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

<div dir="ltr">

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

</div>

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

<div dir="ltr">

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

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

# VulnCheck بحث KEV موسّع، CPE، PURL
export VULNCHECK_API_KEY=مفتاح-vulncheck-الخاص-بك

# Vulners بحث الثغرات عبر 200+ مصدر
export VULNERS_API_KEY=مفتاح-vulners-الخاص-بك

# AttackerKB تقييمات المجتمع
export ATTACKERKB_API_KEY=مفتاح-attackerkb-الخاص-بك
```

</div>

جميعها اختيارية. الخادم يعمل بدونها — بعض الأدوات فقط لديها حدود معدل أقل أو بيانات مخفّضة.

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

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

<div dir="ltr">

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

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

</div>

</details>

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

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

<div dir="ltr">

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

</div>

</details>

<details>
<summary><b>Cursor / Windsurf / عملاء MCP آخرون</b></summary>

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

</details>

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

<div dir="ltr">

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

</div>

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

---

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

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

<div dir="ltr">

```
أنت: "تعرضنا لهجوم 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 مايو."
```

</div>

### ترتيب أولويات الثغرات

<div dir="ltr">

```
أنت: "رتّب هذه 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 — صحّح الجميع فوراً."
```

</div>

### تدقيق التبعيات

<div dir="ltr">

```
أنت: "تحقق مما إذا كان 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+"
```

</div>

### مراقبة التهديدات

<div dir="ltr">

```
أنت: "ما هي 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)
           ..."
```

</div>

### تحليل CVSS المعمّق (v3.1 و v4.0)

<div dir="ltr">

```
أنت: "حلّل هذا المتجه 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.
           الأنظمة اللاحقة: لا تأثير."
```

</div>

### ربط ATT&CK

<div dir="ltr">

```
أنت: "اربط 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)"
```

</div>

---

## مرجع الأدوات (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 حسب الكلمة المفتاحية، النظام البيئي، الخطورة |
| `ghsa_get` | الحصول على تفاصيل الإرشاد حسب 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 IDs من CVE بتقنيات وتكتيكات MITRE ATT&CK |

</details>

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

| الأداة | الوصف |
|--------|-------|
| `cwe_lookup` | البحث عن نقطة ضعف CWE حسب المعرّف أو البحث بالكلمة المفتاحية (قاعدة بيانات ثابتة) |
| `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` | إرشادات أمان المصدر المفتوح، الحزم المتأثرة، الخطورة |
| [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+ نقطة ضعف، التسلسل الهرمي، التخفيفات) |

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

<div dir="ltr">

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

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

</div>

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

---

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

<div dir="ltr">

```
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 — بحث، جلب، حديثة
│   └── 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
├── 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
```

</div>

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

- **استخبارات، ليس تدقيق** &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 ساعة واحدة.
- **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.
- **تبعيتان** &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، اختبار الحقن |
| [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</a> &bull; بُني باستخدام Bun + TypeScript
</p>

</div>
