Volatility MCP
Integra el análisis de memoria de Volatility 3 con FastAPI y MCP, exponiendo plugins de forense de memoria a través de APIs REST.
Documentación
Tu Asistente de IA en Forensia de Memoria
Resumen
Volatility MCP integra de manera fluida el potente análisis de memoria de Volatility 3 con FastAPI y el Protocolo de Contexto de Modelo (MCP). Experimenta la forensia de memoria sin barreras, ya que complementos como pslist y netscan se vuelven accesibles a través de APIs REST limpias, conectando artefactos de memoria directamente a asistentes de IA y aplicaciones web.
Características
- Integración con Volatility 3: Aprovecha el framework Volatility 3 para el análisis de imágenes de memoria.
- Backend FastAPI: Proporciona APIs RESTful para interactuar con los complementos de Volatility.
- Soporte de Frontend Web (característica futura): Diseñado para conectarse con un frontend basado en web para análisis interactivo.
- Protocolo de Contexto de Modelo (MCP): Habilita la comunicación estandarizada con clientes MCP como Claude Desktop.
- Soporte de Complementos: Admite varios complementos de Volatility, incluidos
pslistpara el listado de procesos ynetscanpara el análisis de conexiones de red.
Arquitectura
La arquitectura del proyecto consta de los siguientes componentes:
- Cliente MCP: Cliente MCP como Claude Desktop que interactúa con el backend FastAPI.
- Servidor FastAPI: Un servidor basado en Python que expone los complementos de Volatility como endpoints de API.
- Volatility 3: El framework de forensia de memoria que realiza el análisis.
Esta arquitectura permite a los usuarios analizar imágenes de memoria a través de clientes MCP como Claude Desktop. Los usuarios pueden usar indicaciones en lenguaje natural para realizar análisis de forensia de memoria, como muéstrame la lista de procesos en la imagen de memoria x, o muéstrame todas las conexiones externas realizadas.
Comenzando
Requisitos previos
- Python 3.7+ instalado en tu sistema
- Binario de Volatility 3 instalado (consulta la Guía de instalación de Volatility 3) y agregado a tu ruta de entorno llamada VOLATILITY_BIN
Instalación
-
Clona el repositorio:
git clone <repository_url> cd <repository_directory> -
Instala las dependencias de Python requeridas:
pip install -r requirements.txt -
Inicia el servidor FastAPI para exponer las APIs de Volatility 3:
uvicorn volatility_fastapi_server:app -
Instala Claude Desktop (consulta Claude Desktop
-
Para configurar Claude Desktop como cliente MCP de volatility, navega a Claude → Configuración → Desarrollador → Editar Config, localiza el archivo claude_desktop_config.json e inserta los siguientes detalles de configuración.
-
Ten en cuenta que la opción
-ien el archivo config.json especifica la ruta del directorio de tu archivo de imagen de memoria.{ "mcpServers": { "vol": { "command": "python", "args": [ "/ABSOLUTE_PATH_TO_MCP-SERVER/vol_mcp_server.py", "-i", "/ABSOLUTE_PATH_TO_MEMORY_IMAGE/<memory_image>" ] } } }
Alternativamente, actualiza este archivo directamente:
/Users/YOUR_USER/Library/Application Support/Claude/claude_desktop_config.json
Uso
- Inicia el servidor FastAPI como se describió anteriormente.
- Conecta un cliente MCP (por ejemplo, Claude Desktop) al servidor FastAPI.
- Inicia la indicación haciendo preguntas sobre la imagen de memoria en cuestión, como mostrarme los procesos en ejecución, crear un gráfico de relación de árbol para el proceso x, o mostrarme todas las conexiones externas RFC1918.
Características y Mejoras Futuras
- Integración Nativa de Python con Volatility: Incorporar el SDK de Python de Volatility directamente en la base de código en lugar del binario de volatility mediante subprocesos.
- Integración de Yara: Implementar funcionalidad para volcar un proceso de la memoria y escanearlo con reglas de Yara para análisis de malware.
- Análisis de Múltiples Imágenes: Habilitar el análisis de múltiples imágenes de memoria simultáneamente para correlacionar eventos e identificar patrones en diferentes sistemas.
- Agregar más Complementos de Volatility: agregar más complementos de volatility para ampliar el alcance del análisis de memoria.
- Mejoras de GUI: Desarrollar una interfaz web fácil de usar para análisis y visualización interactiva de memoria.
- Generación Automatizada de Informes: Automatizar la generación de informes detallados que resuman los hallazgos del análisis de memoria.
- Detección Avanzada de Amenazas: Incorporar técnicas avanzadas para detectar amenazas sofisticadas y anomalías en la memoria.
Contribuciones
¡Las contribuciones son bienvenidas! Sigue estos pasos para contribuir:
- Haz un fork de este repositorio.
- Crea una nueva rama (
git checkout -b feature/my-feature). - Realiza tus cambios (
git commit -m 'Add some feature'). - Haz push a tu rama (
git push origin feature/my-feature). - Abre una solicitud de extracción.
