YaraFlux MCP Server

Integrations

  • Uses FastAPI to provide REST API endpoints for YARA scanning, rule management, and file operations, with interactive API documentation.

  • Allows importing YARA rules directly from the ThreatFlux GitHub repository to expand scanning capabilities.

  • Offers flexible storage options with MinIO/S3 integration for storing files, YARA rules, and scan results, providing an alternative to local storage.

YaraFlux MCP サーバー

YARA スキャン用のモデル コンテキスト プロトコル (MCP) サーバー。LLM に YARA ルールを使用してファイルを分析する機能を提供します。

📋 概要

YaraFlux MCPサーバーは、AIアシスタントが標準化されたモデルコンテキストプロトコルインターフェースを介してYARAルールベースの脅威分析を実行できるようにします。このサーバーはYARAスキャンを最新のAIアシスタントと統合し、モジュール型アーキテクチャを通じて包括的なルール管理、セキュアスキャン、詳細な結果分析をサポートします。

🧩 アーキテクチャの概要

+------------------------------------------+ | 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統合レイヤー: AIアシスタントとの通信を処理
  • ツール実装層:YARAスキャンおよび管理機能を実装します
  • ストレージ抽象化レイヤー:柔軟なストレージオプションを提供
  • YARAエンジン統合:スキャンとルール管理にYARAを活用

詳細なアーキテクチャ図については、アーキテクチャ ドキュメントを参照してください。

✨ 特徴

  • 🔄モジュラーアーキテクチャ
    • MCP統合、ツール実装、ストレージの明確な分離
    • 標準化されたパラメータ解析とエラー処理
    • ローカルおよび S3/MinIO オプションを備えた柔軟なストレージ バックエンド
  • 🤖 MCP 統合
    • 包括的な機能を実現する19の統合MCPツール
    • Claude Desktop 統合に最適化
    • 会話内から直接ファイルを分析
    • 最新のMCPプロトコル仕様と互換性があります
  • 🔍 YARAスキャン
    • URLとファイルコンテンツのスキャン
    • コンテキスト付きの詳細な試合情報
    • スキャン結果の保存と取得
    • パフォーマンス最適化されたスキャンエンジン
  • 📝ルール管理
    • YARAルールの作成、読み取り、更新、削除
    • 詳細なエラーレポートによるルール検証
    • ThreatFluxリポジトリからルールをインポートする
    • ソースによる分類(カスタム vs. コミュニティ)
  • 📊ファイル分析
    • バイナリ解析のための16進表示
    • 設定可能なパラメータによる文字列抽出
    • ファイルのメタデータとハッシュ情報
    • 安全なファイルのアップロードと保存
  • 🔐セキュリティ機能
    • APIアクセスのためのJWT認証
    • 非ルートコンテナ実行
    • 安全なストレージ分離
    • 設定可能なアクセス制御

🚀 クイックスタート

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

🧩 クロード デスクトップ統合

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 : 指定されたYARAルールを使用してURLからコンテンツをスキャンします
  • scan_data : 指定されたルールで提供されたデータ(base64エンコード)をスキャンします。
  • get_scan_result : 前回のスキャンから詳細な結果を取得する

ファイル管理ツール

  • upload_file : 分析またはスキャン用のファイルをアップロードします
  • get_file_info : アップロードされたファイルに関するメタデータを取得する
  • list_files : アップロードされたファイルをページ区切りと並べ替え付きで一覧表示する
  • delete_file : アップロードされたファイルを削除する
  • extract_strings : ファイルから ASCII/Unicode 文字列を抽出する
  • get_hex_view : ファイルの内容を16進数で表示する
  • 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 Actions を使用します。

  • CI テスト: メイン ブランチと開発ブランチへのすべてのプッシュ リクエストとプル リクエストで実行されます。
    • テスト、フォーマット、リンティング、型チェックを実行します
    • 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.

AI アシスタントがファイルや URL に対して YARA ルールベースの脅威分析を実行できるようにし、包括的なルール管理と詳細なスキャン結果をサポートするモデル コンテキスト プロトコル サーバー。

  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
                              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 -
                              14
                              1
                              TypeScript
                              Apache 2.0

                            View all related MCP servers

                            ID: vu61ypz27z