返回市场
漏洞情报MCP服务器

漏洞情报MCP服务器

作者:firetix9 星标更新:2025-05-23

项目介绍

<p align="center"> <img src="logo.png" alt="Vibe 测试仪 Logo" width="270"/> </p>

MCP 漏洞检测服务器

一个模块化的模型上下文协议(MCP)服务器,提供全面的安全漏洞情报工具,包括 CVE 查找、EPSS 评分、CVSS 计算、漏洞利用检测以及 Python 包漏洞检查。

示例

<p align="center"> <img src="demo.gif" alt="示例"/> </p>

🔗 使用托管服务器

漏洞情报 MCP 服务器已经托管并准备好使用!只需配置您的 MCP 客户端连接到它即可。

Claude 桌面配置

在您的 Claude 桌面设置文件中添加此配置(~/.config/claude/claude_desktop_config.json):

{
  "mcpServers": {
    "vulnerability-intelligence": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-fetch"],
      "env": {
        "FETCH_URL": "https://vulnerability-intelligence-mcp-server-edb8b15494e8.herokuapp.com/sse"
      }
    }
  }
}

Cursor IDE 配置

在您的 Cursor MCP 设置文件中添加此配置(~/.cursor/mcp.json):

{
  "mcpServers": {
    "vulnerability-intelligence": {
      "url": "https://vulnerability-intelligence-mcp-server-edb8b15494e8.herokuapp.com/sse"
    }
  }
}

或者,在 Cursor IDE 中:

  1. 打开 Cursor 设置 → 功能 → MCP 服务器
  2. 点击“添加新服务器”
  3. 选择类型为“服务器发送事件(SSE)”
  4. 输入 URL:https://vulnerability-intelligence-mcp-server-edb8b15494e8.herokuapp.com/sse
  5. 给它命名:vulnerability-intelligence

测试连接

配置完成后,尝试在 Claude 或 Cursor 中使用这些示例查询:

  • CVE 查找:"查找 CVE-2021-44228"(Log4Shell 漏洞)
  • EPSS 评分:"获取 CVE-2021-44228 的 EPSS 评分"
  • 包检查:"检查 'requests' Python 包是否存在漏洞"
  • 漏洞利用检查:"检查 CVE-2021-44228 的漏洞利用情况"
  • CVSS 计算器:"计算向量 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H 的 CVSS 分数"

🛡️ 可用安全工具

🔍 CVE 漏洞查找 (cve_lookup)

  • 目的:从国家漏洞数据库(NVD)获取详细的漏洞信息
  • 数据源:NIST 国家漏洞数据库 API 2.0
  • 用法cve_lookup cve_id="CVE-2021-44228"
  • 功能
    • CVSS 分数(v2.0, v3.0, v3.1)及其严重性评级
    • 全面的漏洞描述
    • 参考资料、建议和修复链接
    • 常见弱点枚举(CWE)映射
    • 发布和修改时间线
    • 受影响的产品配置

📊 EPSS 评分查找 (get_epss_score)

  • 目的:获取 CVE 的 Exploit Prediction Scoring System(EPSS)评分
  • 数据源:FIRST EPSS API
  • 用法get_epss_score cve_id="CVE-2021-44228"
  • 功能
    • 在 30 天内被利用的概率
    • 基于人工智能的风险优先级
    • 实时威胁情报集成
    • 相对风险评估的百分位排名

🧮 CVSS 分数计算器 (calculate_cvss_score)

  • 目的:根据向量字符串计算 CVSS 基础分数
  • 数据源:CVSS v3.0/v3.1 规范
  • 用法calculate_cvss_score vector="CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"
  • 功能
    • 支持 CVSS v3.0 和 v3.1
    • 详细指标分解
    • 严重级别映射(Critical, High, Medium, Low)
    • 向量字符串验证和解析

