前言¶
DeepSeek Harness (DSH) 通过插件机制扩展能力,支持将上游的 MCP 服务接入会话。在安全研究和二进制分析场景中,REA(Reverse Engineer Anything) 是一个常用的工具集。直接在 DSH 中配置 REA 的 MCP 服务较为繁琐。dsh-plugin-rea 插件通过注入配置,将本地的 REA MCP 服务注册为 mcp__rea__* 工具,使其能在 DSH 的工作流中被直接调用。
这是什么¶
这是一个配置型的 Cordis 插件包。其 package.json 中声明了 dsh.bundle.patch,通过补丁文件向 DSH 注入一行官方的 MCP 客户端配置。这行配置指向了本地已安装的 REA MCP 服务器(stdio 模式)。
该插件不包含任何分析代码,也不维护 REA 的上游逻辑。它仅负责将 REA 的工具注册到 DSH 的会话中,并处理环境隔离(将分析引擎的环境变量隔离到 MCP 子进程,而非整个 Harness)。
核心功能¶
该插件注册了 170+ 个工具,主要能力如下:
- 注册工具:在 DSH 会话中提供
mcp__rea__*命名空间下的工具。 - 原生二进制分析:支持利用 Ghidra 进行伪代码和汇编分析。
- Android 分析:支持 APK 反编译方法分析。
- JS/Electron 分析:支持 JavaScript 模块及其依赖关系的分析。
- .NET 分析:支持 .NET 程序集的分析。
- 固件分析:支持固件级别的分析能力。
- 纯配置:仅包含适配器配置,无分析代码。
安装与启用¶
在安装前,请确保你的环境已具备 REA 的依赖(如 Ghidra)。
- 确保已安装 REA CLI(如
rea-agents)。 - 执行安装命令:
dsh plugin --profile <profile> add github:czcdr/dsh-plugin-rea
安装完成后,该插件会自动将 REA 的 MCP 工具注册到当前 profile 的会话中。
典型用法¶
启用插件后,即可在 DSH 会话中直接调用 REA 工具。
- 查看会话状态:请求
mcp__rea__*调用,例如binary_session。这会返回 REA 引擎的检查结果(configuration / installation / headless / native_decompiler / java),所有状态应显示为ok: true。 - 打开文件:使用
open_binary指定要分析的文件路径(例如 PE 文件)。 - 查看结果:使用
binary_overview查看文件概览,使用procedure_pseudo_code查看反编译后的伪代码。
配置环境变量:
REA 默认读取 GHIDRA_INSTALL_DIR 环境变量。为了避免将机器级敏感路径泄露到插件配置中,建议在 profile 的 cordis.patch.yml 中进行覆盖:
- id: mcp-rea
config:
env:
GHIDRA_INSTALL_DIR: '<your Ghidra 12.1.x directory>'
适用场景与注意¶
该插件将 REA 工具直接暴露给 DSH,使用时需注意以下几点:
- 结果局限性:无法恢复完整的源代码。对于二进制文件,返回的是伪代码或汇编;对于 APK,返回的是反编译方法。结果带有置信度和局限性标记(如
observed/derived/inferred),应将其视为证据而非原始源码。 - 权限与安全:REA 拥有 170+ 个工具,工具列表随会话增长。插件启动时设置了
failOnStartupError: false,即 REA 未安装也不会阻塞 DSH 启动。但部分 REA 工具可能会启动进程、写入文件或访问网络,需注意 DSH 的权限策略。 - 授权合规:仅分析你有授权的工件。
- 许可证:适配器为 MIT 许可证,上游 REA 为 MIT 许可证,Ghidra 为 Apache-2.0 许可证。
结语¶
dsh-plugin-rea 解决了将 REA 集成到 DeepSeek Harness 工作流中的配置难题。它通过纯配置的方式,让 DSH 能够直接调用 REA 强大的逆向分析能力,适合需要在智能体环境中进行二进制、移动应用或固件分析的场景。
- 插件目录: https://www.skillhub.cn/plugins/czcdr/dsh-plugin-rea
- GitHub 仓库: https://github.com/czcdr/dsh-plugin-rea