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 客户端。
安装步骤
- 环境准备: 确保已安装 Python 3.11 或更高版本。
- 获取 VirusTotal API 密钥: 访问 VirusTotal 官网 注册并获取 API 密钥。
- 设置环境变量: 将 VirusTotal API 密钥设置为名为 'VIRUSTOTAL_API_KEY' 的环境变量。例如,在 Linux/macOS 系统中,可以在终端执行 'export VIRUSTOTAL_API_KEY="YOUR_API_KEY"',在 Windows 系统中,可以在系统环境变量中添加。
- 安装 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' 文件。
基本使用方法
-
启动 MCP 服务器: 在安装好依赖并配置好环境变量后,MCP 服务器可以通过 MCP 客户端配置的命令自动启动。
-
在 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" 部分的详细描述。
-
查看分析结果: LLM 客户端会接收并展示 VirusTotal MCP Server 返回的分析结果,用户可以根据结果进行安全分析和威胁评估。
提示: 请确保 VirusTotal API 密钥有效且有足够的 API 调用额度,否则可能影响服务器的正常使用。高级搜索工具 'advanced_corpus_search' 需要 VirusTotal Intelligence 订阅才能使用。
信息
分类
网页与API