Skip to main content
Glama

YaraFlux MCP Server

Servidor MCP de YaraFlux

Un servidor de Protocolo de Contexto de Modelo (MCP) para escaneo YARA, que proporciona a los LLM capacidades para analizar archivos con reglas YARA.

📋 Descripción general

El servidor MCP de YaraFlux permite a los asistentes de IA realizar análisis de amenazas basados en reglas de YARA mediante la interfaz estandarizada del Protocolo de Contexto de Modelo. El servidor integra el análisis de YARA con los asistentes de IA modernos, lo que facilita la gestión integral de reglas, el análisis seguro y el análisis detallado de resultados mediante una arquitectura modular.

🧩 Descripción general de la arquitectura

+------------------------------------------+ | AI Assistant | +--------------------+---------------------+ | | Model Context Protocol | +--------------------v---------------------+ | YaraFlux MCP Server | | | | +----------------+ +---------------+ | | | MCP Server | | Tool Registry | | | +-------+--------+ +-------+-------+ | | | | | | +-------v--------+ +-------v-------+ | | | YARA Service | | Storage Layer | | | +----------------+ +---------------+ | | | +------------------------------------------+ | | +-----------------+ +---------------+ | YARA Engine | | Storage | | - Rule Compiling| | - Local FS | | - File Scanning | | - MinIO/S3 | +-----------------+ +---------------+

YaraFlux sigue una arquitectura modular que separa las preocupaciones entre:

  • Capa de integración MCP : gestiona la comunicación con los asistentes de IA
  • Capa de implementación de herramientas : implementa la funcionalidad de escaneo y gestión de YARA
  • Capa de abstracción de almacenamiento : proporciona opciones de almacenamiento flexibles
  • Integración de YARA Engine : aprovecha YARA para el escaneo y la gestión de reglas

Para obtener diagramas de arquitectura detallados, consulte la Documentación de arquitectura .

✨ Características

  • 🔄 Arquitectura modular
    • Separación limpia de la integración de MCP, la implementación de herramientas y el almacenamiento
    • Análisis de parámetros estandarizados y manejo de errores
    • Backend de almacenamiento flexible con opciones locales y S3/MinIO
  • 🤖 Integración MCP
    • 19 herramientas MCP integradas para una funcionalidad integral
    • Optimizado para la integración con Claude Desktop
    • Análisis directo de archivos desde dentro de las conversaciones
    • Compatible con la última especificación del protocolo MCP
  • 🔍 Escaneo YARA
    • Escaneo de contenido de archivos y URL
    • Información detallada del partido con contexto
    • Almacenamiento y recuperación de resultados de escaneo
    • Motor de escaneo con rendimiento optimizado
  • 📝 Gestión de reglas
    • Crear, leer, actualizar, eliminar reglas de YARA
    • Validación de reglas con informes detallados de errores
    • Importar reglas desde el repositorio de ThreatFlux
    • Categorización por fuente (personalizada vs. comunitaria)
  • 📊 Análisis de archivos
    • Vista hexadecimal para análisis binario
    • Extracción de cadenas con parámetros configurables
    • Metadatos de archivo e información hash
    • Carga y almacenamiento seguros de archivos
  • 🔐 Funciones de seguridad
    • Autenticación JWT para acceso a API
    • Ejecución de contenedor no raíz
    • Aislamiento de almacenamiento seguro
    • Controles de acceso configurables

🚀 Inicio rápido

Uso de la imagen de Docker

# Pull the latest Docker image docker pull threatflux/yaraflux-mcp-server:latest # Run the container docker run -p 8000:8000 \ -e JWT_SECRET_KEY=your-secret-key \ -e ADMIN_PASSWORD=your-admin-password \ -e DEBUG=true \ threatflux/yaraflux-mcp-server:latest ### Using Docker building from source ```bash # Clone the repository git clone https://github.com/ThreatFlux/YaraFlux.git cd YaraFlux/ # Build the Docker image docker build -t yaraflux-mcp-server:latest . # Run the container docker run -p 8000:8000 \ -e JWT_SECRET_KEY=your-secret-key \ -e ADMIN_PASSWORD=your-admin-password \ -e DEBUG=true \ yaraflux-mcp-server:latest

Instalación desde la fuente

# Clone the repository git clone https://github.com/ThreatFlux/YaraFlux.git cd YaraFlux/ # Install dependencies (requires Python 3.13+) make install # Run the server make run

🧩 Integración de escritorio de Claude

YaraFlux está diseñado para una integración perfecta con Claude Desktop a través del Protocolo de Contexto de Modelo.

  1. Construya la imagen de Docker:
docker build -t yaraflux-mcp-server:latest .
  1. Agregar a la configuración de Claude Desktop ( ~/Library/Application Support/Claude/claude_desktop_config.json ):
{ "mcpServers": { "yaraflux-mcp-server": { "command": "docker", "args": [ "run", "-i", "--rm", "--env", "JWT_SECRET_KEY=your-secret-key", "--env", "ADMIN_PASSWORD=your-admin-password", "--env", "DEBUG=true", "--env", "PYTHONUNBUFFERED=1", "threatflux/yaraflux-mcp-server:latest" ], "disabled": false, "autoApprove": [ "scan_url", "scan_data", "list_yara_rules", "get_yara_rule" ] } } }
  1. Reinicie Claude Desktop para activar el servidor.

🛠️ Herramientas MCP disponibles

YaraFlux expone 19 herramientas MCP integradas:

Herramientas de gestión de reglas

  • list_yara_rules : Lista de reglas YARA disponibles con opciones de filtrado
  • get_yara_rule : obtiene el contenido y los metadatos de una regla YARA específica
  • validate_yara_rule : Valida la sintaxis de la regla YARA con informes detallados de errores
  • add_yara_rule : Crea una nueva regla YARA
  • update_yara_rule : Actualizar una regla YARA existente
  • delete_yara_rule : Eliminar una regla YARA
  • import_threatflux_rules : Importar reglas desde el repositorio de GitHub de ThreatFlux

Herramientas de escaneo

  • scan_url : escanear contenido de una URL con reglas YARA especificadas
  • scan_data : escanea los datos proporcionados (codificados en base64) con las reglas especificadas
  • get_scan_result : recupera resultados detallados de un escaneo anterior

Herramientas de gestión de archivos

  • upload_file : Sube un archivo para analizarlo o escanearlo
  • get_file_info : Obtener metadatos sobre un archivo cargado
  • list_files : Lista de archivos cargados con paginación y ordenación
  • delete_file : Eliminar un archivo cargado
  • extract_strings : Extrae cadenas ASCII/Unicode de un archivo
  • get_hex_view : Obtener una vista hexadecimal del contenido del archivo
  • download_file : Descargar un archivo cargado

Herramientas de gestión de almacenamiento

  • get_storage_info : Obtener estadísticas de uso del almacenamiento
  • clean_storage : elimina archivos antiguos para liberar espacio de almacenamiento

📚 Documentación

La documentación completa está disponible en el directorio docs/ :

🗂️ Estructura del proyecto

yaraflux_mcp_server/ ├── src/ │ └── yaraflux_mcp_server/ │ ├── app.py # FastAPI application │ ├── auth.py # JWT authentication and user management │ ├── config.py # Configuration settings loader │ ├── models.py # Pydantic models for requests/responses │ ├── mcp_server.py # MCP server implementation │ ├── utils/ # Utility functions package │ │ ├── __init__.py # Package initialization │ │ ├── error_handling.py # Standardized error handling │ │ ├── param_parsing.py # Parameter parsing utilities │ │ └── wrapper_generator.py # Tool wrapper generation │ ├── mcp_tools/ # Modular MCP tools package │ │ ├── __init__.py # Package initialization │ │ ├── base.py # Base tool registration utilities │ │ ├── file_tools.py # File management tools │ │ ├── rule_tools.py # YARA rule management tools │ │ ├── scan_tools.py # Scanning tools │ │ └── storage_tools.py # Storage management tools │ ├── storage/ # Storage implementation package │ │ ├── __init__.py # Package initialization │ │ ├── base.py # Base storage interface │ │ ├── factory.py # Storage client factory │ │ ├── local.py # Local filesystem storage │ │ └── minio.py # MinIO/S3 storage │ ├── routers/ # API route definitions │ │ ├── __init__.py # Package initialization │ │ ├── auth.py # Authentication API routes │ │ ├── files.py # File management API routes │ │ ├── rules.py # YARA rule management API routes │ │ └── scan.py # YARA scanning API routes │ ├── yara_service.py # YARA rule management and scanning │ ├── __init__.py # Package initialization │ └── __main__.py # CLI entry point ├── docs/ # Documentation ├── tests/ # Test suite ├── Dockerfile # Docker configuration ├── entrypoint.sh # Container entrypoint script ├── Makefile # Build automation ├── pyproject.toml # Project metadata and dependencies ├── requirements.txt # Core dependencies └── requirements-dev.txt # Development dependencies

🧪 Desarrollo

Desarrollo local

# Set up development environment make dev-setup # Run tests make test # Code quality checks make lint make format make security-check # Generate test coverage report make coverage # Run development server make run

Flujos de trabajo de CI/CD