🔎 漏洞搜索 (search_vulnerabilities)

  • 目的:使用高级过滤器搜索漏洞数据库
  • 数据源:多个漏洞数据库(NVD, CVE)
  • 用法search_vulnerabilities keywords="apache" severity="HIGH" date_range="1y"
  • 功能
    • 关键词搜索漏洞描述
    • 严重性过滤(CRITICAL, HIGH, MEDIUM, LOW)
    • 时间范围过滤(30d, 90d, 1y, 2y 或自定义)
    • 高级查询能力用于威胁研究

🎯 漏洞利用可用性检查 (get_exploit_availability)

  • 目的:检查公开的漏洞利用和概念证明(PoC)
  • 数据源:ExploitDB, Metasploit, GitHub, 安全公告
  • 用法get_exploit_availability cve_id="CVE-2021-44228"
  • 功能
    • 多来源漏洞利用检测
    • 活跃利用指示器
    • PoC 代码可用性评估
    • 威胁情报聚合

⏰ 漏洞时间线 (get_vulnerability_timeline)

  • 目的:获取全面的时间线和补丁状态信息
  • 数据源:NVD, 供应商公告, 安全公告
  • 用法get_vulnerability_timeline cve_id="CVE-2021-44228"
  • 功能
    • 发布和披露时间线
    • 补丁可用状态
    • 供应商公告跟踪
    • 修复指导时间线

🎯 VEX 状态检查 (get_vex_status)

  • 目的:检查特定产品的漏洞可利用性交换(VEX)状态
  • 数据源:供应商 VEX 声明和产品安全公告
  • 用法get_vex_status cve_id="CVE-2021-44228" product="Apache HTTP Server"
  • 功能
    • 产品特定的影响评估
    • 供应商提供的可利用性声明
    • 假阳性过滤
    • 供应链影响分析

📦 Python 包漏洞检查 (package_vulnerability_check)

  • 目的:检查 Python 包是否存在已知的安全漏洞
  • 数据源:OSV(开源漏洞)数据库 + PyPI
  • 用法package_vulnerability_check package_name="requests" version="2.25.1"
  • 功能
    • 对 PyPI 包进行全面的漏洞扫描
    • 版本特定或所有版本检查
    • 详细的漏洞报告及严重性评分
    • 受影响的版本范围和修复信息
    • 集成 CVE, GHSA 和 PYSEC 数据库
    • 来自 PyPI 的包元数据

🏗️ 模块化架构

该服务器采用干净的模块化架构构建:

mcp_simple_tool/
├── server.py                    # 主 MCP 服务器编排
└── tools/                       # 单个工具模块
    ├── cve_lookup.py            # CVE 漏洞查找
    ├── epss_lookup.py           # EPSS 评分查找
    ├── cvss_calculator.py       # CVSS 分数计算器
    ├── vulnerability_search.py  # 高级漏洞搜索
    ├── exploit_availability.py  # 漏洞利用和 PoC 检测
    ├── vulnerability_timeline.py # 时间线和补丁状态
    ├── vex_status.py            # VEX 状态检查
    └── package_vulnerability.py # Python 包安全性检查

tests/                           # 全面测试套件
├── run_tests.py                 # 自动化测试运行器
└── test_*.py                    # 单个工具测试

🔧 替代设置方法

Docker 设置(推荐用于本地开发)

  1. 初始设置:
# 克隆仓库
git clone https://github.com/firetix/vulnerability-intelligence-mcp-server
cd vulnerability-intelligence-mcp-server

# 创建环境文件
cp .env.example .env
  1. 使用 Docker Compose 构建和运行:
# 构建并启动服务器
docker compose up --build -d

# 查看日志
docker compose logs -f

# 检查服务器状态
docker compose ps

# 停止服务器
docker compose down
  1. 服务器将在以下地址可用:http://localhost:8000/sse

  2. 连接到 Cursor IDE:

    • 打开 Cursor 设置 → 功能
    • 添加新的 MCP 服务器
    • 类型:选择 "sse"
    • URL:输入 http://localhost:8000/sse

本地开发设置

  1. 安装 uv 包管理器:
# 在 macOS 上安装 uv
brew install uv
# 或通过 pip 安装(任何操作系统)
pip install uv
  1. 安装依赖项并运行:
# 安装带有开发依赖项的包
uv pip install -e ".[dev]"

# 使用 stdio 传输(默认)
uv run mcp-simple-tool

# 使用自定义端口的 SSE 传输
uv run mcp-simple-tool --transport sse --port 8000

# 运行全面测试套件
python tests/run_tests.py
  1. 对于 Cursor IDE 集成(stdio 模式):
    • 复制绝对路径到 cursor-run-mcp-server.sh
    • 打开 Cursor 设置 → 功能 → MCP 服务器
    • 添加具有 "stdio" 类型的新服务器,并填写脚本路径

🧪 测试工具

运行全面测试套件:

# 运行所有测试
python tests/run_tests.py

# 运行单个工具测试
python tests/test_cve_lookup.py
python tests/test_package_vulnerability.py  
python tests/test_modular_server.py

示例测试输出

CVE 查找测试:

🔍 **CVE 漏洞报告: CVE-2021-44228**

📅 **时间线:**
   • 发布日期:2021-12-10T10:15:09.143
   • 最后修改日期:2023-11-07T04:10:58.217

⚠️ **CVSS 分数:**
   • CVSS 3.1: 10.0 (CRITICAL)

包漏洞测试:

🚨 **Python 包安全报告: requests**

⚠️ **发现 11 个已知漏洞**

📦 **包信息:**
   • 最新版本:2.32.3
   • 概述:Python HTTP for Humans.

🌍 环境变量

可用环境变量(可以在 .env 中设置):

  • MCP_SERVER_PORT(默认:8000) - 运行服务器的端口
  • MCP_SERVER_HOST(默认:0.0.0.0) - 绑定服务器的主机
  • DEBUG(默认:false) - 启用调试模式
  • MCP_USER_AGENT - HTTP 请求的自定义 User-Agent

🚀 部署您自己的实例

如果您想部署您自己的漏洞情报服务器实例,可以使用 Heroku 快速部署:

快速部署到 Heroku

  1. 点击“部署到 Heroku”按钮

    部署到 Heroku

  2. 部署后,您的实例将在以下地址可用:

    • https://<your-app-name>.herokuapp.com/sse
  3. 配置您的 MCP 客户端以使用已部署的实例:

    • 对于 Claude 桌面:更新配置中的 FETCH_URL
    • 对于 Cursor IDE:更新 MCP 设置中的 URL
  4. 使用相同的示例查询测试您的部署:

    • CVE 查找:"查找 CVE-2021-44228"
    • EPSS 评分:"获取 CVE-2021-44228 的 EPSS 评分"
    • 包检查:"检查 'requests' Python 包是否存在漏洞"
    • 漏洞利用检查:"检查 CVE-2021-44228 的漏洞利用情况"

📊 数据源与 API

🤝 安全用例

这个 MCP 服务器设计用于需要以下功能的安全工程师、开发人员和团队:

漏洞研究与情报

  • 快速 CVE 查找并获取详细信息
  • CVSS 和 EPSS 评分进行准确的风险评估
  • 跨多个数据库的高级漏洞搜索
  • 漏洞利用和威胁情报收集
  • 时间线分析以了解漏洞生命周期

风险评估与优先级排序

  • 基于 EPSS 的利用概率评分
  • CVSS 向量计算和验证
  • 产品特定的 VEX 状态检查
  • 结合多个数据源的多因素风险分析

依赖管理

  • Python 包安全审计
  • 版本特定的漏洞检查
  • 供应链安全评估
  • 开源组件风险评估

安全运营与事件响应

  • 快速漏洞分类和分级
  • 威胁建模的漏洞利用评估
  • 安全公告研究和关联
  • 基于时间线的补丁管理规划

🔄 扩展服务器

模块化架构使得添加新的安全工具变得容易:

  1. mcp_simple_tool/tools/ 中创建一个新的模块
  2. tools/__init__.py 中导出函数
  3. server.py 中注册工具
  4. tests/ 中添加测试

详见 README_MODULAR.md 以获取详细的扩展指南。

📄 许可证

MIT 许可证 - 详情参见 LICENSE 文件。