Skip to main content
Glama

YaraFlux MCP Server

Сервер YaraFlux MCP

Сервер протокола контекста модели (MCP) для сканирования YARA, предоставляющий LLM возможность анализировать файлы с помощью правил YARA.

📋 Обзор

YaraFlux MCP Server позволяет помощникам ИИ выполнять анализ угроз на основе правил YARA через стандартизированный интерфейс Model Context Protocol. Сервер интегрирует сканирование YARA с современными помощниками ИИ, поддерживая комплексное управление правилами, безопасное сканирование и подробный анализ результатов через модульную архитектуру.

🧩 Обзор архитектуры

+------------------------------------------+ | 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 имеет модульную архитектуру, которая разделяет задачи между:

  • Уровень интеграции MCP : обеспечивает связь с помощниками на базе искусственного интеллекта.
  • Уровень реализации инструмента : реализует функции сканирования и управления YARA.
  • Уровень абстракции хранения : обеспечивает гибкие возможности хранения.
  • Интеграция с движком YARA : использует YARA для сканирования и управления правилами.

Подробные схемы архитектуры см. в документации по архитектуре .

✨ Особенности

  • 🔄 Модульная архитектура
    • Четкое разделение интеграции MCP, внедрения инструментов и хранения
    • Стандартизированный анализ параметров и обработка ошибок
    • Гибкая внутренняя система хранения с локальными и S3/MinIO-опциями
  • 🤖 Интеграция MCP
    • 19 интегрированных инструментов MCP для комплексной функциональности
    • Оптимизировано для интеграции с Claude Desktop
    • Прямой анализ файлов из разговоров
    • Совместимость с последней спецификацией протокола MCP
  • 🔍 Сканирование YARA
    • Сканирование URL-адресов и содержимого файлов
    • Подробная информация о совпадениях с контекстом
    • Хранение и извлечение результатов сканирования
    • Оптимизированный по производительности сканирующий механизм
  • 📝 Управление правилами
    • Создание, чтение, обновление, удаление правил YARA
    • Проверка правил с подробным отчетом об ошибках
    • Импортировать правила из репозитория ThreatFlux
    • Категоризация по источнику (пользовательский или общественный)
  • 📊 Анализ файла
    • Шестнадцатеричное представление для двоичного анализа
    • Извлечение строк с настраиваемыми параметрами
    • Метаданные файла и хэш-информация
    • Безопасная загрузка и хранение файлов
  • 🔐 Функции безопасности
    • Аутентификация JWT для доступа к API
    • Выполнение контейнера без прав root
    • Безопасная изоляция хранилища
    • Настраиваемый контроль доступа

🚀 Быстрый старт

Использование образа 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

Установка из источника

# 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

🧩 Интеграция Claude Desktop

YaraFlux разработан для бесшовной интеграции с Claude Desktop через протокол контекста модели.

  1. Создайте образ Docker:
docker build -t yaraflux-mcp-server:latest .
  1. Добавьте в конфигурацию 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. Перезапустите Claude Desktop, чтобы активировать сервер.

🛠️ Доступные инструменты MCP

YaraFlux предлагает 19 интегрированных инструментов MCP:

Инструменты управления правилами

  • list_yara_rules : Список доступных правил YARA с параметрами фильтрации
  • get_yara_rule : Получить содержимое и метаданные определенного правила YARA
  • validate_yara_rule : проверка синтаксиса правил YARA с подробным отчетом об ошибках
  • add_yara_rule : Создать новое правило YARA
  • update_yara_rule : обновить существующее правило YARA
  • delete_yara_rule : Удалить правило YARA
  • import_threatflux_rules : Импорт правил из репозитория ThreatFlux GitHub

Инструменты сканирования

  • scan_url : Сканировать содержимое с URL-адреса с указанными правилами YARA
  • scan_data : Сканировать предоставленные данные (в кодировке base64) с указанными правилами
  • get_scan_result : получение подробных результатов предыдущего сканирования

