Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
MCPTrace — Plugin do Volatility 3 que extrai candidatos a mensagens MCP/JSON-RPC de dumps de memória do Windows e Linux, preservando os bytes brutos, endereços e SHA-256 para verificação. | Kitploit
Ferramentas/GitHubGitHub/kowntaewook/mcptrace
Forensia de MemóriaAnálise ForenseColeta de InformaçõesAnálise de MalwareForensia DigitalResposta a IncidentesSegurança de IAAnálise de Logs
GitHubkowntaewook/mcptrace

MCPTrace

Plugin do Volatility 3 que extrai candidatos a mensagens MCP/JSON-RPC de dumps de memória do Windows e Linux, preservando os bytes brutos, endereços e SHA-256 para verificação.

Ver Repositório
746há 7 diasAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

MCPTrace

MCPTrace é um plugin do Volatility 3 para extrair candidatos a mensagens MCP/JSON-RPC de dumps de memória do Windows e Linux. Ele examina a memória dos processos em busca de requisições, respostas, notificações, nomes de ferramentas e argumentos de chamadas, e então registra o conteúdo recuperado junto com sua localização na memória.

O projeto concentra-se em evidências que um analista pode inspecionar e verificar. Cada artefato mantém seus bytes originais, ID do processo, endereço virtual, codificação, comprimento e hash SHA-256. Os resultados podem ser exportados como JSONL para análise posterior ou comparação com outros logs. O MCPTrace opera sobre uma imagem de memória adquirida e não requer um LLM ou uma API de IA externa.

Recursos

  • Extrai artefatos JSON-RPC em UTF-8 e UTF-16LE da memória de processos legível.
  • Identifica métodos e formatos de resposta relacionados ao MCP, incluindo nomes e argumentos de tools/call.
  • Preserva os bytes e endereços originais para verificação posterior contra a imagem.
  • Sugere relações entre requisição/resposta usando o mesmo PID e o ID de requisição tipado.
  • Aplica regras opcionais, definidas pelo analista, aos argumentos de ferramentas, como verificações de caminho ou URL.
  • Exporta artefatos e resumos por processo, incluindo bytes ilegíveis, erros e limites de busca.

Os alvos de análise atuais são Windows x64 e Linux x86-64. O nome do plugin refere-se ao sistema operacional na imagem de memória, independentemente do SO usado para executar o Volatility.

Como funciona

O MCPTrace usa a enumeração de processos e a tradução de endereços do Volatility. No Windows, ele percorre os Virtual Address Descriptors (VADs) do processo; no Linux, ele percorre as Virtual Memory Areas (VMAs). Esses mapeamentos definem quais faixas de endereço do processo são examinadas. Os dois adaptadores compartilham o mesmo código de carving de mensagens, correlação, política e exportação.

Dentro das faixas legíveis, o scanner procura marcadores literais de versão do JSON-RPC e localiza objetos JSON candidatos ao redor deles. Ele lida com objetos aninhados, caracteres escapados, chaves dentro de strings e mensagens que abrangem chunks de leitura contíguos. JSON com chaves duplicadas ou identificadores não suportados é rejeitado em vez de ser silenciosamente reinterpretado. A relevância para o MCP é determinada a partir de nomes de métodos conhecidos, formatos de resposta e IDs de requisição associados; não é uma validação completa do schema MCP.

Memória ausente permanece ausente. O leitor não preenche lacunas com zeros nem une bytes entre VADs/VMAs separados. Com --include-partial, fragmentos não analisados podem ser mostrados separadamente, sem inventar IDs ou argumentos ausentes. Faixas grandes não mapeadas podem ser ignoradas usando informações da tabela de páginas, e faixas de endereço ilegíveis permanecem visíveis nas estatísticas de varredura.

A correlação é deliberadamente conservadora. Um ID numérico como 1 é distinto do ID de string "1", e mensagens em processos diferentes não são automaticamente vinculadas. Múltiplas representações distintas associadas a um ID são marcadas como ambíguas. As relações candidatas não reconstroem uma sessão, direção de mensagem ou linha do tempo de execução por conta própria.

