mukul975/cve-mcp-server, Claude gibi yapay zekâ asistanlarının (Model Context Protocol - MCP aracılığıyla) doğrudan güvenlik zekâsı sorguları yapabilmesini sağlayan üretim kalitesinde (production-grade) bir Model Context Protocol sunucusudur.
Güvenlik analistlerinin ve geliştiricilerin farklı platformlar arasında (NVD, EPSS, CISA KEV, Shodan, VirusTotal, GreyNoise vb.) manuel sekme değiştirme ihtiyacını ortadan kaldırarak, tek bir komutla veya yapay zekâ sohbeti üzerinden kapsamlı güvenlik verileri toplamasını ve korelasyon kurmasını sağlar.
Bu projenin öne çıkan özelliklerini, mimarisini ve yeteneklerini aşağıda bulabilirsiniz:
1. Temel Problem ve Çözüm
-
Problem: Bir CVE’yi (güvenlik açığını) incelemek; NVD üzerinden CVSS skorlarına bakmayı, EPSS üzerinden sömürülme (exploitation) olasılığını kontrol etmeyi, CISA KEV (Known Exploited Vulnerabilities) listesinde yer alıp almadığını teyit etmeyi, GitHub'da yama/PoC aramayı ve VirusTotal gibi kaynakları taramayı gerektirir. Onlarca CVE için bu süreç günlerinizi alabilir.
-
Çözüm: Bu sunucu, Claude gibi AI istemcilerine doğrudan bağlanarak 28 farklı güvenlik aracını (24 farklı API üzerinden) tek bir çatı altında sunar. Örneğin, "CVE-2024-3400 yamalanmalı mı?" diye sorduğunuzda, sunucu tüm ilgili kaynakları paralel olarak sorgular, birleştirilmiş bir risk skoru hesaplar ve gerekçeli bir önceliklendirme raporu sunar.
2. Araç Kataloğu ve Yetenekler (28 Araç)
Proje, işlevlerine göre çeşitli kategorilerde araçlar sunar:
-
Orkestrasyon (
triage_cve): Tek bir çağrıyla NVD, EPSS, CISA KEV ve public PoC kaynaklarını eşzamanlı tarar. CISA KEV eşiklerine göre otomatik risk önceliği belirler. -
Temel Zafiyet İstihbaratı (8 Araç):
-
lookup_cve(NVD üzerinden ayrıntılı CVE kaydı çekme) -
search_cves(Anahtar kelime, ürün veya kritiklik derecesine göre arama) -
get_epss_score(EPSS sömürü olasılığı ve yüzdelik dilimi) -
check_kev_status(CISA KEV kataloğunda var mı yok mu kontrolü) -
get_cvss_details(CVSS v3.1 vektör dizelerini ayrıştırma ve açıklama) -
bulk_cve_lookup(Tek seferde toplu CVE sorgulama)
-
-
İstismar (Exploit) ve Saldırı İstihbaratı (4 Araç):
-
GitHub üzerinden public PoC ve exploit kodlarını arama (
search_exploits,check_poc_availability) -
MITRE ATT&CK ve CAPEC desen eşleştirmeleri (
get_mitre_techniques,get_attack_patterns)
-
-
Gelişmiş Risk ve Raporlama (4 Araç):
-
Bileşik risk skoru hesaplama (
calculate_risk_score) -
Yönetici düzeyinde güvenlik raporu oluşturma (
generate_risk_report) -
Trend olan zafiyetleri listeleme (
get_trending_cves)
-
-
Ağ ve Tehdit İstihbaratı (8 Araç):
-
AbuseIPDB, GreyNoise, Shodan entegrasyonlarıyla IP/host itibarı ve açık port taramaları
-
VirusTotal, MalwareBazaar, ThreatFox ve Ransomwhere ile dosya/hash, zararlı yazılım ve fidye yazılımı adreslerinin analizi
-
-
DevSecOps (3 Araç):
-
Paket versiyonlarını OSV.dev üzerinden tarama (
scan_dependencies) -
GitHub Security Advisories sorgulama ve URLScan.io entegrasyonu
-
3. Mimari ve Güvenlik Öne Çıkanları
-
İletişim Protokolü: MCP (Model Context Protocol) üzerinden
stdiotabanlı çalışır (Claude Desktop veya Claude Code ile yerel entegrasyon). -
Güvenlik Yaklaşımı:
-
Tüm trafik yalnızca giden HTTPS (outbound HTTPS) üzerinden akar; sisteme gelen herhangi bir harici port açılmaz.
-
API anahtarları çevre değişkenlerinden (environment variables) okunur ve asla loglanmaz.
-
Dahili/özel IP adresleri (Private/internal IPs) arama araçlarından engellenmiştir.
-
-
Sıfır Anahtar Başlangıcı (Zero-Key Start): EPSS, CISA KEV, OSV.dev, MITRE ATT&CK, CWE ve CVSS ayrıştırma gibi kritik araçlar herhangi bir API anahtarına ihtiyaç duymadan (ücretsiz ve anında) çalışabilir. NVD, Shodan, VirusTotal gibi diğer servisler için ise ücretsiz/ücretli API anahtarları isteğe bağlı olarak eklenebilir.
4. Kurulum ve Entegrasyon
Python (3.10+) ve
pip veya uv paket yöneticisi gerektirir.-
Deponun klonlanması:
Bashgit clone https://github.com/mukul975/cve-mcp-server.git cd cve-mcp-server -
Sanal ortam oluşturulması ve bağımlılıkların yüklenmesi:
Bashpython -m venv venv source venv/bin/activate # Windows için: .\venv\Scripts\Activate.ps1 pip install -e . -
Claude Desktop konfigürasyon dosyasına (
claude_desktop_config.json) eklenerek doğrudan Claude arayüzünden kullanılabilir hale getirilebilir.