WireMCP

Capacita LLMs com análise de tráfego de rede em tempo real usando tshark. Requer que o tshark do Wireshark esteja instalado.

Documentação

Wire-MCP Banner

WireMCP

WireMCP é um servidor de Model Context Protocol (MCP) projetado para capacitar Grandes Modelos de Linguagem (LLMs) com capacidades de análise de tráfego de rede em tempo real. Ao aproveitar ferramentas construídas sobre o tshark do Wireshark, o WireMCP captura e processa dados de rede ao vivo, fornecendo aos LLMs contexto estruturado para auxiliar em tarefas como caça a ameaças, diagnósticos de rede e detecção de anomalias.

Recursos

O WireMCP expõe as seguintes ferramentas aos clientes MCP, melhorando a compreensão dos LLMs sobre a atividade de rede:

  • capture_packets: Captura tráfego ao vivo e retorna dados brutos de pacotes em JSON, permitindo que LLMs analisem detalhes em nível de pacote (ex.: endereços IP, portas, métodos HTTP).
  • get_summary_stats: Fornece estatísticas de hierarquia de protocolo, dando aos LLMs uma visão geral da composição do tráfego (ex.: uso de TCP vs. UDP).
  • get_conversations: Entrega estatísticas de conversas TCP/UDP, permitindo que LLMs acompanhem fluxos de comunicação entre endpoints.
  • check_threats: Captura IPs e os verifica contra a lista negra do URLhaus, equipando LLMs com contexto de inteligência de ameaças para identificar atividades maliciosas.
  • check_ip_threats: Realiza consultas direcionadas de inteligência de ameaças para endereços IP específicos em múltiplos feeds de ameaças, fornecendo dados detalhados de reputação e ameaças.
  • analyze_pcap: Analisa arquivos PCAP para fornecer dados abrangentes de pacotes em formato JSON, permitindo análise detalhada pós-captura do tráfego de rede.
  • extract_credentials: Escaneia arquivos PCAP em busca de possíveis credenciais de vários protocolos (HTTP Basic Auth, FTP, Telnet), auxiliando em auditorias de segurança e análise forense.

Como Ajuda os LLMs

O WireMCP preenche a lacuna entre dados brutos de rede e a compreensão dos LLMs ao:

  • Contextualizando Tráfego: Converte capturas de pacotes ao vivo em saídas estruturadas (JSON, estatísticas) que LLMs podem analisar e raciocinar.
  • Detecção de Ameaças: Integra IOCs (atualmente URLhaus) para sinalizar IPs suspeitos, melhorando a análise de segurança orientada por LLM.
  • Diagnósticos: Oferece insights detalhados de tráfego, permitindo que LLMs auxiliem na solução de problemas ou na identificação de anomalias.
  • Geração de Narrativas: LLMs podem transformar capturas de pacotes complexas em histórias coerentes, tornando a análise de rede acessível a usuários não técnicos.

Instalação

Pré-requisitos

  • Mac / Windows / Linux
  • Wireshark (com tshark instalado e acessível no PATH)
  • Node.js (v16+ recomendado)
  • npm (para instalação de dependências)

Configuração

  1. Clone o repositório:

    git clone https://github.com/0xkoda/WireMCP.git
    cd WireMCP
    
  2. Instale as dependências:

    npm install
    
  3. Execute o servidor MCP:

    node index.js
    

Nota: Certifique-se de que tshark esteja no seu PATH. O WireMCP o detectará automaticamente ou recorrerá a locais de instalação comuns (ex.: /Applications/Wireshark.app/Contents/MacOS/tshark no macOS).

Uso com Clientes MCP

O WireMCP funciona com qualquer cliente compatível com MCP. Abaixo estão exemplos para clientes populares:

Exemplo 1: Cursor

Edite mcp.json em Cursor -> Configurações -> MCP:

{
  "mcpServers": {
    "wiremcp": {
      "command": "node",
      "args": [
        "/ABSOLUTE_PATH_TO/WireMCP/index.js"
      ]
    }
  }
}

Localização (macOS): /Users/YOUR_USER/Library/Application Support/Claude/claude_desktop_config.json

Outros Clientes

Este MCP funcionará bem com qualquer cliente. Use o comando node /path/to/WireMCP/index.js nas configurações do servidor MCP.

Exemplo de Saída

Executar check_threats pode produzir:

Captured IPs:
174.67.0.227
52.196.136.253

Threat check against URLhaus blacklist:
No threats detected in URLhaus blacklist.

Executar analyze_pcap em um arquivo de captura:

{
  "content": [{
    "type": "text",
    "text": "Analyzed PCAP: ./capture.pcap\n\nUnique IPs:\n192.168.0.2\n192.168.0.1\n\nProtocols:\neth:ethertype:ip:tcp\neth:ethertype:ip:tcp:telnet\n\nPacket Data:\n[{\"layers\":{\"frame.number\":[\"1\"],\"ip.src\":[\"192.168.0.2\"],\"ip.dst\":[\"192.168.0.1\"],\"tcp.srcport\":[\"1550\"],\"tcp.dstport\":[\"23\"]}}]"
  }]
}

LLMs podem usar essas saídas para:

  • Fornecer explicações em linguagem natural da atividade de rede
  • Identificar padrões e possíveis preocupações de segurança
  • Oferecer recomendações sensíveis ao contexto
  • Gerar relatórios legíveis por humanos

Roteiro

  • Expandir Provedores de IOC: Atualmente usa URLhaus para verificações de ameaças. Atualizações futuras integrarão fontes adicionais (ex.: IPsum, Emerging Threats) para uma cobertura mais ampla.

Contribuindo

Contribuições são bem-vindas! Sinta-se à vontade para enviar um Pull Request. Para mudanças significativas, abra uma issue primeiro para discutir o que você gostaria de alterar.

Licença

MIT

Agradecimentos

  • Equipe do Wireshark/tshark por suas excelentes ferramentas de análise de pacotes
  • Comunidade do Model Context Protocol pelo framework e especificações
  • URLhaus por fornecer dados de inteligência de ameaças