Instalação

Requer Python 3.10+. A instalação inclui a dependência fixada do framework, volatility3==2.28.2. Mantenha o diretório plugins/ do repositório disponível: o pacote Python é instalado com pip, enquanto -p plugins carrega os adaptadores do Volatility.

git clone https://github.com/Kowntaewook/MCPTrace.git
cd MCPTrace
python -m venv .venv

Ative o ambiente para o seu shell:

  • Windows PowerShell: .\.venv\Scripts\Activate.ps1
  • Shell Linux/macOS: source .venv/bin/activate

Em seguida, instale o MCPTrace:

python -m pip install .

Uso

Execute os exemplos a seguir a partir da raiz do repositório com o ambiente virtual ativo. Substitua os caminhos das imagens e os PIDs pelas suas evidências e processos-alvo. Clientes e servidores MCP podem ser executados em processos separados, portanto inspecione ambos quando relevante.

Windows

Verifique se o Volatility consegue interpretar a imagem e enumerar seus processos antes de executar o MCPTrace. A preparação de símbolos do Windows pode exigir acesso à rede.

vol -f windows.raw windows.info.Info
vol -f windows.raw windows.pslist.PsList
mkdir output-windows
vol -p plugins -f windows.raw -o output-windows windows.mcptrace.MCPTrace --pid 4242 5252 --dump

Linux

Coloque os símbolos ISF correspondentes à build exata do kernel do dump em symbols/linux/. Se linux.pslist.PsList não conseguir resolver seus requisitos de kernel ou de camada, resolva a configuração de imagem/símbolos antes de interpretar a saída do MCPTrace.

vol -s symbols -f linux.lime linux.pslist.PsList
mkdir output-linux
vol -p plugins -s symbols -f linux.lime -o output-linux linux.mcptrace.MCPTrace --pid 4242 --dump
  • Omita --pid para verificar todos os processos, ou passe vários PIDs: --pid 4242 5252.
  • --dump exporta arquivos JSONL por processo para o diretório especificado por -o.
  • Use vol -p plugins windows.mcptrace.MCPTrace -h (ou o equivalente para Linux) para ver todas as opções.

Para uma renderização JSON da tabela de resultados completa, coloque a opção global -r json antes do nome do plugin. Isso é separado das exportações JSONL por processo produzidas por --dump.

vol -p plugins -f windows.raw -r json windows.mcptrace.MCPTrace --pid 4242 > findings.json

Opções comuns

OpçãoFinalidade
--pid 4242 5252Seleciona IDs de processo; omita para examinar todos os processos enumerados pelo adaptador.
--dumpExporta os artefatos exibidos e os resumos de varredura como JSONL usando o diretório global -o.
--include-partialInclui fragmentos brutos não analisados, sem reconstruir campos ausentes.
--include-rpcTambém exibe candidatos genéricos de JSON-RPC sem relevância MCP confirmada.
--policy PATHAplica regras locais aos argumentos de ferramentas; consulte os exemplos para Windows e Linux.
--suspicious-onlyMostra correspondências de política e resumos; requer uma política não vazia.
--max-records NLimita os registros candidatos por processo antes da filtragem; padrão: 10000.
--max-object-bytes NLimita o tamanho de um objeto JSON completo; padrão: 65536 bytes.
--max-bytes NLimita os bytes de intervalos de endereços tentados por processo; 0 significa ilimitado.

Os achados de política descrevem correspondências com as regras fornecidas pelo analista. Uma correspondência não estabelece atividade maliciosa. Revise os caminhos, hosts e nomes de ferramentas dos exemplos antes de aplicá-los a um caso diferente.

Lendo a saída

Um arquivo como mcptrace.pid-4242.jsonl contém um registro de metadados, registros de artefatos e um resumo final da varredura. Os metadados identificam o processo, o SO de destino e o espaço de endereçamento. Os registros de artefatos preservam tanto a mensagem analisada quanto os bytes exatos recuperados.

Baixar ferramenta