项目简介
VirusTotal Server 是一个基于 Model Context Protocol (MCP) 构建的后端服务器,旨在为大型语言模型 (LLM) 客户端提供安全分析和威胁情报能力。它通过集成 VirusTotal API,允许 LLM 客户端查询各种安全信息,包括 URL、文件、IP 地址和域名的分析报告,以及它们之间的关联关系。该服务器使得 LLM 能够理解和利用来自 VirusTotal 的威胁情报数据,从而增强安全分析和决策能力。
主要功能点
- 综合安全分析报告: 提供 URL、文件、IP 地址和域名的详细安全分析报告,包括病毒扫描结果、信誉评分、社区投票等。
- 自动关联关系数据: 在生成分析报告的同时,自动获取并包含相关的威胁情报关系数据,例如 URL 报告中会包含关联的域名、IP 地址、下载文件等信息,文件报告会包含行为分析、落地文件、网络连接等信息。
- 详细关系查询工具: 除了报告中的自动关联关系数据,还提供独立的工具用于深入查询特定类型的关系,并支持分页,方便进行更细致的威胁情报分析。
- 支持多种分析类型:
- URL 分析: 分析 URL 的安全风险,包括扫描结果、重定向链、外链、追踪器等。
- 文件分析: 基于文件哈希值分析文件,包括病毒检测结果、文件属性、沙箱行为分析、YARA 规则匹配等。
- IP 地址分析: 分析 IP 地址的地理位置、ASN 信息、信誉以及关联的文件、域名等。
- 域名分析: 分析域名的 DNS 记录、WHOIS 信息、SSL 证书以及子域名等。
- 结果格式化: 所有工具返回的结果都经过清晰的格式化处理,方便 LLM 理解和使用。
安装步骤
通过 Smithery 安装 (推荐)
-
确保您已安装了 Smithery CLI。
-
运行以下命令,即可自动安装 VirusTotal Server 并配置 Claude Desktop (或其他兼容 MCP 的客户端):
npx -y @smithery/cli install @burtthecoder/mcp-virustotal --client claude
手动安装
-
全局安装 Server: 使用 npm 全局安装 VirusTotal Server:
npm install -g @burtthecoder/mcp-virustotal -
配置 MCP 客户端: 编辑您的 MCP 客户端 (例如 Claude Desktop) 的配置文件,添加 VirusTotal Server 的配置信息。
不同客户端的配置文件位置可能不同,对于 Claude Desktop,配置文件通常位于:
- macOS: '~/Library/Application Support/Claude/claude_desktop_config.json'
- Windows: '%APPDATA%\Claude\claude_desktop_config.json'
在 'mcpServers' 字段下添加 'virustotal' 服务器配置,并填入您的 VirusTotal API 密钥:
{ "mcpServers": { "virustotal": { "command": "mcp-virustotal", "env": { "VIRUSTOTAL_API_KEY": "YOUR_VIRUSTOTAL_API_KEY" } } } }请务必将 'YOUR_VIRUSTOTAL_API_KEY' 替换为您在 VirusTotal 官网 申请的有效 API 密钥。
-
重启 MCP 客户端: 保存配置文件后,重启您的 MCP 客户端 (例如 Claude Desktop) 使配置生效。
服务器配置
以下是配置 VirusTotal Server 的 JSON 代码,通常用于 MCP 客户端的配置文件中。您需要根据您的安装方式和需求进行配置。
{ "serverName": "virustotal", "command": "mcp-virustotal", "args": [], "env": { "VIRUSTOTAL_API_KEY": "YOUR_VIRUSTOTAL_API_KEY" } }
配置参数说明:
- 'serverName': 服务器名称,例如 "virustotal",在客户端中用于标识和调用该服务器。
- 'command': 启动 MCP 服务器的命令。
- 如果使用 'npm install -g' 全局安装,则命令通常为 'mcp-virustotal'。
- 如果从源码启动,则需要指定 'node' 命令和 'index.js' 文件的绝对路径,例如 '"node"','args' 为 '["--experimental-modules", "/absolute/path/to/mcp-virustotal/build/index.js"]'。
- 'args': 启动命令的参数,通常为空数组 '[]'。 在从源码启动时可能需要配置额外的参数,例如 '["--experimental-modules", "/absolute/path/to/mcp-virustotal/build/index.js"]'。
- 'env': 环境变量配置。
- 'VIRUSTOTAL_API_KEY': 必填。您的 VirusTotal API 密钥,用于访问 VirusTotal API 服务。请务必替换为您的真实 API 密钥。
基本使用方法
配置完成后,您的 MCP 客户端 (例如 Claude Desktop) 应该能够识别并连接到 VirusTotal Server。您可以通过客户端提供的工具列表或指令来调用 VirusTotal Server 提供的工具,例如:
- 使用 'get_url_report' 工具分析 URL 的安全报告,参数为 '{"url": "待分析的URL"}'。
- 使用 'get_file_report' 工具分析文件的安全报告,参数为 '{"hash": "文件的哈希值 (MD5, SHA-1 或 SHA-256)"}'。
- 使用 'get_ip_report' 工具分析 IP 地址的安全报告,参数为 '{"ip": "待分析的 IP 地址"}'。
- 使用 'get_domain_report' 工具分析域名的安全报告,参数为 '{"domain": "待分析的域名"}'。
- 使用 'get_url_relationship'、'get_file_relationship'、'get_ip_relationship' 和 'get_domain_relationship' 工具查询特定类型的关系数据,例如查询 URL 的 'contacted_domains' 关系。
具体工具的使用方法和参数,请参考仓库 README.md 文件中 "Tools" 章节的详细描述。您的 MCP 客户端也可能提供工具的参数提示和使用界面。
信息
分类
网页与API