项目简介

'jaegis-RAVERSE' 是一个强大的AI驱动多智能体系统,专注于二进制分析、逆向工程和自动化补丁。它通过MCP (Model Context Protocol) 框架,将这些复杂功能以标准化的服务接口暴露给大型语言模型(LLM)客户端。该服务器能够托管和管理各种资源,注册并执行丰富的工具,并支持灵活的Prompt模板,为LLM提供上下文感知和功能调用能力。

主要功能点

  1. 二进制分析与修补: 自动对可执行文件进行反汇编、模式识别、漏洞分析,并生成和应用安全补丁。
  2. Web安全分析: 执行Web侦察、JavaScript分析、API逆向工程和WebAssembly分析,以识别Web应用中的安全风险。
  3. 知识库管理: 支持内容摄取、语义搜索和检索增强生成(RAG),为LLM提供实时知识查询。
  4. 智能体与工具编排: 协调35+种专业AI智能体,执行复杂任务,并通过JSON-RPC协议响应客户端的工具调用请求。
  5. 基础设施管理: 集成PostgreSQL和Redis进行数据持久化和高速缓存,支持度量收集、日志记录和配置服务。
  6. 高级分析与报告: 具备逻辑识别、流量拦截、深层研究和综合报告生成能力。

安装步骤

RAVERSE MCP服务器支持通过NPM或PyPI进行快速安装和运行,也可以通过Git仓库克隆部署。以下是推荐的安装方法:

  1. 使用NPX(最快,无需本地安装): 直接运行最新的MCP服务器版本,无需全局安装。

    npx raverse-mcp-server@latest

    或指定版本:

  2. 通过NPM全局安装: 首先全局安装NPM包,然后运行服务器。

    npm install -g raverse-mcp-server
    raverse-mcp-server
  3. 通过PyPI安装: 从PyPI安装Python包,然后运行服务器模块。

    pip install jaegis-raverse-mcp-server
    python -m jaegis_raverse_mcp_server.server
  4. 从GitHub仓库克隆(用于开发):

    • 克隆仓库:
      git clone https://github.com/usemanusai/jaegis-RAVERSE.git
      cd jaegis-RAVERSE/jaegis-RAVERSE-mcp-server
    • 创建并激活Python虚拟环境:
      python -m venv venv
      source venv/bin/activate  # Windows用户使用 'venv\Scripts\activate'
    • 安装依赖:
      pip install -r requirements.txt
    • 复制并配置 '.env' 文件(包含数据库、Redis和OpenRouter API密钥等):
      cp .env.example .env
      # 根据需要编辑 .env 文件,特别是 LLM_API_KEY、DATABASE_URL 和 REDIS_URL
    • 运行服务器:
      python -m jaegis_raverse_mcp_server.server

注意: 首次运行时,服务器可能会启动一个交互式设置向导,引导您配置必要的数据库、Redis和LLM API密钥。请按照提示完成设置。

服务器配置(供MCP客户端使用)

MCP客户端需要以下JSON格式的配置信息才能连接并使用RAVERSE MCP服务器。这个配置会告诉客户端如何启动和通信。

{
  "server_name": "RAVERSE MCP Server",
  "description": "AI多智能体二进制分析与修补系统",
  "command": ["python", "-m", "jaegis_raverse_mcp_server.server"],
  "args": [],
  "options": {
    "log_level": "INFO",             // 可选:服务器的日志级别 (DEBUG, INFO, WARNING, ERROR)
    "openrouter_api_key_env": "OPENROUTER_API_KEY", // 可选:指定OpenRouter API密钥的环境变量名
    "database_url_env": "DATABASE_URL", // 可选:指定PostgreSQL数据库URL的环境变量名
    "redis_url_env": "REDIS_URL"     // 可选:指定Redis URL的环境变量名
  },
  "transport": "stdio",              // 传输协议:Stdio
  "protocol": "jsonrpc"              // 协议类型:JSON-RPC
}

参数注释:

  • 'server_name': 服务器的显示名称。
  • 'description': 服务器的简要描述。
  • 'command': 启动MCP服务器进程的命令列表。这里指定了使用Python解释器运行 'jaegis_raverse_mcp_server.server' 模块。
  • 'args': 传递给启动命令的额外参数列表。默认情况下,RAVERSE MCP服务器通过环境变量进行配置,无需额外的命令行参数。
  • 'options': 客户端可用于配置服务器运行时行为的额外参数映射。这里列举了一些常用的环境变量,客户端可以提示用户设置这些环境变量,而不是直接在 'args' 中传递敏感信息。
  • 'transport': 服务器与客户端通信所使用的传输协议,这里是 'stdio'(标准输入/输出)。
  • 'protocol': 服务器支持的通信协议,这里是 'jsonrpc'。

基本使用方法

RAVERSE MCP服务器主要由LLM客户端通过其暴露的工具接口进行调用。以下是典型的交互流程:

  1. 初始化连接: LLM客户端发送 'initialize' 请求,服务器返回其能力声明和支持的协议版本。
  2. 获取可用工具列表: LLM客户端发送 'tools/list' 请求,服务器返回其所有35+种工具的详细信息(包括名称、描述和输入Schema)。LLM可以根据这些信息了解服务器能提供的功能。
  3. 调用工具执行任务: LLM客户端根据需要选择一个工具(例如 'disassemble_binary' 或 'search_knowledge_base'),并发送 'tools/call' 请求,附带工具名称和所需的参数。 例如,LLM客户端可能请求服务器:
    • 'disassemble_binary' (二进制文件路径: '/path/to/vulnerable.exe', 架构: 'x64')
    • 'ingest_content' (内容: "最新的零日漏洞报告", 元数据: '{"tag": "security"}')
    • 'reconnaissance' (目标URL: 'https://example.com')
  4. 接收工具执行结果: 服务器执行工具,并将结果以JSON-RPC响应的形式返回给LLM客户端。结果中包含任务是否成功、返回的数据或错误信息。

通过这种方式,LLM可以利用RAVERSE MCP服务器的专业能力,进行复杂的二进制分析、Web安全评估或知识查询,从而增强其自身的上下文理解和决策能力。

信息

分类

AI与计算