
प्रोडक्शन-ग्रेड MCP सर्वर जो Claude को 21 APIs के माध्यम से 27 सुरक्षा खुफिया उपकरण देता है — CVE लुकअप, EPSS स्कोरिंग, CISA KEV, MITRE ATT&CK, Shodan, VirusTotal, और अधिक।

आपकी उंगलियों पर AI-संचालित सुरक्षा खुफिया जानकारी — 28 टूल + एक-कॉल triage_cve ऑर्केस्ट्रेटर, 24 डेटा स्रोत, एक प्रोटोकॉल।
एक प्रोडक्शन-ग्रेड Model Context Protocol (MCP) सर्वर जो Claude को पूर्ण-स्पेक्ट्रम सुरक्षा विश्लेषक में बदल देता है। NVD, EPSS, CISA KEV, Shodan, VirusTotal और GreyNoise के 15+ ब्राउज़र टैब संभालने के बजाय, Claude से एक सवाल पूछें और सेकंडों में सहसंबंधित खुफिया जानकारी पाएं। Python, FastMCP, httpx, aiosqlite, Pydantic v2 और defusedxml के साथ निर्मित।
समस्या: एक एकल CVE का ट्राइएज करने का मतलब है CVSS स्कोर के लिए NVD, शोषण संभावना के लिए EPSS, सक्रिय शोषण स्थिति के लिए CISA KEV, पैच के लिए GitHub और मैलवेयर संबंधों के लिए VirusTotal से पूछताछ करना — फिर मानसिक रूप से सब कुछ सहसंबंधित करना। 50 CVEs के लिए, यह पूरा दिन बर्बाद है।
समाधान: CVE MCP सर्वर Claude को 24 APIs में 28 सुरक्षा टूल तक सीधी पहुंच देता है — जिसे triage_cve वन-कॉल ऑर्केस्ट्रेटर द्वारा संचालित किया जाता है। पूछें "क्या हमें CVE-2024-3400 को पैच करना चाहिए?" और Claude समानांतर में हर प्रासंगिक स्रोत तक पहुंचता है, एक समग्र जोखिम स्कोर की गणना करता है (CISA KEV हार्ड ओवरराइड के साथ), और साक्ष्य के साथ एक प्राथमिकता वाली सिफारिश देता है।
मैं एक वैश्विक शैक्षणिक अध्ययन चला रहा हूँ जो मापता है कि सुरक्षा पेशेवर, डेवलपर और एंटरप्राइज़ टीमें एजेंटिक AI के लिए वास्तव में कितनी तैयार हैं — MCP सर्वर, टूल कॉलिंग, गवर्नेंस और ह्यूमन-इन-द-लूप वर्कफ़्लो।
यदि आप इस रेपो का उपयोग करते हैं, तो आपका उत्तर एक वास्तविक मूल्यवान डेटा बिंदु होगा।
📋 सर्वेक्षण लें (10 मिनट): सर्वेक्षण
┌─────────────────────────────────────────────────────────────────────┐ │ Claude Desktop / Claude Code │ │ (MCP Client via stdio) │ └──────────────────────────────┬──────────────────────────────────────┘ │ Model Context Protocol (stdio) ▼ ┌─────────────────────────────────────────────────────────────────────┐ │ CVE MCP Server (Python) │ │ ┌─────────────┐ ┌──────────────┐ ┌───────────────┐ │ │ │ 27 MCP │ │ Composite │ │ SQLite Cache │ │ │ │ Tools │ │ Risk Engine │ │ + Audit Log │ │ │ └──────┬──────┘ └──────┬───────┘ └───────┬───────┘ │ │ │ │ │ │ │ ┌──────┴────────────────┴───────────────────┴──────┐ │ │ │ Async HTTP Client (httpx) │ │ │ │ Rate Limiter · Response Cache │ │ │ └──────────────────────┬───────────────────────────┘ │ └─────────────────────────┼───────────────────────────────────────────┘ │ HTTPS (outbound only) ┌───────────────┼───────────────────────────┐ ▼ ▼ ▼ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │ VULNERABILITY│ │ NETWORK │ │ THREAT │ │ INTELLIGENCE │ │ INTELLIGENCE │ │ INTELLIGENCE │ ├──────────────┤ ├──────────────┤ ├──────────────┤ │ NVD API 2.0 │ │ AbuseIPDB │ │ VirusTotal │ │ EPSS / FIRST │ │ GreyNoise v3 │ │ MalwareBazaar│ │ CISA KEV │ │ Shodan │ │ ThreatFox │ │ OSV.dev │ │ CIRCL PDNS │ │ Ransomwhere │ │ GitHub GHSA │ │ │ │ AlienVault │ │ MITRE ATT&CK │ │ │ │ URLScan.io │ └──────────────┘ └──────────────┘ └──────────────┘
सभी ट्रैफ़िक **केवल आउटबाउंड HTTPS** है — कोई इनबाउंड पोर्ट नहीं खोले जाते। API कुंजियाँ पर्यावरण चरों (environment variables) से लोड की जाती हैं और कभी लॉग नहीं की जातीं। निजी/आंतरिक IP पते सभी लुकअप टूल से ब्लॉक कर दिए जाते हैं।
---
## 🔍 टूल कैटलॉग (28 टूल)
### ⭐ ऑर्केस्ट्रेशन (v0.2.0) — यहाँ से शुरू करें
| टूल | विवरण | API कुंजी आवश्यक | उदाहरण उपयोग |
|------|-------------|-----------------|---------------|
| `triage_cve` | एक-कॉल ट्राइएज जो NVD + EPSS + CISA KEV (+ `depth != "quick"` के लिए सार्वजनिक PoC) को समवर्ती रूप से फैलाता है, KEV हार्ड ओवरराइड के साथ समग्र जोखिम स्कोर की गणना करता है, NIST NVD थ्रॉटल होने पर VulnCheck NVD++ पर फ़ॉल बैक करता है, और `depth="deep"` पर SSVC v2 गेटेड निर्णय उत्पन्न करता है | निःशुल्क / कोई कुंजी नहीं (कुंजी अनुशंसित) | `triage_cve("CVE-2021-44228", depth="deep")` |
> **MCP प्रिमिटिव के माध्यम से भी उपलब्ध** — Resources: `kev://catalog`, `epss://scores/{cve_id}`, `manifest://tool-hash` (पंजीकृत टूल सतह पर SHA-256, टैम्पर डिटेक्शन के लिए)। Prompts: `patch_decision`, `compare_and_prioritize`, `dependency_triage`।
### कोर भेद्यता खुफिया (8 टूल)
| टूल | विवरण | API कुंजी आवश्यक | उदाहरण उपयोग |
|------|-------------|-----------------|---------------|
| `lookup_cve` | NVD से विस्तृत CVE रिकॉर्ड प्राप्त करें जिसमें CVSS स्कोर, CWE, प्रभावित उत्पाद, संदर्भ और टाइमलाइन शामिल हों | निःशुल्क / कोई कुंजी नहीं (कुंजी अनुशंसित) | `lookup_cve("CVE-2024-3400")` |
| `search_cves` | कीवर्ड, उत्पाद नाम, गंभीरता या दिनांक सीमा द्वारा NVD में CVE खोजें | निःशुल्क / कोई कुंजी नहीं (कुंजी अनुशंसित) | `search_cves(keyword="Apache Log4j", severity="CRITICAL")` |
| `get_epss_score` | एक या अधिक CVE के लिए EPSS शोषण संभावना (0–1) और पर्सेंटाइल प्राप्त करें | निःशुल्क / कोई कुंजी नहीं | `get_epss_score("CVE-2024-3400")` |
| `check_kev_status` | जाँचें कि कोई CVE CISA के Known Exploited Vulnerabilities कैटलॉग में दिखाई देता है या नहीं | निःशुल्क / कोई कुंजी नहीं | `check_kev_status("CVE-2021-44228")` |
| `get_cvss_details` | प्रति-मीट्रिक विवरण के साथ CVSS v3.1 वेक्टर स्ट्रिंग को पार्स और समझाएँ | निःशुल्क / कोई कुंजी नहीं | `get_cvss_details("CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H")` |
| `get_cwe_info` | एम्बेडेड डेटाबेस से CWE ID द्वारा Common Weakness Enumeration विवरण देखें | निःशुल्क / कोई कुंजी नहीं | `get_cwe_info("CWE-79")` |
| `get_cve_references` | किसी CVE के सभी संदर्भ लिंक निकालें और वर्गीकृत करें (पैच, सलाहकार, एक्सप्लॉइट) | निःशुल्क / कोई कुंजी नहीं (कुंजी अनुशंसित) | `get_cve_references("CVE-2023-44487")` |
| `bulk_cve_lookup` | समानांतर संवर्धन के साथ एक ही कॉल में 20 CVE तक का विवरण बैच-फ़ेच करें | निःशुल्क / कोई कुंजी नहीं (कुंजी अनुशंसित) | `bulk_cve_lookup(["CVE-2024-3400", "CVE-2023-44487"])` |
### एक्सप्लॉइट और हमला खुफिया (4 टूल)
| टूल | विवरण | API कुंजी आवश्यक | उदाहरण उपयोग |
|------|-------------|-----------------|---------------|
| `search_exploits` | सार्वजनिक प्रूफ-ऑफ-कॉन्सेप्ट एक्सप्लॉइट और एक्सप्लॉइट कोड रिपॉजिटरी के लिए GitHub खोजें | `GITHUB_TOKEN` (वैकल्पिक) | `search_exploits("CVE-2024-3400")` |
| `get_mitre_techniques` | किसी CVE या CWE को प्रासंगिक MITRE ATT&CK तकनीकों, रणनीतियों और शमन से मैप करें | निःशुल्क / कोई कुंजी नहीं | `get_mitre_techniques("CVE-2021-44228")` |
| `check_poc_availability` | निर्धारित करें कि कई स्रोतों में किसी CVE के लिए ज्ञात प्रूफ-ऑफ-कॉन्सेप्ट कोड मौजूद है या नहीं | `GITHUB_TOKEN` (वैकल्पिक) | `check_poc_availability("CVE-2024-3400")` |
| `get_attack_patterns` | किसी CWE या CVE से जुड़े CAPEC हमला पैटर्न विवरण प्राप्त करें | निःशुल्क / कोई कुंजी नहीं | `get_attack_patterns("CWE-89")` |
### चरण 3: उन्नत जोखिम और रिपोर्टिंग (4 टूल)
| टूल | विवरण | API कुंजी आवश्यक | उदाहरण उपयोग |
|------|-------------|-----------------|---------------|
| `calculate_risk_score` | CVSS, EPSS, KEV स्थिति और PoC उपलब्धता का उपयोग करके समग्र 0–100 जोखिम स्कोर की गणना करें | निःशुल्क / कोई कुंजी नहीं (कुंजी अनुशंसित) | `calculate_risk_score("CVE-2024-3400")` |
| `generate_risk_report` | सिफारिशों के साथ एक या अधिक CVE के लिए स्वरूपित कार्यकारी सुरक्षा रिपोर्ट उत्पन्न करें | निःशुल्क / कोई कुंजी नहीं (कुंजी अनुशंसित) | `generate_risk_report(["CVE-2024-3400", "CVE-2023-44487"])` |
| `prioritize_cves` | ट्राइएज प्राथमिकता के लिए CVE की सूची को समग्र जोखिम स्कोर द्वारा रैंक करें | निःशुल्क / कोई कुंजी नहीं (कुंजी अनुशंसित) | `prioritize_cves(["CVE-2024-3400", "CVE-2023-4966", "CVE-2023-44487"])` |
| `get_trending_cves` | उच्च EPSS स्कोर और हालिया KEV परिवर्धन के आधार पर ट्रेंडिंग CVE प्राप्त करें | निःशुल्क / कोई कुंजी नहीं | `get_trending_cves(days=7, min_epss=0.5)` |
### नेटवर्क खुफिया (4 टूल)
| टूल | विवरण | API कुंजी आवश्यक | उदाहरण उपयोग |
|------|-------------|-----------------|---------------|
| `lookup_ip_reputation` | AbuseIPDB के माध्यम से IP पते का दुरुपयोग इतिहास और कॉन्फिडेंस स्कोर जाँचें | `ABUSEIPDB_API_KEY` | `lookup_ip_reputation("185.220.101.34")` |
| `check_ip_noise` | IP स्कैन/हमला गतिविधि, वर्गीकरण और संबंधित CVE के लिए GreyNoise से क्वेरी करें | `GREYNOISE_API_KEY` | `check_ip_noise("185.220.101.34")` |
| `shodan_host_lookup` | Shodan के माध्यम से किसी IP के लिए खुले पोर्ट, सेवाएँ, बैनर और भेद्यताएँ प्राप्त करें | `SHODAN_API_KEY` | `shodan_host_lookup("8.8.8.8")` |
| `passive_dns_lookup` | CIRCL Passive DNS से किसी डोमेन के लिए ऐतिहासिक DNS रिज़ॉल्यूशन डेटा प्राप्त करें | `CIRCL_PDNS_USER` + `CIRCL_PDNS_PASSWORD` | `passive_dns_lookup("example.com")` |
### खतरा खुफिया (4 टूल)
| टूल | विवरण | API कुंजी आवश्यक | उदाहरण उपयोग |
|------|-------------|-----------------|---------------|
| `virustotal_lookup` | 70+ एंटीवायरस इंजनों के विरुद्ध फ़ाइल हैश, URL, डोमेन या IP का विश्लेषण करें | `VIRUSTOTAL_API_KEY` | `virustotal_lookup(hash="44d88612fea8a8f36de82e1278abb02f")` |
| `search_malware` | हैश, टैग या सिग्नेचर द्वारा MalwareBazaar में मैलवेयर सैंपल खोजें | `ABUSECH_AUTH_KEY` (वैकल्पिक) | `search_malware(tag="Emotet")` |
| `search_iocs` | मैलवेयर परिवारों से जुड़े Indicators of Compromise के लिए ThreatFox से क्वेरी करें | `ABUSECH_AUTH_KEY` (वैकल्पिक) | `search_iocs(malware="CobaltStrike")` |
| `check_ransomware` | Ransomwhere से रैनसमवेयर भुगतान पते और लेनदेन डेटा देखें | निःशुल्क / कोई कुंजी नहीं | `check_ransomware(address="bc1q...")` |
### DevSecOps (3 टूल)
| टूल | विवरण | API कुंजी आवश्यक | उदाहरण उपयोग |
|------|-------------|-----------------|---------------|
| `scan_dependencies` | ज्ञात भेद्यताओं के लिए OSV.dev के विरुद्ध पैकेज नाम और संस्करण स्कैन करें | निःशुल्क / कोई कुंजी नहीं | `scan_dependencies(ecosystem="PyPI", packages={"requests": "2.28.0"})` |
| `scan_github_advisories` | इकोसिस्टम, पैकेज या गंभीरता द्वारा GitHub Security Advisories खोजें | `GITHUB_TOKEN` (वैकल्पिक) | `scan_github_advisories(ecosystem="pip", package="django")` |
| `urlscan_check` | स्कैनिंग के लिए URL सबमिट करें या URLScan.io से पिछले स्कैन परिणाम प्राप्त करें | `URLSCAN_API_KEY` | `urlscan_check("https://suspicious-site.com")` |
---
## 📦 इंस्टॉलेशन
### पूर्वापेक्षाएँ
- **Python 3.10+** (3.11 या 3.12 अनुशंसित)
- **pip** या **uv** पैकेज मैनेजर
- रिपॉजिटरी क्लोन करने के लिए **Git**
- पर्यावरण चरों तक पहुँच वाला एक टर्मिनल
### चरण-दर-चरण सेटअप```bash
# 1. Clone the repository
git clone https://github.com/mukul975/cve-mcp-server.git
cd cve-mcp-server
# 2. Create and activate a virtual environment
python -m venv venv
# macOS / Linux:
source venv/bin/activate
# Windows (PowerShell):
.\venv\Scripts\Activate.ps1
# Windows (CMD):
venv\Scripts\activate.bat
# 3. Install dependencies
pip install -e .
# 4. Copy and configure environment variables
cp .env.example .env
# Edit .env with your API keys (see API Keys Setup section below)
# 5. Verify the server starts
python -m cve_mcp.server
git clone https://github.com/mukul975/cve-mcp-server.git cd cve-mcp-server uv venv source .venv/bin/activate # or .venv\Scripts\activate on Windows uv pip install -e . cp .env.example .env
### परीक्षण निर्भरताओं के साथ```bash
pip install -e ".[test]"
API कुंजियाँ प्राथमिकता के अनुसार व्यवस्थित हैं — मुफ़्त टूल्स के साथ अधिकतम कवरेज के लिए पहले Tier 1 कुंजियाँ प्राप्त करें, फिर आवश्यकतानुसार Tier 2 और Tier 3 जोड़ते जाएँ।
⚡ शून्य-कुंजी प्रारंभ: आठ टूल्स बिना किसी API कुंजी के काम करते हैं — EPSS, CISA KEV, OSV.dev, MITRE ATT&CK, CWE लुकअप, CVSS पार्सिंग, Ransomwhere, और NVD (कम दर पर)। आप सर्वर का उपयोग तुरंत शुरू कर सकते हैं और कुंजियाँ धीरे-धीरे जोड़ सकते हैं।
NVD_API_KEY=
GITHUB_TOKEN=
ABUSEIPDB_KEY= # https://www.abuseipdb.com/account/api VIRUSTOTAL_KEY= # https://www.virustotal.com/gui/join-us URLSCAN_KEY= # https://urlscan.io/user/signup SHODAN_KEY= # https://account.shodan.io/register
GREYNOISE_API_KEY= # https://viz.greynoise.io/signup
CIRCL_PDNS_USER= CIRCL_PDNS_PASS=
CACHE_DB_PATH= # defaults to ~/.cve-mcp/cache.db AUDIT_LOG_PATH= # defaults to ~/.cve-mcp/audit.log REQUEST_TIMEOUT=30 # HTTP timeout in seconds MAX_RETRIES=3 # retries on transient errors
### Claude Desktop कॉन्फ़िगरेशन
**macOS:** `~/Library/Application Support/Claude/claude_desktop_config.json`
**Windows:** `%APPDATA%\Claude\claude_desktop_config.json````json
{
"mcpServers": {
"cve-mcp": {
"command": "python",
"args": ["-m", "cve_mcp.server"],
"cwd": "/absolute/path/to/cve-mcp-server",
"env": {
"NVD_API_KEY": "your-key-here",
"GITHUB_TOKEN": "ghp_xxxxxxxxxxxxxxxxxxxx",
"ABUSEIPDB_KEY": "your-abuseipdb-key",
"GREYNOISE_API_KEY": "your-greynoise-key",
"SHODAN_KEY": "your-shodan-key"
}
}
}
}
⚠️ महत्वपूर्ण: हमेशा पूर्ण पथ का उपयोग करें। कॉन्फ़िग बदलने के बाद Claude Desktop को पूरी तरह से बंद करें (Cmd+Q / Alt+F4) — रीलोड करना पर्याप्त नहीं है।
claude mcp add cve-mcp -- python -m cve_mcp.server
claude mcp add cve-mcp -e NVD_API_KEY=your_key -e VULNCHECK_TOKEN=your_token -- python -m cve_mcp.server
claude mcp list
---
## 🚀 त्वरित आरंभ
### चरण 1: इंस्टॉल करें (2 मिनट)```bash
git clone https://github.com/mukul975/cve-mcp-server.git
cd cve-mcp-server
python -m venv venv && source venv/bin/activate
pip install -e .
कोई .env फ़ाइल आवश्यक नहीं है। सर्वर को Claude Desktop या Claude Code में जोड़ें और आज़माएँ:
"CVE-2021-44228 क्या है? क्या इसका सक्रिय रूप से शोषण हो रहा है?"
Claude lookup_cve (NVD), get_epss_score (EPSS), और check_kev (CISA KEV) का उपयोग करेगा — सभी मुफ़्त हैं, किसी कुंजी की आवश्यकता नहीं है।
"इन Python पैकेजों में कमज़ोरियों के लिए स्कैन करें: requests 2.28.0, flask 2.2.0, django 3.2.0"
echo 'NVD_API_KEY=your-key-here' > .env
[nvd.nist.gov](https://nvd.nist.gov/developers/request-an-api-key) पर एक मुफ्त NVD कुंजी का अनुरोध करें — ईमेल के माध्यम से तुरंत, दर सीमा को **5 से 50 अनुरोध प्रति 30 सेकंड** तक बढ़ाता है।
### चरण 4: फुल पावर मोड
एक बार जब आप Tier 1 और Tier 2 कुंजियाँ जोड़ लेते हैं:
> **"CVE-2024-3400 के लिए जोखिम स्कोर की गणना करें और बताएं कि क्या हमें तुरंत पैच करना चाहिए।"**
---
## 💬 उपयोग उदाहरण
### परिदृश्य 1: "क्या हमें Log4Shell को तुरंत पैच करना चाहिए?"
> **आप:** विश्लेषण करें कि क्या CVE-2021-44228 (Log4Shell) को तत्काल पैचिंग की आवश्यकता है। मुझे जोखिम स्कोर और आपकी सिफारिश दें।
Claude पर्दे के पीछे कई टूल्स का समन्वय करता है:```
→ lookup_cve("CVE-2021-44228")
CVSS 3.1: 10.0 (CRITICAL) | AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
→ get_epss_score("CVE-2021-44228")
EPSS: 0.97531 (97.5%) | Percentile: 99.99%
→ check_kev("CVE-2021-44228")
✅ IN CISA KEV — Added 2021-12-10 | Known ransomware use: Yes
→ check_poc_exists("CVE-2021-44228")
✅ WEAPONIZED — 300+ public PoC repositories found
→ calculate_risk_score("CVE-2021-44228")
Risk Score: 97/100 (CRITICAL) | Urgency: PATCH IMMEDIATELY
क्लॉड का उत्तर: "CVE-2021-44228 का स्कोर 97/100 (गंभीर) है। Apache Log4j में रिमोट कोड निष्पादन, CVSS 10.0, 97.5% EPSS संभावना, CISA KEV में पुष्टि किया गया सक्रिय शोषण जिसमें रैनसमवेयर अभियान शामिल हैं, 300+ सार्वजनिक एक्सप्लॉइट। तुरंत पैच करें।"
आप: इन निर्भरताओं को स्कैन करें: requests==2.28.0, flask==2.2.0, django==3.2.0, pillow==9.0.0, cryptography==37.0.0``` → scan_dependencies(ecosystem="PyPI", packages={...}) Found 12 vulnerabilities across 4 packages
**Claude का उत्तर:** "आपके पैकेजों में **12 कमजोरियाँ** मिलीं। **तत्काल कार्रवाई:** Django 3.2.0 (SQL इंजेक्शन सहित 3 गंभीर CVE), Pillow 9.0.0 (हीप ओवरफ्लो), cryptography 37.0.0 (OpenSSL श्रृंखला)। अपग्रेड करें: django>=4.2.16, pillow>=10.3.0, cryptography>=42.0.0."
### परिदृश्य 3: "संदिग्ध IP की जाँच करें"
> **आप:** संदिग्ध IP 185.220.101.34 की जाँच करें — क्या यह दुर्भावनापूर्ण है?```
→ check_ip_reputation("185.220.101.34")
AbuseIPDB Confidence: 100% | Reports: 4,832 | ISP: Tor Exit Node
→ check_ip_noise("185.220.101.34")
GreyNoise: MALICIOUS | Tags: [Tor Exit Node, Web Scanner]
CVEs targeted: CVE-2024-3400, CVE-2023-46805
→ shodan_host_lookup("185.220.101.34")
Open ports: 22, 80, 443, 9001 | OS: Linux
क्लॉड का उत्तर: "185.220.101.34 एक ज्ञात Tor exit node है जिसे AbuseIPDB द्वारा 4,832 दुरुपयोग रिपोर्ट्स के साथ 100% दुर्भावनापूर्ण रेट किया गया है। GreyNoise CVE-2024-3400 (Palo Alto) और CVE-2023-46805 (Ivanti) के लिए सक्रिय स्कैनिंग की पुष्टि करता है। अनुशंसा: फ़ायरवॉल पर ब्लॉक करें।"
आप: निम्नलिखित के लिए एक कार्यकारी सुरक्षा रिपोर्ट उत्पन्न करें: CVE-2024-3400, CVE-2023-44487, CVE-2023-4966, CVE-2024-21887``` → compare_cves([...]) Compiles: NVD, EPSS, KEV, PoC availability, MITRE ATT&CK mapping Generates: Ranked risk table, remediation timeline, executive summary
---
## 📊 जोखिम स्कोर की व्याख्या
`calculate_risk_score` टूल चार स्वतंत्र संकेतों को भारांकित करके **0 से 100 तक का समग्र जोखिम स्कोर** उत्पन्न करता है।
### सूत्र```
Risk Score = (CVSS × 0.20) + (EPSS × 0.35) + (KEV × 0.30) + (PoC × 0.15)
स्कोर 100 पर सीमित है।
संख्यात्मक स्कोरर scoring_version 1.0 है (triage_cve, calculate_risk_score, और health_check में दिखाया गया)। ऊपर दिया गया रैखिक भारित योग संख्यात्मक स्कोर के लिए v1 डिफ़ॉल्ट है, जिसमें एक हार्ड ओवरराइड है:
Act / Attend / Track* / Track) triage_cve(depth="deep") के माध्यम से 0–100 संख्या के गुणात्मक, व्याख्यात्मक विकल्प के रूप में उपलब्ध है।EPSS को सबसे अधिक भार मिलता है (35%) क्योंकि यह वास्तविक शोषण का सबसे अच्छा एकल भविष्यवक्ता है — अकेले CVSS से कहीं बेहतर। CVSS 10.0 और EPSS 0.01 सैद्धांतिक रूप से खतरनाक है लेकिन व्यावहारिक रूप से असंभावित है। KEV 30% पर ग्राउंड ट्रुथ है: पुष्ट शोषण, कोई भविष्यवाणी नहीं। CVSS 20% पर अपर्याप्त EPSS डेटा वाले नए CVE के लिए गंभीरता संदर्भ को कैप्चर करता है। PoC 15% पर दर्शाता है कि सार्वजनिक शोषण वास्तविक दुनिया के हमलों को नाटकीय रूप से तेज करते हैं।
triage_cve ऑर्केस्ट्रेटर — एक टूल कॉल जो NVD + EPSS + CISA KEV (+ depth != "quick" के लिए सार्वजनिक PoC खोज) को समवर्ती रूप से फैलाता है, समग्र जोखिम स्कोर की गणना करता है, और एक साफ रिपोर्ट लौटाता है। depth quick / standard (डिफ़ॉल्ट) / deep है; deep अतिरिक्त रूप से SSVC v2 गेटेड निर्णय उत्सर्जित करता है।triage_cve के अंदर स्वचालित रूप से उपयोग होता है), CIRCL hashlookup, और HIBP Pwned Passwords range API।scoring_version — KEV-सूचीबद्ध CVE हमेशा CRITICAL (स्कोर ≥ 76) होते हैं; स्कोरिंग संस्करण triage_cve और health_check में रिपोर्ट किया जाता है।HOST:PORT (डिफ़ॉल्ट , स्टेटलेस) पर streamable-HTTP सर्व करने के लिए सेट करें। एक के साथ आता है।pytest tests/ -v
pytest tests/test_validators.py tests/test_risk_scorer.py -v
pytest tests/ -v --cov=src/cve_mcp --cov-report=term-missing
### MCP Inspector के साथ परीक्षण```bash
npx @modelcontextprotocol/inspector python -m cve_mcp.server
http://localhost:6274 पर खुलता है — प्रत्येक टूल का इंटरैक्टिव रूप से परीक्षण करें, इनपुट स्कीमा देखें, और प्रतिक्रिया प्रारूपों की जाँच करें।
src/cve_mcp/ ├── server.py # FastMCP server — all 27 @mcp.tool() definitions ├── config.py # Environment config and API base URLs ├── models.py # Pydantic models (CVERecord, KEVEntry, EPSSScore, ...) ├── audit.py # Rotating audit log (50MB, 5 backups) ├── api/ │ ├── nvd_client.py # NVD REST API v2.0 │ ├── osv_client.py # OSV.dev package vulnerability API │ ├── epss_client.py # FIRST EPSS API │ ├── kev_client.py # CISA KEV catalog │ ├── ip_intel.py # AbuseIPDB + GreyNoise │ ├── domain_intel.py # crt.sh + CIRCL passive DNS │ ├── shodan_client.py # Shodan host intelligence │ ├── hash_intel.py # MalwareBazaar + VirusTotal │ ├── url_safety.py # URLScan.io │ ├── malware_intel.py # ThreatFox IOC lookup │ ├── ransomware_intel.py# Ransomwhere Bitcoin address lookup │ ├── exploit_intel.py # GitHub PoC/exploit search │ ├── vendor_advisory.py # MSRC + Red Hat + Ubuntu advisories │ ├── attack_mapping.py # MITRE ATT&CK STIX mapping │ ├── cve_timeline.py # CVE event timeline builder │ ├── dependency_scan.py # OSV-based dependency scanning │ ├── poc_checker.py # GitHub + Exploit-DB + Nuclei PoC search │ ├── report_generator.py# Vuln report + CVE comparison matrix │ └── rate_limiter.py # Token bucket rate limiter for NVD ├── cache/ │ └── sqlite_cache.py # Async SQLite cache with per-key TTL └── utils/ ├── validators.py # CVE ID normalization, IP/hash validation └── risk_scorer.py # Composite risk score computation
### कैशिंग रणनीति
| संसाधन | TTL |
|----------|-----|
| CVE रिकॉर्ड (NVD) | 1 घंटा |
| EPSS स्कोर | 6 घंटे |
| KEV कैटलॉग | 1 घंटा |
| IP / डोमेन इंटेल | 1 घंटा |
| Exploit-DB CSV | 24 घंटे |
| ATT&CK STIX डेटा | 24 घंटे |
| रैनसमवेयर इंटेल | 24 घंटे |
### ऑडिट लॉग
हर टूल इनवोकेशन को `~/.cve-mcp/audit.log` में लॉग किया जाता है:```json
{
"timestamp": "2026-04-14T10:23:45.123Z",
"tool": "lookup_cve",
"parameters": {"cve_id": "CVE-2024-3400"},
"duration_ms": 342,
"cache_hit": false,
"status": "ok"
}
API कुंजियाँ और प्रतिक्रिया पेलोड कभी भी ऑडिट लॉग में नहीं लिखे जाते।
सभी नेटवर्क इंटेलिजेंस उपकरण किसी भी बाहरी API कॉल से पहले निजी और आरक्षित IP रेंज को ब्लॉक करते हैं:
10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16 (RFC 1918)127.0.0.0/8 (लूपबैक), 169.254.0.0/16 (लिंक-लोकल)::1, fc00::/7 (IPv6 निजी).env gitignored हैXML बम हमलों (बिलियन लाफ्स, XXE इंजेक्शन) को रोकने के लिए सभी XML पार्सिंग में defusedxml का उपयोग किया जाता है।
pip install -e . python --version # must be 3.10+
**Claude Desktop में हथौड़ा आइकन (🔨) नहीं दिखता**
- अपने config में JSON सिंटैक्स त्रुटियाँ (ट्रेलिंग कॉमा नहीं) जाँचें
- **पूर्ण पथ (absolute paths)** उपयोग करें — सापेक्ष पथ चुपचाप विफल हो जाते हैं
- Claude Desktop को पूरी तरह बंद करें (Cmd+Q / Alt+F4) और पुनः आरंभ करें
### NVD दर सीमित```bash
# Add your free NVD API key to .env
NVD_API_KEY=your-key-here
# https://nvd.nist.gov/developers/request-an-api-key
सर्वर अतिरिक्त अनुरोधों को स्वचालित रूप से कतारबद्ध करता है, लेकिन कुंजी के साथ आपको 10× थ्रूपुट मिलता है।
curl -H "key: YOUR_KEY" https://api.greynoise.io/v3/ip/8.8.8.8
### Windows एन्कोडिंग समस्याएँ```powershell
$env:PYTHONUTF8 = "1"
$env:PYTHONIOENCODING = "utf-8"
योगदान का स्वागत है।
@mcp.tool() डेकोरेटर के साथ server.py में टूल फ़ंक्शन जोड़ें
utils/validators.py में इनपुट वैलिडेशन जोड़ें
api/ में API क्लाइंट लागू करें
tests/ में टेस्ट जोड़ें
इस README को अपडेट करें```python @mcp.tool() async def my_new_tool(param: str, ctx: Context = None) -> str: """ One-line description for Claude to know when to use this tool.
Args: param: Description of the parameter """ app = _get_app(ctx)
### परीक्षण आवश्यकताएँ
- सभी नए टूल में कम से कम एक ऑफ़लाइन परीक्षण होना चाहिए जिसमें मॉक की गई प्रतिक्रियाएँ हों
- जोखिम स्कोर परिवर्तनों में फ़ॉर्मूला सत्यापन परीक्षण मामले शामिल होने चाहिए
- नेटवर्क टूल में निजी IP ब्लॉकिंग की पुष्टि करने वाला परीक्षण शामिल होना चाहिए
- सभी परीक्षण पास होने चाहिए: `pytest tests/ -v`
---
## 📄 लाइसेंस
MIT License — विवरण के लिए [LICENSE](https://github.com/mukul975/cve-mcp-server/blob/HEAD/LICENSE) देखें।```
Copyright (c) 2025-2026 Mahipal Jangra (mukul975)
🔐 के साथ Mahipal Jangra द्वारा निर्मित · बर्लिन, जर्मनी
सुरक्षा खुफिया जानकारी को बातचीत में बदलना।
| ENV वेरिएबल | क्या सक्षम करता है | कैसे प्राप्त करें | निःशुल्क टियर सीमाएँ | आवश्यक? |
|---|
NVD_API_KEY | NVD लुकअप 10× तेज़ (50 req/30s बनाम 5) | nvd.nist.gov पर अनुरोध करें | प्रति 30 सेकंड 50 अनुरोध | वैकल्पिक लेकिन अत्यधिक अनुशंसित |
GITHUB_TOKEN | GitHub Advisory खोज + एक्सप्लॉइट PoC खोज | github.com/settings/tokens पर PAT बनाएँ | 5,000 अनुरोध/घंटा | वैकल्पिक (बिना 60/घंटा) |
| ENV वेरिएबल | क्या सक्षम करता है | कैसे प्राप्त करें | निःशुल्क टियर सीमाएँ | आवश्यक? |
|---|
ABUSEIPDB_KEY | IP प्रतिष्ठा लुकअप | abuseipdb.com पर पंजीकरण करें | प्रति दिन 1,000 जाँच | IP टूल्स के लिए आवश्यक |
VIRUSTOTAL_KEY | फ़ाइल/URL/डोमेन/IP मैलवेयर स्कैनिंग | virustotal.com पर साइन अप करें | प्रति दिन 500 लुकअप, 4/मिनट | VT टूल्स के लिए आवश्यक |
GREYNOISE_API_KEY | IP शोर/स्कैन गतिविधि खुफिया जानकारी | viz.greynoise.io पर साइन अप करें | प्रति सप्ताह 50 क्वेरी (कम्युनिटी) | GreyNoise टूल्स के लिए आवश्यक |
SHODAN_KEY | होस्ट/पोर्ट/सेवा रिकॉनिसंस | account.shodan.io पर पंजीकरण करें | बुनियादी होस्ट लुकअप (निःशुल्क टियर) | Shodan टूल्स के लिए आवश्यक |
| ENV वेरिएबल | क्या सक्षम करता है | कैसे प्राप्त करें | निःशुल्क टियर सीमाएँ | आवश्यक? |
|---|
URLSCAN_KEY | URL स्कैनिंग और वेबसाइट विश्लेषण | urlscan.io पर साइन अप करें | प्रति दिन 5,000 सार्वजनिक स्कैन | वैकल्पिक |
CIRCL_PDNS_USER | CIRCL पैसिव DNS लुकअप | circl.lu पर पहुँच का अनुरोध करें | केवल पार्टनर पहुँच | वैकल्पिक |
CIRCL_PDNS_PASS | CIRCL पैसिव DNS प्रमाणीकरण | CIRCL पंजीकरण के साथ प्रदान किया जाता है | केवल पार्टनर पहुँच | वैकल्पिक |
| घटक | भार | यह क्या दर्शाता है |
|---|
| CVSS v3.1 आधार स्कोर | 20% | सैद्धांतिक सबसे-खराब स्थिति गंभीरता |
| EPSS संभावना | 35% | अगले 30 दिनों में शोषण की सांख्यिकीय संभावना |
| CISA KEV स्थिति | 30% | वास्तविक दुनिया में सक्रिय शोषण की पुष्टि |
| PoC उपलब्धता | 15% | सार्वजनिक शोषण कोड हमलावरों के लिए बाधा कम करता है |
| स्कोर | लेबल | अनुशंसित कार्रवाई |
|---|
| 0 – 25 | LOW | अगली रखरखाव विंडो के लिए शेड्यूल करें |
| 26 – 50 | MEDIUM | SLA के अनुसार 30 दिनों के भीतर पैच करें |
| 51 – 75 | HIGH | 7 दिनों के भीतर पैच करें; टीम लीड तक बढ़ाएँ |
| 76 – 100 | CRITICAL | 24–48 घंटों के भीतर पैच करें। आपातकालीन परिवर्तन विंडो। |
0.0.0.0:8000MCP_TRANSPORT=httpDockerfilekev://catalog, epss://scores/{cve_id}, और manifest://tool-hash (पंजीकृत टूल सरफेस पर SHA-256); प्रॉम्प्ट patch_decision, compare_and_prioritize, और dependency_triage।sampling/createMessage जारी नहीं करता (Unit 42 MCP-sampling आक्रमण वेक्टर); नए आउटबाउंड पथ स्कीम/होस्ट-अनुमत सूची में होते हैं।| # | स्रोत | उपलब्ध डेटा | प्रमाणीकरण | दर सीमा (निःशुल्क) |
|---|
| 1 | NVD | CVE विवरण, CVSS, CWE, CPE | apiKey हेडर (वैकल्पिक) | 5 अनुरोध/30s (कुंजी के साथ 50) |
| 2 | EPSS | शोषण संभावना और प्रतिशतक | कोई नहीं | 1,000 अनुरोध/मिनट |
| 3 | CISA KEV | सक्रिय रूप से शोषित CVE कैटलॉग | कोई नहीं | स्थिर फ़ाइल |
| 4 | OSV.dev | ओपन-सोर्स पैकेज भेद्यताएँ | कोई नहीं | कोई प्रकाशित सीमा नहीं |
| 5 | GitHub Advisories | GHSA सलाहकार, पैच, प्रभावित संस्करण | Bearer टोकन | 60/घंटा (PAT के साथ 5,000) |
| 6 | MITRE ATT&CK | TTP, तकनीकें, शमन | कोई नहीं | कोई प्रकाशित सीमा नहीं |
| 7 | AbuseIPDB | IP दुरुपयोग विश्वास, रिपोर्ट, ISP, भू | Key हेडर | 1,000 जाँच/दिन |
| 8 | GreyNoise | IP शोर/स्कैन गतिविधि, वर्गीकरण | key हेडर | 50 क्वेरी/सप्ताह |
| 9 | Shodan | खुले पोर्ट, सेवाएँ, बैनर, CVE | key क्वेरी पैराम | बुनियादी लुकअप |
| 10 | VirusTotal | मल्टी-एवी स्कैन परिणाम, प्रतिष्ठा | x-apikey हेडर | 500/दिन, 4/मिनट |
| 11 | MalwareBazaar | मैलवेयर नमूने, हैश, हस्ताक्षर | Auth-Key हेडर | उचित उपयोग |
| 12 | ThreatFox | मैलवेयर परिवारों से जुड़े IOC | Auth-Key हेडर | उचित उपयोग |
| 13 | Ransomwhere | रैंसमवेयर BTC पते और लेनदेन | कोई नहीं | कोई प्रकाशित सीमा नहीं |
| 14 | URLScan.io | URL स्कैनिंग, स्क्रीनशॉट, DOM | API-Key हेडर | 5,000 सार्वजनिक स्कैन/दिन |
| 15 | CIRCL PDNS | ऐतिहासिक पैसिव DNS रिकॉर्ड | HTTP बेसिक प्रमाणीकरण | पार्टनर एक्सेस |
| 16 | GitHub Code Search | शोषण PoC रिपॉजिटरी खोज | Bearer टोकन | GHSA सीमाओं के साथ साझा |
| 17 | Exploit-DB | सार्वजनिक शोषण डेटाबेस CSV | कोई नहीं | कोई प्रकाशित सीमा नहीं |
| 18 | Nuclei Templates | सामुदायिक डिटेक्शन टेम्पलेट | कोई नहीं | कोई प्रकाशित सीमा नहीं |
| 19 | MSRC | Microsoft सुरक्षा सलाहकार | कोई नहीं | कोई प्रकाशित सीमा नहीं |
| 20 | Red Hat Security | Red Hat CVE सलाहकार | कोई नहीं | कोई प्रकाशित सीमा नहीं |
| 21 | Ubuntu Security | Ubuntu CVE ट्रैकर | कोई नहीं | कोई प्रकाशित सीमा नहीं |
| 22 | VulnCheck NVD++ | NVD-स्कीमा CVE रिकॉर्ड (पारदर्शी NVD फ़ॉलबैक) | Bearer टोकन (निःशुल्क Community) | VulnCheck Community टियर के अनुसार |
| 23 | CIRCL hashlookup | ज्ञात-अच्छी फ़ाइल मेटाडेटा (NSRL + अन्य), hashlookup:trust | कोई नहीं | बेस्ट-एफर्ट |
| 24 | HIBP Pwned Passwords | k-अनामता रेंज API के माध्यम से लीक हुए पासवर्ड गणना | कोई नहीं | कोई कठोर सीमा नहीं |