项目简介

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 安装 (推荐)

  1. 确保您已安装了 Smithery CLI

  2. 运行以下命令,即可自动安装 VirusTotal Server 并配置 Claude Desktop (或其他兼容 MCP 的客户端):

    npx -y @smithery/cli install @burtthecoder/mcp-virustotal --client claude

手动安装

  1. 全局安装 Server: 使用 npm 全局安装 VirusTotal Server:

    npm install -g @burtthecoder/mcp-virustotal
  2. 配置 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 密钥。

  3. 重启 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