Home / Sharenewshort / CVE MCP Server: Biến Claude thành Chuyên gia Phân tích Bảo mật Toàn diện với 27 Công cụ và 21 Nguồn Dữ liệu

CVE MCP Server: Biến Claude thành Chuyên gia Phân tích Bảo mật Toàn diện với 27 Công cụ và 21 Nguồn Dữ liệu

Bạn là một chuyên gia bảo mật và mỗi ngày phải đối mặt với hàng chục, thậm chí hàng trăm lỗ hổng CVE cần đánh giá. Việc phân tích một CVE đơn lẻ đã đòi hỏi phải mở hàng tá tab trình duyệt — NVD để tra điểm CVSS, EPSS để xem xác suất khai thác, CISA KEV để kiểm tra trạng thái khai thác thực tế, GitHub để tìm bản vá, VirusTotal để quét mã độc… Đối với 50 CVE, điều đó tiêu t cả cả một ngày làm việc. CVE MCP Server chính là giải pháp: một máy chủ MCP (Model Context Protocol) cấp production-grade được xây dựng bằng Python, giúp Claude trở thành một chuyên gia phân tích bảo mật toàn diện với 27 công cụ kết nối 21 nguồn dữ liệu bảo mật khác nhau, chỉ qua một câu hỏi duy nhất.


🏗️ Kiến trúc hệ thống

CVE MCP Server sử dụng kiến trúc giao tiếp qua stdio với MCP Client (như Claude Desktop hoặc Claude Code). Toàn bộ traffic chỉ đi ra ngoài qua HTTPS — không mở port inbound nào.

CVE MCP Server Architecture

Sơ đồ kiến trúc bao gồm các thành phần chính:

  • 27 MCP Tools — tập hợp đầy đủ các công cụ bảo mật
  • Composite Risk Engine — bộ máy tính điểm rủi ro tổng hợp từ 0–100
  • SQLite Cache + Audit Log — bộ nhớ đệm cục bộ và nhật ký kiểm toán
  • Async HTTP Client (httpx) — với Rate Limiter và Response Cache tích hợp
  • Broker tầng API — kết nối đến 3 nhóm nguồn dữ liệu: Vulnerability Intelligence, Network Intelligence, và Threat Intelligence

Toàn bộ hoạt động thông qua giao thức Model Context Protocol qua stdio, với mọi request đều là HTTPS outbound. API key được load từ environment variables và không bao giờ được ghi vào log.


🔍 Danh mục 27 Công cụ chi tiết

Toàn bộ 27 công cụ được chia thành 5 nhóm chức năng. Dưới đây là phân tích từng nhóm:

Nhóm 1: Core Vulnerability Intelligence — Thông tin lỗ hổng cốt lõi (8 công cụ)

Đây là nhóm công cụ nền tảng, cho phép truy vấn, tìm kiếm và phân tích chi tiết các CVE.

Công cụ Mô tả Cần API Key? Ví dụ sử dụng
lookup_cve Truy vấn chi tiết bản ghi CVE từ NVD bao gồm điểm CVSS, CWE, sản phẩm bị ảnh hưởng, tài liệu tham khảo và timeline Miễn phí / Không bắt buộc (khuyến nghị có) lookup_cve("CVE-2024-3400")
search_cves Tìm kiếm CVE trên NVD theo từ khóa, tên sản phẩm, mức độ nghiêm trọng hoặc khoảng thời gian Miễn phí / Không bắt buộc search_cves(keyword="Apache Log4j", severity="CRITICAL")
get_epss_score Lấy điểm EPSS — xác suất khai thác (0–1) và phần trăm xếp hạng cho một hoặc nhiều CVE Miễn phí / Không cần get_epss_score("CVE-2024-3400")
check_kev_status Kiểm tra CVE có nằm trong danh sách CISA Known Exploited Vulnerabilities hay không Miễn phí / Không cần check_kev_status("CVE-2021-44228")
get_cvss_details Phân tích và giải thích vector string CVSS v3.1 với chi tiết từng metric Miễn phí / Không cần 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 Tra cứu chi tiết CWE (Common Weakness Enumeration) theo ID từ database nhúng Miễn phí / Không cần get_cwe_info("CWE-79")
get_cve_references Trích xuất và phân loại tất cả link tham chiếu cho một CVE (bản vá, khuyến cáo, exploit) Miễn phí / Không bắt buộc get_cve_references("CVE-2023-44487")
bulk_cve_lookup Truy vấn hàng loạt tối đa 20 CVE trong một lần gọi, với enrichment song song Miễn phí / Không bắt buộc bulk_cve_lookup(["CVE-2024-3400", "CVE-2023-44487"])

