Skip to main content
Glama

VirusTotal MCP 服务器

铁匠徽章

用于查询VirusTotal API 的模型上下文协议 (MCP) 服务器。该服务器提供全面的安全分析工具,并可自动获取关系数据。它与Claude Desktop等兼容 MCP 的应用程序无缝集成。

快速入门(待定)

通过 Smithery 安装

要通过Smithery自动为 Claude Desktop 安装 virustotal-mcp:

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

手动安装

待定

Related MCP server: ADEO CTI MCP Server

特征

  • 综合分析报告:每个分析工具都会自动获取相关关系数据以及基本报告,在单个请求中提供完整的安全概述

  • URL 分析:自动获取联系域、下载文件和威胁行为者的安全报告

  • 文件分析:详细分析文件哈希,包括行为、丢失的文件和网络连接

  • IP 分析:包含历史数据、解决方案和相关威胁的安全报告

  • 域名分析:DNS 信息、WHOIS 数据、SSL 证书和子域名

  • 详细关系分析:用于查询特定类型关系的专用工具,并支持分页

  • 高级搜索:VT Intelligence 搜索功能,可针对 VirusTotal 数据集中的复杂查询

  • 丰富的格式:分析结果和关系数据的清晰分类和呈现

工具

报告工具(具有自动关系获取功能)

1. URL 报告工具

  • 名称: get_url_report

  • 描述:获取全面的 URL 分析报告,包括安全扫描结果和关键关系(通信文件、联系的域/IP、下载的文件、重定向、威胁行为者)

  • 参数:

    • url (必填):需要分析的 URL

  • 例子:

await get_url_report(url="http://example.com/suspicious")

2. 文件报告工具

  • 名称: get_file_report

  • 描述:使用哈希值 (MD5/SHA-1/SHA-256) 获取全面的文件分析报告。包含检测结果、文件属性和关键关系(行为、丢失的文件、网络连接、嵌入内容、威胁行为者)。

  • 参数:

    • hash (必需):文件的 MD5、SHA-1 或 SHA-256 哈希值

  • 例子:

await get_file_report(hash="44d88612fea8a8f36de82e1278abb02f")

3. IP报告工具

  • 名称: get_ip_report

  • 描述:获取全面的 IP 地址分析报告,包括地理位置、信誉数据和关键关系(通信文件、历史证书/WHOIS、解析)

  • 参数:

    • ip (必填):需要分析的IP地址

  • 例子:

await get_ip_report(ip="8.8.8.8")

4. 域名报告工具

  • 名称: get_domain_report

  • 描述:获取全面的域名分析报告,包括 DNS 记录、WHOIS 数据和关键关系(SSL 证书、子域名、历史数据)

  • 参数:

    • domain (必需):要分析的域名

  • 例子:

await get_domain_report(domain="example.com")

关系工具(用于详细分析)

1. URL关系工具

  • 名称: get_url_relationship

  • 描述:查询具有分页支持的 URL 的特定关系类型

  • 参数:

    • url (必填):获取关系的 URL

    • relationship (必需):要查询的关系类型

      • 可用关系:分析、评论、communicating_files、contacted_domains、contacted_ips、downloaded_files、图表、last_serving_ip_address、network_location、referrer_files、referrer_urls、redirecting_urls、redirects_to、related_comments、related_references、related_threat_actors、提交

    • limit (可选,默认值:10):要检索的最大相关对象数(1-40)

    • cursor (可选):用于分页的连续光标

  • 例子:

await get_url_relationship( url="http://example.com/suspicious", relationship="communicating_files", limit=20 )

2. 文件关系工具

  • 名称: get_file_relationship

  • 描述:查询文件的特定关系类型,支持分页

  • 参数:

    • hash (必需):文件的 MD5、SHA-1 或 SHA-256 哈希值

    • relationship (必需):要查询的关系类型

      • 可用的关系:分析、行为、bundled_files、carbonblack_children、carbonblack_parents、ciphered_bundled_files、ciphered_parents、线索、集合、评论、compressed_parents、contacted_domains、contacted_ips、contacted_urls、dropped_files、email_attachments、email_parents、embedded_domains、embedded_ips、embedded_urls、execution_parents、图表、itw_domains、itw_ips、itw_urls、memory_pattern_domains、memory_pattern_ips、memory_pattern_urls、overlay_children、overlay_parents、pcap_children、pcap_parents、pe_resource_children、pe_resource_parents、related_references、related_threat_actors、similar_files、提交、屏幕截图、urls_for_embedded_js、投票

    • limit (可选,默认值:10):要检索的最大相关对象数(1-40)

    • cursor (可选):用于分页的连续光标

  • 例子:

await get_file_relationship( hash="44d88612fea8a8f36de82e1278abb02f", relationship="behaviours", limit=20 )

3. IP关系工具

  • 名称: get_ip_relationship

  • 描述:查询特定关系类型的 IP 地址,支持分页

  • 参数:

    • ip (必填):需要分析的IP地址

    • relationship (必需):要查询的关系类型

      • 可用关系:comments、communicating_files、downloaded_files、graphs、historical_ssl_certificates、historical_whois、related_comments、related_references、related_threat_actors、referrer_files、resolutions、urls

    • limit (可选,默认值:10):要检索的最大相关对象数(1-40)

    • cursor (可选):用于分页的连续光标

  • 例子:

await get_ip_relationship( ip="8.8.8.8", relationship="communicating_files", limit=20 )

4. 域名关系工具

  • 名称: get_domain_relationship

  • 描述:查询域的特定关系类型,并支持分页

  • 参数:

    • domain (必需):要分析的域名

    • relationship (必需):要查询的关系类型

      • 可用关系:caa_records、cname_records、comments、communicating_files、downloaded_files、historical_ssl_certificates、historical_whois、immediate_parent、mx_records、ns_records、parent、referrer_files、related_comments、related_references、related_threat_actors、resolutions、soa_records、siblings、subdomains、urls、user_votes

    • limit (可选,默认值:10):要检索的最大相关对象数(1-40)

    • cursor (可选):用于分页的连续光标

  • 例子:

await get_domain_relationship( domain="example.com", relationship="historical_ssl_certificates", limit=20 )

5.高级搜索工具

  • 名称: advanced_corpus_search

  • 描述:使用 VT Intelligence 查询语法在 VirusTotal 数据集中执行高级搜索

  • 参数:

    • query (必需):VT Intelligence 搜索查询字符串

    • limit (可选,默认值:20):每页返回的最大结果数

    • cursor (可选):用于分页的连续光标

    • descriptors_only (可选):如果为 true,则仅检索对象描述符而不是完整对象

  • 例子:

await advanced_corpus_search( query="type:peexe size:100kb+ positives:5+", limit=20, cursor=None )

要求

  • Python >= 3.11

  • 有效的VirusTotal API 密钥

  • 所需的 Python 包:

    • aiohttp >= 3.9.0

    • mcp[cli] >= 1.4.1

    • python-dotenv >= 1.0.0

    • 打字扩展> = 4.8.0

错误处理

该服务器包括针对以下方面的全面错误处理:

  • 无效的 API 密钥

  • 速率限制

  • 网络错误

  • 输入参数无效

  • 无效的哈希格式

  • 无效的 IP 格式

  • 无效的 URL 格式

  • 无效的关系类型

  • 分页错误

发展

要在开发模式下运行:

python -m virustotal_mcp

贡献

  1. 分叉存储库

  2. 创建功能分支( git checkout -b feature/amazing-feature

  3. 提交您的更改( git commit -m 'Add amazing feature'

  4. 推送到分支( git push origin feature/amazing-feature

  5. 打开拉取请求

执照

该项目根据 Apache License 2.0 获得许可 - 有关详细信息,请参阅LICENSE文件。

致谢

  • VirusTotal 提供 API 和威胁情报平台

  • 服务器框架的 MCP 项目

  • 贡献者和维护者

支持

如需支持,请:

  1. 检查文档

  2. 搜索现有问题

  3. 如果需要,创建新问题

安全

  • 切勿提交 API 密钥或敏感凭证

  • 使用环境变量进行配置

  • 处理威胁情报数据时遵循安全最佳实践

-
security - not tested
A
license - permissive license
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/emeryray2002/virustotal-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server