Volatility MCP
Integra a análise de memória do Volatility 3 com FastAPI e MCP, expondo plugins de forense de memória via APIs REST.
Documentação
Seu Assistente de IA em Forense de Memória
Visão Geral
O Volatility MCP integra perfeitamente a poderosa análise de memória do Volatility 3 com FastAPI e o Model Context Protocol (MCP). Experimente a forense de memória sem barreiras, pois plugins como pslist e netscan tornam-se acessíveis por meio de APIs REST limpas, conectando artefatos de memória diretamente a assistentes de IA e aplicações web.
Recursos
- Integração com Volatility 3: Utiliza o framework Volatility 3 para análise de imagens de memória.
- Backend FastAPI: Fornece APIs RESTful para interagir com plugins do Volatility.
- Suporte a Front End Web (recurso futuro): Projetado para conectar-se a um front end baseado na web para análise interativa.
- Model Context Protocol (MCP): Permite comunicação padronizada com clientes MCP como o Claude Desktop.
- Suporte a Plugins: Suporta vários plugins do Volatility, incluindo
pslistpara listagem de processos enetscanpara análise de conexões de rede.
Arquitetura
A arquitetura do projeto consiste nos seguintes componentes:
- Cliente MCP: Cliente MCP como o Claude Desktop que interage com o backend FastAPI.
- Servidor FastAPI: Um servidor baseado em Python que expõe plugins do Volatility como endpoints de API.
- Volatility 3: O framework de forense de memória que realiza a análise.
Essa arquitetura permite que os usuários analisem imagens de memória por meio de clientes MCP como o Claude Desktop. Os usuários podem usar prompts em linguagem natural para realizar análises de forense de memória, como mostre-me a lista de processos na imagem de memória x, ou mostre-me todas as conexões externas feitas.
Começando
Pré-requisitos
- Python 3.7+ instalado no seu sistema
- Binário do Volatility 3 instalado (veja Guia de Instalação do Volatility 3) e adicionado ao seu caminho de ambiente chamado VOLATILITY_BIN
Instalação
-
Clone o repositório:
git clone <repository_url> cd <repository_directory> -
Instale as dependências Python necessárias:
pip install -r requirements.txt -
Inicie o servidor FastAPI para expor as APIs do Volatility 3:
uvicorn volatility_fastapi_server:app -
Instale o Claude Desktop (veja Claude Desktop
-
Para configurar o Claude Desktop como um cliente MCP do Volatility, navegue até Claude → Configurações → Desenvolvedor → Editar Config, localize o arquivo claude_desktop_config.json e insira os seguintes detalhes de configuração
-
Observe que a opção
-ino arquivo config.json especifica o caminho do diretório do seu arquivo de imagem de memória.{ "mcpServers": { "vol": { "command": "python", "args": [ "/ABSOLUTE_PATH_TO_MCP-SERVER/vol_mcp_server.py", "-i", "/ABSOLUTE_PATH_TO_MEMORY_IMAGE/<memory_image>" ] } } }
Alternativamente, atualize este arquivo diretamente:
/Users/YOUR_USER/Library/Application Support/Claude/claude_desktop_config.json
Uso
- Inicie o servidor FastAPI conforme descrito acima.
- Conecte um cliente MCP (por exemplo, Claude Desktop) ao servidor FastAPI.
- Inicie o prompt fazendo perguntas sobre a imagem de memória em questão, como mostrar os processos em execução, criar um gráfico de relacionamento em árvore para o processo x ou mostrar todas as conexões externas RFC1918.
Recursos e Melhorias Futuras
- Integração Nativa com Python do Volatility: Incorporar o SDK Python do Volatility diretamente na base de código, em vez de usar o binário do Volatility via subprocesso.
- Integração com Yara: Implementar funcionalidade para despejar um processo da memória e escaneá-lo com regras Yara para análise de malware.
- Análise Multi-Imagem: Permitir a análise de múltiplas imagens de memória simultaneamente para correlacionar eventos e identificar padrões em diferentes sistemas.
- Adicionar mais plugins do Volatility: adicionar mais plugins do Volatility para expandir o escopo da análise de memória.
- Melhorias na GUI: Desenvolver uma interface web amigável para análise interativa e visualização de memória.
- Geração Automatizada de Relatórios: Automatizar a geração de relatórios detalhados resumindo os resultados da análise de memória.
- Detecção Avançada de Ameaças: Incorporar técnicas avançadas para detectar ameaças sofisticadas e anomalias na memória.
Contribuindo
Contribuições são bem-vindas! Siga estes passos para contribuir:
- Faça um fork deste repositório.
- Crie um novo branch (
git checkout -b feature/my-feature). - Faça commit das suas alterações (
git commit -m 'Add some feature'). - Envie para o seu branch (
git push origin feature/my-feature). - Abra um pull request.
