mcpField
M
mcp-reverse-engineering

mcp-reverse-engineering

本地服务
github.com/daedalus安全126 周前更新

关于 mcp-reverse-engineering

mcp-reverse-engineering 为分析文件和二进制内容的人员提供沙箱化工具接口,可运行常见逆向工具。它通过文件系统隔离、超时和参数验证限制工具执行。

主要功能

  1. 01运行文件与二进制分析工具
  2. 02识别文件类型并提取可见字符串
  3. 03反汇编二进制文件并读取 ELF 头
  4. 04使用 binwalk 分析固件
  5. 05通过超时与参数验证隔离执行

适用场景

  1. 01识别文件类型或提取字符串
  2. 02检查二进制指令与 ELF 元数据
  3. 03分析固件镜像
  4. 04在隔离工作区运行逆向工具

MCP 相关

它向 MCP 客户端提供逆向工具,包括 strings、objdump、readelf 和 binwalk。执行过程具备文件系统隔离、超时和参数验证。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"daedalus-mcp-reverse-engineering-2": {
"command": "uvx",
"args": [
"mcp-reverse-engineering"
]
}
}
}
启动命令uvx mcp-reverse-engineering

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypimcp-reverse-engineering0.1.4

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

mcp-reverse-engineering

一个沙箱化的 MCP(Model Context Protocol)逆向工程工具,通过安全限制为各种逆向工程工具提供统一接口。

PyPI Python RuffAsk DeepWiki

用途

本项目提供安全的沙箱环境,可通过 CLI 或 MCP 协议执行逆向工程工具。它封装了常见的逆向工程实用工具(strings、objdump、readelf、binwalk 等),并提供文件系统隔离、超时和参数验证等安全功能。

安装

pip install mcp-reverse-engineering

或用于开发:

pip install -e ".[dev]"
MCP 服务安装

要将其用作 Claude Desktop 的 MCP 服务:

mcp install src/mcp_reverse_engineering/server.py

使用方法

CLI
# Extract strings from a binary
mcp-re --tool strings --file /path/to/binary

# Disassemble a binary
mcp-re --tool objdump --args "['-d']" --file /path/to/binary

# Analyze ELF headers
mcp-re --tool readelf --args "['-h', '-s']" --file /path/to/elf

# Run binwalk for firmware analysis
mcp-re --tool binwalk --file /path/to/firmware.bin
Python API
from mcp_reverse_engineering import ReverseEngineeringEngine

# Create engine with default config
engine = ReverseEngineeringEngine(
    workspace="./workspace",
    timeout=30,
)

# List available tools
print(engine.list_available_tools())

# Execute a tool
result = engine.execute_tool("strings", ["-n", "8"], "/path/to/binary")
print(result)
MCP 服务
from mcp_reverse_engineering.server import mcp, strings, objdump, readelf, binwalk

# Run the server (stdio transport for Claude Desktop)
if __name__ == "__main__":
    mcp.run()

API

ReverseEngineeringEngine

用于执行逆向工程工具的主类。

engine = ReverseEngineeringEngine(
    workspace: str = "./workspace",  # Sandbox directory
    timeout: int = 30,               # Tool execution timeout
    config_path: str | Path | None = None,  # YAML config path
)

方法:

  • execute_tool(tool_name: str, args: List[str], file_path: Optional[str] = None) -> str - 执行工具
  • list_available_tools() -> List[str] - 列出已启用的工具
  • get_tool_documentation(tool_name: str) -> Dict[str, Any] - 获取工具文档
  • get_mcp_tools() -> List[Dict[str, Any]] - 获取 MCP 工具架构
可用工具
工具类别描述
filefile_tools确定文件类型
stringsfile_tools提取可打印字符串
hexdumpfile_tools十六进制转储
xxdfile_tools十六进制转储
objdumpbinary_tools反汇编二进制文件
readelfbinary_tools读取 ELF 标头
binwalkfirmware_tools固件分析

开发

# Clone the repository
git clone https://github.com/daedalus/mcp_reverse_engineering.git
cd mcp_reverse_engineering

# Install dependencies
pip install -e ".[test]"

# Run tests
pytest

# Format code
ruff format src/ tests/

# Lint
ruff check src/ tests/

# Type check
mypy src/

# Install pre-commit hooks
pip install pre-commit
pre-commit install

MCP 服务配置

mcp-name: io.github.daedalus/mcp-reverse-engineering

要求

  • Python 3.11+
  • 外部工具:binwalk、radare2、ghidra 等(必须单独安装)

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。