VirusTotal MCP Server 使用说明

项目简介

VirusTotal MCP Server 是一个基于 Model Context Protocol (MCP) 构建的应用后端,它充当 LLM 客户端与 VirusTotal API 之间的桥梁。该服务器将 VirusTotal 强大的安全分析能力封装成一系列易于 LLM 调用的工具,使 LLM 应用能够便捷地获取文件、URL、IP 地址和域名的安全报告及威胁情报信息。通过自动化的关联数据获取和清晰的结果呈现,该服务器旨在提升 LLM 在安全分析和威胁检测场景下的应用能力。

主要功能点

  • 综合安全报告: 提供 URL、文件、IP 地址和域名的全面安全分析报告,自动获取并整合相关的威胁情报数据。
  • 多种分析工具: 包含 URL 分析、文件分析、IP 地址分析和域名分析工具,覆盖常见的安全分析需求。
  • 详细关联分析: 提供工具用于查询特定类型的关联关系,例如与 URL 相关的通讯文件、与文件相关的行为等,并支持分页浏览。
  • 高级威胁搜索: 支持使用 VirusTotal Intelligence 高级搜索语法进行复杂查询,深入挖掘 VirusTotal 的威胁情报数据集。
  • 清晰结果呈现: 分析结果和关联数据经过结构化处理,以清晰易懂的方式呈现给 LLM 客户端。

安装步骤

  1. 环境准备: 确保已安装 Python 3.11 或更高版本。
  2. 获取 VirusTotal API 密钥: 访问 VirusTotal 官网 注册并获取 API 密钥。
  3. 设置环境变量: 将 VirusTotal API 密钥设置为名为 'VIRUSTOTAL_API_KEY' 的环境变量。例如,在 Linux/macOS 系统中,可以在终端执行 'export VIRUSTOTAL_API_KEY="YOUR_API_KEY"',在 Windows 系统中,可以在系统环境变量中添加。
  4. 安装 Python 包: 使用 pip 安装项目依赖的 Python 包:
    pip install aiohttp>=3.9.0 mcp[cli]>=1.4.1 python-dotenv>=1.0.0 typing-extensions>=4.8.0

服务器配置

MCP 客户端需要配置以下 JSON 信息以连接 VirusTotal MCP Server:

{
  "serverName": "virustotal-mcp",
  "command": "python",
  "args": ["-m", "virustotal_mcp"]
}

配置参数说明:

  • 'serverName': 服务器名称,可以自定义,例如 "virustotal-mcp"。
  • 'command': 启动服务器的命令,这里使用 'python' 命令。
  • 'args': 传递给 'python' 命令的参数,'-m virustotal_mcp' 表示以模块方式运行 'virustotal_mcp.py' 文件,即启动 VirusTotal MCP Server。

注意: 请确保 Python 环境已正确配置,并且 'python' 命令能够执行 'virustotal_mcp.py' 文件。

基本使用方法

  1. 启动 MCP 服务器: 在安装好依赖并配置好环境变量后,MCP 服务器可以通过 MCP 客户端配置的命令自动启动。

  2. 在 LLM 应用中使用工具: 在 MCP 客户端(如 Claude Desktop)中,可以使用以下工具来调用 VirusTotal MCP Server 的功能:

    • 获取 URL 报告: 'get_url_report(url="待分析的URL")'
    • 获取文件报告: 'get_file_report(hash="文件哈希值")'
    • 获取 IP 报告: 'get_ip_report(ip="IP 地址")'
    • 获取域名报告: 'get_domain_report(domain="域名")'
    • 高级威胁搜索: 'advanced_corpus_search(query="VT Intelligence 查询语句")'
    • 获取 URL 关联关系: 'get_url_relationship(url="URL", relationship="关联关系类型")'
    • 获取文件关联关系: 'get_file_relationship(hash="文件哈希值", relationship="关联关系类型")'
    • 获取 IP 关联关系: 'get_ip_relationship(ip="IP 地址", relationship="关联关系类型")'
    • 获取域名关联关系: 'get_domain_relationship(domain="域名", relationship="关联关系类型")'
    • 获取文件行为摘要: 'get_file_behavior_summary(hash="文件哈希值")'

    具体的工具参数和使用方法请参考仓库 'README.md' 文件中 "Tools" 部分的详细描述。

  3. 查看分析结果: LLM 客户端会接收并展示 VirusTotal MCP Server 返回的分析结果,用户可以根据结果进行安全分析和威胁评估。

提示: 请确保 VirusTotal API 密钥有效且有足够的 API 调用额度,否则可能影响服务器的正常使用。高级搜索工具 'advanced_corpus_search' 需要 VirusTotal Intelligence 订阅才能使用。

信息

分类

网页与API