Este proyecto utiliza GitHub Actions para la integración y la implementación continuas:

  • Pruebas CI : se ejecutan en cada solicitud de inserción y extracción a las ramas principal y de desarrollo
    • Ejecuta pruebas, formateo, revisión de errores y verificación de tipos.
    • Crea y prueba imágenes de Docker
    • Carga informes de cobertura de pruebas a Codecov
  • Incremento automático de versión : incrementa automáticamente la versión al enviarla a la rama principal
    • Se actualiza la versión en pyproject.toml, setup.py y Dockerfile
    • Crea una etiqueta git para la nueva versión
  • Publicar versión : se activa después de un incremento automático de versión exitoso
    • Crea imágenes de Docker para múltiples etapas
    • Genera notas de lanzamiento a partir de confirmaciones de Git
    • Crea una versión de GitHub con artefactos
    • Publica imágenes de Docker en Docker Hub

Estos flujos de trabajo garantizan la calidad del código y automatizan el proceso de lanzamiento.

Comprobaciones de estado

Las siguientes comprobaciones de estado se ejecutan en solicitudes de extracción:

  • Verificación de formato : garantiza que el código siga los estándares de formato Black e isort
  • Verificación de pelusa : valida la calidad del código y el cumplimiento de los estándares de codificación
  • Ejecución de pruebas : ejecuta el conjunto de pruebas completo para verificar la funcionalidad
  • Informe de cobertura : garantiza una cobertura de prueba suficiente de la base de código

🌐 Documentación de la API

Documentación API interactiva disponible en:

Para obtener documentación detallada de la API, consulte Referencia de API .

🤝 Contribuyendo

¡Agradecemos sus contribuciones! No dude en enviar una solicitud de incorporación de cambios.

  1. Bifurcar el repositorio
  2. Crea tu rama de funciones ( git checkout -b feature/amazing-feature )
  3. Confirme sus cambios ( git commit -m 'Add some amazing feature' )
  4. Empujar a la rama ( git push origin feature/amazing-feature )
  5. Abrir una solicitud de extracción

📄 Licencia

Este proyecto está licenciado bajo la licencia MIT: consulte el archivo de LICENCIA para obtener más detalles.

💖 Dona o pide funciones

-
security - not tested
A
license - permissive license
-
quality - not tested

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Un servidor de protocolo de contexto de modelo que permite a los asistentes de IA realizar análisis de amenazas basados en reglas YARA en archivos y URL, lo que admite una gestión integral de reglas y resultados de escaneo detallados.

  1. 📋 Descripción general
    1. 🧩 Descripción general de la arquitectura
      1. ✨ Características
        1. 🚀 Inicio rápido
          1. Uso de la imagen de Docker
        2. Clone the repository
          1. Build the Docker image
            1. Run the container
              1. Clone the repository
                1. Install dependencies (requires Python 3.13+)
                  1. Run the server
                    1. Set up development environment
                      1. Run tests
                        1. Code quality checks
                          1. Generate test coverage report
                            1. Run development server
                              1. Flujos de trabajo de CI/CD
                              2. Comprobaciones de estado
                              3. 🌐 Documentación de la API
                              4. 🤝 Contribuyendo
                              5. 📄 Licencia
                              6. 💖 Dona o pide funciones

                            Related MCP Servers

                            • -
                              security
                              A
                              license
                              -
                              quality
                              A Model Context Protocol server that enables AI assistants to search and retrieve information about security exploits and vulnerabilities from the Exploit Database, enhancing cybersecurity research capabilities.
                              Last updated -
                              4
                              TypeScript
                              MIT License
                              • Linux
                              • Apple
                            • -
                              security
                              F
                              license
                              -
                              quality
                              A comprehensive Model Context Protocol server implementation that enables AI assistants to interact with file systems, databases, GitHub repositories, web resources, and system tools while maintaining security and control.
                              Last updated -
                              16
                              TypeScript
                            • -
                              security
                              F
                              license
                              -
                              quality
                              A Model Context Protocol server that extends AI capabilities by providing file system access and management functionalities to Claude or other AI assistants.
                              Last updated -
                              3
                              TypeScript
                              • Apple
                            • -
                              security
                              A
                              license
                              -
                              quality
                              A Model Context Protocol server that provides AI agents with secure access to local filesystem operations, enabling reading, writing, and managing files through a standardized interface.
                              Last updated -
                              160
                              3
                              TypeScript
                              Apache 2.0

                            View all related MCP servers

                            MCP directory API

                            We provide all the information about MCP servers via our MCP API.

                            curl -X GET 'https://glama.ai/api/mcp/v1/servers/ThreatFlux/YaraFlux'

                            If you have feedback or need assistance with the MCP directory API, please join our Discord server