Инструменты управления файлами

  • upload_file : Загрузить файл для анализа или сканирования
  • get_file_info : Получить метаданные о загруженном файле
  • list_files : Список загруженных файлов с разбивкой на страницы и сортировкой
  • delete_file : Удалить загруженный файл
  • extract_strings : Извлечение строк ASCII/Unicode из файла
  • get_hex_view : Получить шестнадцатеричное представление содержимого файла
  • download_file : Загрузить загруженный файл

Инструменты управления хранилищем

  • get_storage_info : Получить статистику использования хранилища
  • clean_storage : Удалите старые файлы, чтобы освободить место на диске.

📚 Документация

Подробная документация доступна в каталоге docs/ :

🗂️ Структура проекта

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

🧪 Развитие

Местное развитие

# 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

Рабочие процессы CI/CD

В этом проекте для непрерывной интеграции и развертывания используются действия GitHub:

  • Тесты CI : запускаются при каждом запросе push и pull в основных и разрабатываемых ветках.
    • Выполняет тесты, форматирование, линтинг и проверку типов
    • Создает и тестирует образы Docker
    • Загружает отчеты о тестовом покрытии в Codecov
  • Автоувеличение версии : автоматически увеличивает версию при отправке в основную ветку.
    • Обновляет версию в pyproject.toml, setup.py и Dockerfile
    • Создает тег git для новой версии
  • Опубликовать релиз : срабатывает после успешного автоматического увеличения версии
    • Создает образы Docker для нескольких этапов
    • Создает заметки о выпуске из коммитов git
    • Создает релиз GitHub с артефактами
    • Публикует образы Docker в Docker Hub

Эти рабочие процессы обеспечивают качество кода и автоматизируют процесс выпуска.

Проверка статуса

При запросах на извлечение выполняются следующие проверки статуса:

  • Проверка формата : гарантирует, что код соответствует стандартам форматирования Black и Isort
  • Проверка Lint : проверяет качество кода и его соответствие стандартам кодирования.
  • Выполнение теста : запускает полный набор тестов для проверки функциональности
  • Отчет о покрытии : обеспечивает достаточное тестовое покрытие кодовой базы

🌐 API-документация

Интерактивная документация API доступна по адресу:

Подробную документацию по API см. в Справочнике API .

🤝 Вклад

Вклады приветствуются! Пожалуйста, не стесняйтесь отправлять запрос на включение.

  1. Форк репозитория
  2. Создайте ветку функций ( git checkout -b feature/amazing-feature )
  3. Зафиксируйте свои изменения ( git commit -m 'Add some amazing feature' )
  4. Отправить в ветку ( git push origin feature/amazing-feature )
  5. Открыть запрос на извлечение

📄 Лицензия

Данный проект лицензирован по лицензии MIT — подробности см. в файле LICENSE .

💖 Пожертвуйте или попросите функции

-
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.

Сервер Model Context Protocol, который позволяет помощникам с искусственным интеллектом выполнять анализ угроз на основе правил YARA для файлов и URL-адресов, поддерживая комплексное управление правилами и подробные результаты сканирования.

  1. 📋 Обзор
    1. 🧩 Обзор архитектуры
      1. ✨ Особенности
        1. 🚀 Быстрый старт
          1. Использование образа 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. Рабочие процессы CI/CD
                              2. Проверка статуса
                              3. 🌐 API-документация
                              4. 🤝 Вклад
                              5. 📄 Лицензия
                              6. 💖 Пожертвуйте или попросите функции

                            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
                              -
                              license
                              -
                              quality
                              A Model Context Protocol server that performs third-party threat intelligence enrichment for various observables (IP addresses, domains, URLs, emails) using services like VirusTotal, Shodan, and AbuseIPDB.
                              Last updated -
                            • -
                              security
                              F
                              license
                              -
                              quality
                              A Model Context Protocol server that enables AI assistants to create and manage JIRA issues with rich markdown formatting and automatic conversion to Atlassian Document Format.
                              Last updated -
                              Python
                              • Linux
                              • Apple

                            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