CVE-MCP:高级CVE智能MCP服务器
作者 路易斯·亚历杭德罗·林孔(里纳德尔夫)\ 许可证: AGPL-3.0
一种先进的模型上下文协议(MCP)服务器,提供全面的CVE漏洞情报,具有独特的分析能力、趋势检测和风险评估功能。
概述
CVE-MCP超越了基本的CVE搜索功能,提供了深入的漏洞情报,包括可利用性评估、趋势分析和批量漏洞检查。基于MCP框架和SSE传输支持,它与AI助手无缝集成,同时提供先进的安全见解。
特点
- 🔍 高级CVE搜索:具有智能缓存的多条件搜索
- 📊 趋势分析:分析CVE模式和随时间的分布
- ⚠️ 利用风险评估:使用自定义风险评分评估可利用性
- 🚀 批量操作:使用摘要统计信息同时检查多个CVE
- 💾 智能缓存:内存中的响应缓存可提高性能
- 🔐 增强的安全分析:超越基本CVSS分数的深度漏洞洞察
- 📄 分页支持:通过内置分页功能高效处理大型结果集
- 📊 详细日志记录:用于调试和监控的全面服务器端日志记录
安装
先决条件
- Python 3.9或更高版本
- pip包管理器
- NVD API密钥(建议用于更高的速率限制)
设置
- 克隆存储库:
git clone https://github.com/rinadelph/CVE-MCP.git
cd CVE-MCP- 安装依赖项:
pip install -e .- 配置您的NVD API密钥(推荐):
# Set as environment variable
export NVD_API_KEY="your-api-key-here"
# Or create .env file
echo "NVD_API_KEY=your-api-key-here" > .env要获取NVD API密钥:
- 访问https://nvd.nist.gov/developers/request-an-api-key
- 注册免费的API密钥
- API密钥提供50个请求/30秒(与没有密钥的5个请求相比)
用法
作为SSE服务器运行(推荐)
# Run on default port 8088
python main.py --transport sse
# Run on custom port
python main.py --transport sse --port 8080服务器将于启动 http://0.0.0.0:8088 (或您指定的端口)并接受SSE连接。
使用STDIO传输运行
python main.py --transport stdio使用已安装的命令运行
安装后,您还可以使用:
# SSE mode
cve-mcp --transport sse --port 8088
# STDIO mode
cve-mcp --transport stdio与AI助手集成
对于Cursor IDE或其他MCP兼容工具:
- 更新
cursor-plug.json使用您的NVD API密钥文件 - 将配置添加到项目中
- MCP服务器将自动可用
可用工具
1. cve_search -高级CVE搜索
使用多个过滤器选项和智能结果排名搜索CVE。
参数:
keyword:在CVE描述中搜索vendor:按供应商名称筛选product:按产品筛选(需要供应商)severity:按严重程度过滤(低、中、高、临界)last_days:过去N天的CVEcve_id:搜索特定CVElimit:要获取的最大结果(默认值: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评估(必填)
退货:
- 风险等级(低/中/高/临界)
- 风险评分(0-10)
- 利用可用性
- 攻击向量分析
7. cve_bulk_check -批量漏洞检查(唯一)
使用聚合统计信息同时检查多个CVE。
参数:
cve_idsCVE ID 列表 (最多 10 个)
退货:
- 个人CVE状态
- 汇总统计
- 强度分布
示例用法
搜索Microsoft关键漏洞(带分页)
{
"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个请求
- 内置缓存有助于在速率限制内最大限度地提高效率
贡献
欢迎投稿!请随时提交问题或拉取请求。
致谢
- 提供CVE数据的国家漏洞数据库(NVD)
- MCP框架开发人员提供卓越的协议实现
- 受域mcp实现启发的SSE传输模式
许可证
本项目根据GNU Affero通用公共许可证v3.0(AGPL-3.0)获得许可。
联系
由路易斯·亚历杭德罗·林康(rinadelph)创作\ github:https://github.com/rinadelph/CVE-MCP
______________________________________________________________________
*通过智能漏洞分析构建安全系统*
