返回市场
漏洞-MCP

漏洞-MCP

作者:rinadelph5 星标更新:2025-07-01

项目介绍

CVE-MCP: 高级CVE情报MCP服务器

作者: Luis Alejandro Rincon (rinadelph)
许可证: AGPL-3.0

一个高级模型上下文协议(MCP)服务器,提供全面的CVE漏洞情报,具有独特的分析能力、趋势检测和风险评估功能。

概述

CVE-MCP超越了基本的CVE搜索功能,提供了深入的漏洞情报,包括可利用性评估、趋势分析和批量漏洞检查。基于支持SSE传输的MCP框架构建,它与AI助手无缝集成,同时提供先进的安全洞察。

独特功能

  • 🔍 高级CVE搜索: 多条件搜索并带有智能缓存
  • 📊 趋势分析: 分析CVE模式和随时间分布
  • ⚠️ 利用风险评估: 使用自定义风险评分评估可利用性
  • 🚀 批量操作: 同时检查多个CVE并提供汇总统计
  • 💾 智能缓存: 内存响应缓存以提高性能
  • 🔐 增强的安全分析: 超越基本CVSS分数的深度漏洞洞察
  • 📄 分页支持: 使用内置分页高效处理大型结果集
  • 📊 详细日志: 全面的服务器端日志用于调试和监控

安装

先决条件

  • Python 3.9或更高版本
  • pip包管理器
  • NVD API密钥(建议用于更高的速率限制)

设置

  1. 克隆仓库:
git clone https://github.com/rinadelph/CVE-MCP.git
cd CVE-MCP
  1. 安装依赖项:
pip install -e .
  1. 配置您的NVD API密钥(推荐):
# 设置为环境变量
export NVD_API_KEY="your-api-key-here"

# 或创建.env文件
echo "NVD_API_KEY=your-api-key-here" > .env

要获取NVD API密钥:

使用

作为SSE服务器运行(推荐)

# 在默认端口8088上运行
python main.py --transport sse

# 在自定义端口上运行
python main.py --transport sse --port 8080

服务器将在http://0.0.0.0:8088(或您指定的端口)启动,并接受SSE连接。

使用STDIO传输运行

python main.py --transport stdio

使用安装的命令运行

安装后,您也可以使用:

# SSE模式
cve-mcp --transport sse --port 8088

# STDIO模式
cve-mcp --transport stdio

与AI助手集成

对于Cursor IDE或其他兼容MCP的工具:

  1. 使用您的NVD API密钥更新cursor-plug.json文件
  2. 将配置添加到您的项目中
  3. MCP服务器将自动可用

可用工具

1. cve_search - 高级CVE搜索

使用多个过滤选项搜索CVE,并进行智能结果排名。

参数:

  • keyword: 在CVE描述中搜索
  • vendor: 按供应商名称筛选
  • product: 按产品筛选(需要供应商)
  • severity: 按严重程度筛选(LOW, MEDIUM, HIGH, CRITICAL)
  • last_days: 最近N天的CVE
  • cve_id: 搜索特定CVE
  • limit: 获取的最大结果数(默认:100)
  • page: 分页的页面编号(默认:1)
  • page_size: 每页的结果数(默认:10,最大:50)

2. cve_details - 综合CVE信息

获取详细的漏洞信息,包括所有指标、弱点和配置。

参数:

  • cve_id: CVE标识符(必需)

3. recent_cves - 最新漏洞监控

跟踪新发布的或修改过的CVE,按严重程度筛选。

参数:

  • hours: 回溯周期(默认:24)
  • severity: 按严重程度级别筛选

4. cve_by_vendor - 供应商特定搜索

通过供应商/产品/版本和CPE匹配搜索漏洞。

参数:

  • vendor: 供应商名称(必需)
  • product: 产品名称(可选)
  • version: 产品版本(可选)

5. cve_analyze_trends - 趋势分析(独特)

分析CVE模式和分布以获得战略洞察。

参数:

  • vendor: 按供应商筛选
  • last_days: 分析周期(默认:30)
  • severity: 按严重程度筛选

返回:

  • 严重程度分布
  • 年度分布
  • 统计摘要

6. cve_exploit_assessment - 风险评估(独特)

使用自定义风险评分算法评估CVE的可利用性。

参数:

  • cve_id: 要评估的CVE(必需)

返回:

  • 风险等级(LOW/MEDIUM/HIGH/CRITICAL)
  • 风险评分(0-10)
  • 利用可用性
  • 攻击向量分析

7. cve_bulk_check - 批量漏洞检查(独特)

同时检查多个CVE并提供聚合统计。

参数:

  • cve_ids: CVE ID列表(最多10个)

返回:

  • 单个CVE状态
  • 聚合统计
  • 严重程度分布

示例用法

搜索最近30天内的微软关键漏洞(带分页)

{
  "tool": "cve_search",
  "parameters": {
    "vendor": "microsoft",
    "severity": "CRITICAL",
    "last_days": 30,
    "page": 1,
    "page_size": 10
  }
}

获取下一页结果

{
  "tool": "cve_search",
  "parameters": {
    "vendor": "microsoft",
    "severity": "CRITICAL",
    "last_days": 30,
    "page": 2,
    "page_size": 10
  }
}

分析Apache漏洞趋势

{
  "tool": "cve_analyze_trends",
  "parameters": {
    "vendor": "apache",
    "last_days": 90
  }
}

评估利用风险

{
  "tool": "cve_exploit_assessment",
  "parameters": {
    "cve_id": "CVE-2023-12345"
  }
}

架构

CVE-MCP构建于:

  • 异步/等待实现高性能并发操作
  • 智能缓存减少API调用并提高响应时间
  • 模块化设计便于扩展和维护
  • 全面错误处理带有详细错误消息
  • SSE传输实现实时流媒体功能

API速率限制

  • 无API密钥:每30秒5次请求
  • 有API密钥:每30秒50次请求
  • 内置缓存有助于在速率限制内最大化效率

贡献

欢迎贡献!请随时提交问题或拉取请求。

致谢

  • 国家漏洞数据库(NVD)提供CVE数据
  • MCP框架开发者实现了优秀的协议
  • SSE传输模式灵感来自domain-mcp实现

许可证

本项目根据GNU Affero通用公共许可证v3.0(AGPL-3.0)授权。

联系方式

由Luis Alejandro Rincon (rinadelph) 创建
GitHub: https://github.com/rinadelph/CVE-MCP


通过智能漏洞分析构建安全系统