Nhóm 2: Exploit & Attack Intelligence — Thông tin khai thác và tấn công (4 công cụ)

Nhóm này tập trung vào việc xác địnhexistence khai thác, ánh xạ chiến thuật tấn công:

Công cụ Mô tả Cần API Key? Ví dụ
search_exploits Tìm kiếm trên GitHub các proof-of-concept khai thác và mã exploit công khai GITHUB_TOKEN (tùy chọn) search_exploits("CVE-2024-3400")
get_mitre_techniques Ánh xạ CVE hoặc CWE sang các kỹ thuật MITRE ATT&CK, chiến thuật và biện pháp giảm thiểu Miễn phí / Không cần get_mitre_techniques("CVE-2021-44228")
check_poc_availability Xác định xem đã có mã proof-of-concept công khai cho CVE trên nhiều nguồn khác nhau chưa GITHUB_TOKEN (tùy chọn) check_poc_availability("CVE-2024-3400")
get_attack_patterns Truy xuất chi tiết mẫu tấn công CAPEC liên quan đến một CWE hoặc CVE Miễn phí / Không cần get_attack_patterns("CWE-89")

Nhóm 3: Advanced Risk & Reporting — Đánh giá rủi ro và báo cáo nâng cao (4 công cụ)

Nhóm công cụ then chốt giúp tự động hóa việc xếp hạng ưu tiên và tạo báo cáo:

Công cụ Mô tả Cần API Key? Ví dụ
calculate_risk_score Tính điểm rủi ro tổng hợp 0–100 dựa trên CVSS, EPSS, KEV status và PoC availability Miễn phí / Không bắt buộc calculate_risk_score("CVE-2024-3400")
generate_risk_report Tạo báo cáo bảo mật executive được định dạng cho một hoặc nhiều CVE với khuyến nghị Miễn phí / Không bắt buộc generate_risk_report(["CVE-2024-3400"])
prioritize_cves Xếp hạng danh sách CVE theo điểm rủi ro tổng hợp để ưu tiên xử lý Miễn phí / Không bắt buộc prioritize_cves(["CVE-2024-3400", "CVE-2023-4966"])
get_trending_cves Truy xuất các CVE đang trending dựa trên điểm EPSS cao và mới được thêm vào KEV Miễn phí / Không cần get_trending_cves(days=7, min_epss=0.5)

Nhóm 4: Network Intelligence — Thông tin mạng (4 công cụ)

Công cụ phục vụ điều tra mạng, kiểm tra IP, domain:

Công cụ Mô tả Cần API Key? Ví dụ
lookup_ip_reputation Kiểm tra lịch sử abuse của địa IP và điểm confidence qua AbuseIPDB ABUSEIPDB_API_KEY lookup_ip_reputation("185.220.101.34")
check_ip_noise Truy vấn GreyNoise về hoạt động scan/attack của IP, phân loại và CVE liên quan GREYNOISE_API_KEY check_ip_noise("185.220.101.34")
shodan_host_lookup Lấy thông tin port mở, dịch vụ, banner và lỗ hổng của IP qua Shodan SHODAN_API_KEY shodan_host_lookup("8.8.8.8")
passive_dns_lookup Truy xuất dữ liệu phân giải DNS lịch sử cho domain từ CIRCL Passive DNS CIRCL_PDNS_USER + CIRCL_PDNS_PASSWORD passive_dns_lookup("example.com")

Nhóm 5: Threat Intelligence — Thông tin mối đe dọa (4 công cụ)

Phục vụ phân tích mã độc, IOC (Indicator of Compromise) và ransomware:

