Viper 是一个AI驱动的漏洞情报、优先级排序和利用报告引擎。其 MCP(Model Context Protocol)服务器模块专为与 Claude Desktop 等 MCP 客户端集成而设计,允许用户通过自然语言访问 Viper 的核心网络安全分析能力。

项目简介

Viper 收集来自 NVD、EPSS、CISA KEV 等关键来源的漏洞数据,利用 AI 进行深度分析和风险优先级评估。通过 MCP 服务器,这些能力被封装为易于 LLM 调用的工具,极大地增强了 LLM 在处理漏洞信息方面的实用性。

主要功能点(通过MCP工具暴露)

MCP服务器提供以下关键功能,可通过集成的LLM客户端调用:

  • 执行实时CVE查询: 对特定 CVE 进行全面实时分析,整合来自 NVD、EPSS、CISA KEV 等多个来源的数据,并可选择保存到本地数据库。
  • 获取NVD CVE详情: 直接从国家漏洞数据库 (NVD) 获取详细的 CVE 信息,包括描述、CVSS评分、参考资料等。
  • 获取CVE的EPSS数据: 检索特定 CVE 的漏洞利用预测评分系统 (EPSS) 数据,评估其在未来30天内被利用的可能性。
  • 检查CVE是否在CISA KEV目录中: 验证特定 CVE 是否已被列入美国网络安全和基础设施安全局 (CISA) 的已知被利用漏洞 (KEV) 目录。
  • 搜索CVE的公开利用: 在 GitHub 和 Exploit-DB 等公共资源库中搜索与特定 CVE 相关的公开利用代码或 PoC。
  • 获取Gemini AI CVE优先级: 利用集成的 Gemini AI 模型对 CVE 进行分析并确定其优先级(高/中/低)。
  • 获取Gemini AI CVE分析: 获取 Gemini AI 对特定 CVE 的综合性分析报告和见解。
  • 获取Viper风险评分: 根据 CVSS、EPSS、KEV 状态、AI 分析等多种因素计算 Viper 自身的综合风险评分。
  • 生成Viper CVE警报: 根据预设或可配置的规则为 CVE 生成安全警报。
  • 获取综合CVE分析: 运行一套完整的 Viper 分析流程,包括 AI 优先级、风险评分和警报生成。
  • 将CVE数据保存到Viper数据库: 将获取或分析的 CVE 数据保存到本地 SQLite 数据库中。
  • 获取实时MSRC信息: 主动从微软安全响应中心 (MSRC) 获取给定 CVE 相关的安全更新信息。

安装步骤

  1. 克隆仓库: 打开终端,使用 Git 克隆 Viper 仓库到本地。
    git clone https://github.com/ozanunal0/viper.git
    cd viper
  2. 安装依赖: Viper 推荐使用虚拟环境。运行安装脚本来创建虚拟环境并安装所有依赖。
    ./setup.sh
    (如果 './setup.sh' 脚本不可用或遇到问题,你也可以手动创建虚拟环境并安装 'pip install -r requirements.txt')
  3. 配置环境变量: 复制 'env.example' 文件为 '.env',并编辑 '.env' 文件,填入必要的 API 密钥,特别是 'GEMINI_API_KEY'(必须),以及可选的 'GITHUB_TOKEN' 等,以解锁全部功能。
    cp env.example .env
    nano .env # 或者使用你喜欢的编辑器
  4. 初始化数据库: 运行数据库初始化脚本。
    python src/initialize_db.py
  5. 赋予 MCP 脚本执行权限: 确保用于启动 MCP 服务器的脚本具有执行权限。
    chmod +x run_mcp_clean.sh

服务器配置 (MCP客户端)

将以下 JSON 配置信息添加到你的 MCP 客户端(如 Claude Desktop)的 MCP 服务器配置中。请务必将 '/FULL/PATH/TO/YOUR/viper/run_mcp_clean.sh' 替换为你本地 Viper 仓库中 'run_mcp_clean.sh' 脚本的完整绝对路径。

{
  "ViperMCPServer": {
    "command": "/FULL/PATH/TO/YOUR/viper/run_mcp_clean.sh"
    // "args": [] // 可选:如果run_mcp_clean.sh脚本需要额外的启动参数,可以在这里添加一个参数列表
    // "initializationTimeoutSeconds": 30 // 可选:设置服务器启动的超时时间,默认可能足够
    // "capabilities": { ... } // 由服务器在初始化时声明,无需在此处手动配置
    // "serverInfo": { ... } // 由服务器在初始化时声明,无需在此处手动配置
  }
}

配置完成后,重启 MCP 客户端。客户端应该能够检测到 Viper MCP 服务器并声明其提供的工具。

基本使用方法 (通过MCP客户端)

一旦 Viper MCP 服务器在你的 MCP 客户端中成功配置和启动,你就可以在与 LLM 交互时通过自然语言调用 Viper 的工具。例如:

  • 要对 CVE-2024-3400 进行全面分析:
    Perform comprehensive live cve lookup for CVE-2024-3400 and save to db
  • 要获取特定 CVE 的 EPSS 分数:
    Get epss data for cve CVE-2023-44487
  • 要检查 CVE 是否在 CISA KEV 目录中:
    Check cve in cisa kev for CVE-2024-1234
  • 要搜索 CVE 的公开利用:
    Search public exploits for cve CVE-2023-5678 on github
  • 要计算风险评分:
    Get viper risk score for CVE-2024-0001

客户端(LLM)会根据你的自然语言请求,自动匹配并调用相应的 Viper MCP 工具,并展示工具执行的结果。

信息

分类

AI与计算