安全分析服务器

一个基于VirusTotal API的综合安全分析服务器,提供URL、文件、IP和域名的全面威胁检测和情报功能。

  • by barvhaim
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 barvhaim/virustotal-mcp-server

使用说明

VirusTotal MCP服务器

使用模型上下文协议(MCP)服务器进行全面的安全分析 病毒API总量该服务器采用FastMCP和Python构建,为Claude等AI助手提供强大的恶意软件检测和威胁情报功能。

概述

此MCP服务器集成了VirusTotal广泛的安全数据库,允许AI助手对URL、文件、IP地址和域进行全面的安全分析。服务器自动获取关系数据,以便在单个请求中提供完整的安全上下文。

特性

  • 综合安全分析:通过自动关系获取完成威胁分析
  • URL分析:包含联系域、下载文件和威胁行为者的安全报告
  • 文件分析:详细的文件哈希分析,包括行为、丢弃的文件和网络连接
  • IP分析:地理位置、信誉数据和历史信息
  • 领域分析:DNS记录、WHOIS数据、SSL证书和子域
  • 详细关系查询:分页访问特定关系类型以进行深入调查
  • 了解费率限制:尊重病毒API总限制
  • 多种运输支持:针对不同集成需求的SSE和STDIO传输

快速开始

先决条件

安装

选项1:Docker(推荐)

  1. 克隆和设置:

    git clone https://github.com/barvhaim/virustotal-mcp-server.git
    cd virustotal-mcp-server
    
  2. 配置API密钥:

    echo "VIRUSTOTAL_API_KEY=your_api_key_here" > .env
    
  3. 使用Docker Compose运行:

    docker-compose up -d
    
  4. 或者直接使用Docker运行:

    docker build -t virustotal-mcp .
    docker run -d --name virustotal-mcp -p 8000:8000 --env-file .env virustotal-mcp
    

方案2:地方发展

  1. 克隆和设置:

    git clone https://github.com/barvhaim/virustotal-mcp-server.git
    cd virustotal-mcp-server
    uv sync
    
  2. 配置API密钥:

    echo "VIRUSTOTAL_API_KEY=your_api_key_here" > .env
    
  3. 运行服务器:

    # SSE transport (web-friendly)
    uv run main.py
    
    # STDIO transport (for Claude Desktop)
    MCP_TRANSPORT=stdio uv run main.py
    

可用工具

报告工具(带自动关系获取)

1.URL报告工具

  • 名字: get_url_report
  • 描述:获取全面的URL分析,包括安全扫描结果和密钥关系
  • 参数:
    • url (必填):要分析的URL
  • 自动获取的关系:通信文件、联系的域/IP、下载的文件、重定向、威胁行为者

2.文件报告工具

  • 名字: get_file_report
  • 描述:使用哈希(MD5/SHA-1/SHA-256)进行全面的文件分析
  • 参数:
    • hash (必填):要分析的文件哈希
  • 自动获取的关系:行为、丢弃的文件、联系的域/IP、嵌入的URL、威胁行为者

3.IP报告工具

  • 名字: get_ip_report
  • 描述:获得全面的IP地址分析,包括地理位置和信誉
  • 参数:
    • ip (必填):要分析的IP地址
  • 自动获取的关系:通信文件、历史SSL证书、解决方案、威胁行为者

4.域报告工具

  • 名字: get_domain_report
  • 描述:获得全面的域名分析,包括DNS和WHOIS数据
  • 参数:
    • domain (必填):要分析的域名
    • relationships (可选):要包括的具体关系
  • 自动获取的关系:子域、历史SSL证书、解决方案、威胁行为者

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

1.URL关系工具

  • 名字: get_url_relationship
  • 描述:查询带分页的URL的特定关系类型
  • 参数:
    • url (必填):要分析的URL
    • relationship (必填):关系类型(分析、通信文件、联系人域等)
    • limit (可选,1-40,默认值:10):结果数
    • cursor (可选):分页光标

2.文件关系工具

  • 名字: get_file_relationship
  • 描述:查询具有分页的文件的特定关系类型
  • 参数:
    • hash (必填):文件哈希
    • relationship (必填):关系类型(行为、丢弃文件、联系域等)
    • limit (可选,1-40,默认值:10):结果数
    • cursor (可选):分页光标

3.IP关系工具

  • 名字: get_ip_relationship
  • 描述:查询具有分页的IP的特定关系类型
  • 参数:
    • ip (必填):IP地址
    • relationship (必填):关系类型(通信文件、决议等)
    • limit (可选,1-40,默认值:10):结果数
    • cursor (可选):分页光标

4.领域关系工具

  • 名字: get_domain_relationship
  • 描述:查询具有分页的域的特定关系类型
  • 参数:
    • domain (必填):域名
    • relationship (必填):关系类型(子域、历史ssl证书等)
    • limit (可选,1-40,默认值:10):结果数
    • cursor (可选):分页光标

Claude桌面集成

要将此服务器连接到Claude Desktop,请将以下内容添加到您的 claude_desktop_config.json:

配置文件位置:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Linux: ~/.config/claude/claude_desktop_config.json
  • 视窗: %APPDATA%\\Claude\\claude_desktop_config.json
{
  "mcpServers": {
    "virustotal": {
      "command": "uv",
      "args": [
        "--directory",
        "/absolute/path/to/virustotal-mcp-server",
        "run",
        "main.py"
      ],
      "env": {
        "VIRUSTOTAL_API_KEY": "your_api_key_here",
        "MCP_TRANSPORT": "stdio"
      }
    }
  }
}

资源

版本历史记录

  • v1.0.0:首次发布,全面集成VirusTotal
    • 8安全分析工具
    • 自动获取关系
    • SSE和STDIO传输支持
    • 限速意识
    • 完整的错误处理