Công cụ Mô tả Cần API Key? Ví dụ
virustotal_lookup Phân tích hash file, URL, domain hoặc IP bằng hơn 70 antivirus engine VIRUSTOTAL_API_KEY virustotal_lookup(hash="44d88612...")
search_malware Tìm kiếm MalwareBazaar cho sample mã độc theo hash, tag hoặc signature ABUSECH_AUTH_KEY (tùy chọn) search_malware(tag="Emotet")
search_iocs Truy vấn ThreatFox để tìm Indicator of Compromise liên quan đến các họ malware ABUSECH_AUTH_KEY (tùy chọn) search_iocs(malware="CobaltStrike")
check_ransomware Tra cứu địa chỉ thanh toán ransomware và dữ liệu giao dịch từ Ransomwhere Miễn phí / Không cần check_ransomware(address="bc1q...")

Nhóm 6: DevSecOps — Bảo mật chuỗi cung ứng phần mềm (3 công cụ)

Nhóm công cụ dành cho DevSecOps, kiểm tra dependency và quét URL:

Công cụ Mô tả Cần API Key? Ví dụ
scan_dependencies Quét tên package và phiên bản trên OSV.dev để tìm lỗ hổng đã biết Miễn phí / Không cần scan_dependencies(ecosystem="PyPI", packages={"requests": "2.28.0"})
scan_github_advisories Tìm kiếm GitHub Security Advisories theo ecosystem, package hoặc severity GITHUB_TOKEN (tùy chọn) scan_github_advisories(ecosystem="pip", package="django")
urlscan_check Gửi URL để quét hoặc lấy kết quả quét trước đó từ URLScan.io URLSCAN_API_KEY urlscan_check("https://suspicious-site.com")

📊 Cơ chế tính điểm rủi ro (Risk Score) chi tiết

Một trong những tính năng nổi bật nhất là bộ máy tính điểm rủi ro tổng hợp từ 0 đến 100. Công thức được thiết kế phản ánh đúng mức độ ưu tiên trong thực tế:

Công thức tính

Risk Score = (CVSS × 0.20) + (EPSS × 0.35) + (KEV × 0.30) + (PoC × 0.15)
Thành phần Trọng số Ý nghĩa phản ánh
CVSS v3.1 Base Score 20% Mức độ nghiêm trọng lý thuyết xấu nhất
EPSS Probability 35% Xác suất khai thác thống kê trong 30 ngày tới
CISA KEV Status 30% Đã xác nhận khai thác thực tế trong môi trường thực
PoC Availability 15% Mã exploit công khai làm giảm rào cản cho kẻ tấn công

Hệ số tăng cường (Boost Multipliers)

  • KEV + active PoC → ×1.15
  • CVSS ≥ 9.0 + EPSS > 0.7 → ×1.10
  • Published < 7 ngày trước → ×1.05
  • Điểm tối đa được giới hạn ở 100.

Lý giải trọng số

EPSS nhận trọng số cao nhất 35% vì nó là chỉ số dự đoán tốt nhất về khả năng khai thác thực tế — vượt xa CVSS đơn thuần. Một CVE có CVSS 10.0 nhưng EPSS chỉ 0.01 thì trên lý thuyết rất nguy hiểm nhưng thực tế lại rất ít khả năng bị khai thác. KEV ở mức 30% vì đây là dữ liệu thực tế xác nhận (ground truth). CVSS ở 20% cung cấp ngữ cảnh mức độ nghiêm trọng cho các CVE mới chưa đủ dữ liệu EPSS. PoC ở 15% phản ánh việc code khai thác công khai thúc đẩy tấn công trong thực tế.

Nhãn phân loại rủi ro

Điểm Nhãn Hành động khuyến nghị
0 – 25 LOW Lên lịch vá ở kỳ bảo trì tiếp theo
26 – 50 MEDIUM Vá trong vòng 30 ngày theo SLA
51 – 75 HIGH Vá trong vòng 7 ngày; báo cáo lên team lead
76 – 100 CRITICAL Vá trong vòng 24–48 giờ. Khẩn cấp.

🌐 21 Nguồn dữ liệu được tích hợp

Dự án kết nối đến 21 nguồn dữ liệu bảo mật khác nhau:

# Nguồn Dữ liệu cung cấp Xác thực Giới hạn (Free)
1 NVD Chi tiết CVE, CVSS, CWE, CPE apiKey header (tùy chọn) 5 req/30s (50 với key)
2 EPSS Xác suất và phần trăm khai thác Không 1.000 req/min
3 CISA KEV Danh mục CVE đang được khai thác Không File tĩnh
4 OSV.dev Lổ hổng package open-source Không Không giới hạn
5 GitHub Advisories GHSA advisories, bản vá, phiên bản ảnh hưởng Bearer token 60/hr (5.000 với PAT)
6 MITRE ATT&CK TTPs, kỹ thuật, biện pháp giảm thiểu Không Không giới hạn
7 AbuseIPDB IP abuse confidence, reports, ISP, geo Key header 1.000 checks/ngày
8 GreyNoise Hoạt động scan/attack IP, phân loại key header 50 queries/tuần
9 Shodan Port mở, dịch vụ, banner, CVE key query param Basic lookups
10 VirusTotal Kết quả multi-AV scan, reputation x-apikey header 500/ngày, 4/phút
11 MalwareBazaar Sample mã độc, hash, signature Auth-Key header Fair use
12 ThreatFox IOC liên quan đến họ malware Auth-Key header Fair use
13 Ransomwhere Địa chỉ BTC ransomware, giao dịch Không Không giới hạn
14 URLScan.io Quét URL, screenshot, DOM API-Key header 5.000 scan/ngày
15 CIRCL PDNS Bản ghi passive DNS lịch sử HTTP Basic Auth Partner access
16 GitHub Code Search Tìm kiếm repo PoC exploit Bearer token Chia sẻ GHSA
17 Exploit-DB Database exploit công khai (CSV) Không Không giới hạn
18 Nuclei Templates Template phát hiện cộng đồng Không Không giới hạn
19 MSRC Microsoft security advisories Không Không giới hạn
20 Red Hat Security Red Hat CVE advisories Không Không giới hạn
21 Ubuntu Security Ubuntu CVE tracker Không Không giới hạn

📦 Cài đặt chi tiết

Yêu cầu trước

  • Python 3.10+ (khuyến nghị 3.11 hoặc 3.12)
  • pip hoặc uv package manager
  • Git để clone repository
  • Terminal có quyền truy cập environment variables

Cài đặt từng bước

# 1. Clone repository
git clone https://github.com/mukul975/cve-mcp-server.git
cd cve-mcp-server

# 2. Tạo và kích hoạt 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. Cài đặt dependencies
pip install -e .

# 4. Copy và cấu hình biến môi trường
cp .env.example .env
# Chỉnh sửa .env với API keys

# 5. Kiểm tra server khởi động
python -m cve_mcp.server

Cài đặt với uv (nhanh hơn)

git clone https://github.com/mukul975/cve-mcp-server.git
cd cve-mcp-server
uv venv
source .venv/bin/activate  # hoặc .venv\Scripts\activate trên Windows
uv pip install -e .
cp .env.example .env

Cấu hình Claude Desktop

Tạo/chỉnh file JSON tại:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.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"
      }
    }
  }
}

⚠️ Quan trọng: Luôn sử dụng đường dẫn tuyệt đối. Thoát hoàn toàn Claude Desktop (Cmd+Q / Alt+F4) sau khi thay đổi config — chỉ reload là không đủ.

Cấu hình Claude Code

# Setup cơ bản
claude mcp add cve-mcp -- python -m cve_mcp.server

# Với biến môi trường từ file .env
claude mcp add cve-mcp --env-file .env -- python -m cve_mcp.server

# Kiểm tra kết nối
claude mcp list

🔑 Thiết lập API Keys theo tầng ưu tiên

Tier 1: Ưu tiên cao (miễn phí, truy cập ngay, phủ sóng tối đa)

Biến ENV Kích hoạt Giới hạn Free Tier
NVD_API_KEY Tra cứu NVD nhanh 10× (50 req/30s thay vì 5) 50 requests/30 giây
GITHUB_TOKEN GitHub Advisory search + PoC search 5.000 requests/giờ

