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 相关的安全更新信息。
安装步骤
- 克隆仓库: 打开终端,使用 Git 克隆 Viper 仓库到本地。
git clone https://github.com/ozanunal0/viper.git cd viper - 安装依赖: Viper 推荐使用虚拟环境。运行安装脚本来创建虚拟环境并安装所有依赖。
(如果 './setup.sh' 脚本不可用或遇到问题,你也可以手动创建虚拟环境并安装 'pip install -r requirements.txt')./setup.sh - 配置环境变量: 复制 'env.example' 文件为 '.env',并编辑 '.env' 文件,填入必要的 API 密钥,特别是 'GEMINI_API_KEY'(必须),以及可选的 'GITHUB_TOKEN' 等,以解锁全部功能。
cp env.example .env nano .env # 或者使用你喜欢的编辑器 - 初始化数据库: 运行数据库初始化脚本。
python src/initialize_db.py - 赋予 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与计算