Tier 2: Khuyến nghị (tài khoản miễn phí, giá trị cao)

Biến ENV Kích hoạt Giới hạn Free Tier
ABUSEIPDB_KEY IP reputation lookups 1.000 checks/ngày
VIRUSTOTAL_KEY Quét file/URL/domain/IP với 70+ AV engine 500/ngày, 4/phút
GREYNOISE_API_KEY IP noise/scan activity intelligence 50 queries/tuần (community)
SHODAN_KEY Host/port/service reconnaissance Basic host lookups

Tier 3: Tùy chọn (mở rộng thông tin)

Biến ENV Kích hoạt Giới hạn Free Tier
URLSCAN_KEY URL scanning và website analysis 5.000 public scans/ngày
CIRCL_PDNS_USER / CIRCL_PDNS_PASS CIRCL Passive DNS lookups Partner access only

Zero-key start: 8 công cụ hoạt động mà không cần bất kỳ API key nào — EPSS, CISA KEV, OSV.dev, MITRE ATT&CK, CWE lookups, CVSS parsing, Ransomwhere và NVD (với tốc độ giảm). Bạn có thể bắt đầu sử dụng ngay và bổ sung key dần dần.


💬 Ví dụ sử dụng thực tế

Kịch bản 1: “Có nên vá Log4Shell ngay không?”

Bạn hỏi: “Phân tích CVE-2021-44228 (Log4Shell) xem có cần vá ngay không. Cho tôi điểm rủi ro và khuyến nghị.”

Claude sẽ tự động điều phối nhiều công cụ:

→ 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

Claude trả lời: “CVE-2021-44228 đạt 97/100 (CRITICAL). Remote code execution trong Apache Log4j, CVSS 10.0, xác suất EPSS 97.5%, xác nhận khai thác thực tế trong CISA KEV bao gồm chiến dịch ransomware, hơn 300 exploit công khai. Vá ngay lập tức.”

Kịch bản 2: “Quét requirements.txt Python”

Bạn hỏi: “Quét các dependency: 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 trả lời với khuyến nghị nâng cấp cụ thể cho từng package có lỗ hổng.

Kịch bản 3: “Điều tra IP khả nghi”

Bạn hỏi: “Điều tra IP khả nghi 185.220.101.34 — có phải mã độc không?”

→ 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

Kịch bản 4: “Tạo báo cáo bảo mật executive”

Bạn hỏi: “Tạo báo cáo bảo mật executive cho: CVE-2024-3400, CVE-2023-44487, CVE-2023-4966, CVE-2024-21887”

Claudy sẽ biên soạn từ NVD, EPSS, KEV, PoC availability, MITRE ATT&CK mapping và tạo: bảng xếp hạng rủi ro, timeline khắc phục, tóm tắt executive.


🏛️ Chi tiết cấu trúc source code

src/cve_mcp/
├── server.py              # FastMCP server — tất cả 27 @mcp.tool() definitions
├── config.py              # Cấu hình môi trường và 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 cho NVD
├── cache/
│   └── sqlite_cache.py    # Async SQLite cache với per-key TTL
└── utils/
    ├── validators.py       # CVE ID normalization, IP/hash validation
    └── risk_scorer.py      # Composite risk score computation

Chiến lược Caching

Dữ liệu được cache cục bộ trên SQLite với TTL riêng cho từng loại:

Tài nguyên TTL (Thời gian sống)
CVE records (NVD) 1 giờ
EPSS scores 6 giờ
KEV catalog 1 giờ
IP / domain intel 1 giờ
Exploit-DB CSV 24 giờ
ATT&CK STIX data 24 giờ
Ransomware intel 24 giờ

Audit Log

Mỗi lần gọi tool đều được ghi vào ~/.cve-mcp/audit.log. Ví dụ format:

{
  "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 keys và response payloads không bao giờ được ghi vào audit log.


🔐 Bảo mật và Quyền riêng tư

Dữ liệu rời khỏi máy của bạn

  • Chỉ HTTPS outbound — không mở port inbound, không telemetry
  • CVE IDs, IPs, hashes, domains và tên package được gửi đến respective API để tra cứu
  • Phản hồi API được cache cục bộ trong SQLite — dữ liệu cached luôn nằm trên máy bạn

Chặn Private IP

Tất cả công cụ network intelligence khóa các dải IP private và reserved trước khi gọi API:

  • 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16 (RFC 1918)
  • 127.0.0.0/8 (loopback), 169.254.0.0/16 (link-local)
  • ::1, fc00::/7 (IPv6 private)

Bảo vệ API Key

  • Keys chỉ được load từ environment variables — không hardcode
  • File .env được gitignore
  • Keys không bao giờ ghi log, cache hoặc đưa vào audit entries

An toàn XML

defusedxml được sử dụng cho mọi việc parse XML để ngăn chặn tấn công XML bomb (billion laughs, XXE injection).


🧪 Chạy Tests

# Chạy full test suite
pytest tests/ -v

# Chạy specific test files
pytest tests/test_validators.py tests/test_risk_scorer.py -v

# Chạy với coverage
pytest tests/ -v --cov=src/cve_mcp --cov-report=term-missing

Test với MCP Inspector

npx @modelcontextprotocol/inspector python -m cve_mcp.server

Mở tại http://localhost:6274 — test tương tác từng tool, xem input schema và inspect response format.

Phạm vi tests bao gồm

  • Unit tests: Tính toán risk score, parse CVSS vector, validation input
  • Integration tests: Tool registration, parameter validation, error handling khi thiếu key
  • Cache tests: SQLite cache writes, TTL expiration, cache hit/miss
  • Security tests: Chặn private IP, bảo vệ XML bomb (defusedxml), sanitize input

🗺️ Những gì Server KHÔNG làm

Để minh bạch, dự án nêu rõ các giới hạn:

  • Không active scanning — chỉ lookup/intelligence, không quét hạ tầng của bạn
  • Không write operations — chỉ đọc từ API ngoài (trừ URLScan submissions)
  • Không hỗ trợ CVSS v4.0 — calculator tích hợp chỉ xử lý v3.1; điểm v4.0 từ NVD được hiển thị nhưng không tính lại

Giới hạn API đã biết

  • NVD trả về tối đa 2.000 kết quả mỗi truy vấn
  • Điểm EPSS cho CVE mới (< 24 giờ) có thể chưa có
  • CISA KEV chỉ cập nhật vào ngày làm việc (US)
  • GreyNoise community tier: 50 queries/tuần
  • VirusTotal free tier: 4 requests/phút
  • CIRCL PDNS yêu cầu đăng ký và phê duyệt thủ công
  • Ransomwhere có embargo 90 ngày cho địa chỉ mới

Cải tiến dự kiến trong tương lai

  • Calculator CVSS v4.0 cục bộ
  • Webhook/alerting cho KEV additions và thay đổi EPSS trên watchlist CVE
  • Export STIX 2.1 cho tích hợp SIEM
  • Docker container với zero-install deployment
  • Streamable HTTP transport (MCP SSE)
  • Thêm nguồn: Censys, SecurityTrails, VulnCheck

Tổng kết

CVE MCP Server là một giải pháp production-grade thực sự ấn tượng cho bất kỳ ai làm trong lĩnh vực bảo mật thông tin. Thay vì phải thủ công truy vấn hàng chục nguồn dữ liệu khác nhau để phân tích một CVE, giờ đây chỉ cần hỏi Claude một câu và hệ thống sẽ tự động:

  1. Truy vấn song song nhiều nguồn dữ liệu (NVD, EPSS, CISA KEV, GitHub, VirusTotal…)
  2. Tính toán điểm rủi ro tổng hợp dựa trên công thức có trọng số khoa học
  3. Xếp hạng ưu tiên CVE để team biết cái gì cần vá trước
  4. Tạo báo cáo executive sẵn sàng trình ban lãnh đạo

Với 27 công cụ, 21 nguồn dữ liệu, khả năng zero-key start (8 công cụ không cần API key), và kiến trúc bảo mật vững chắc (chặn private IP, bảo vệ API key, audit log), đây là một dự án đáng để mọi security professional thử nghiệm và áp dụng vào quy trình làm việc hàng ngày.


Source link: CVE MCP Server – mukul975

Leave a Reply

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *