🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

逆向工具调度器 HarunaTyan/dsh-rea-dispatcher

DeepSeek Harness
HarunaTyan3 天前有提交已提供中文文档扫描:含敏感能力

把两百多个逆向工具折叠成三条命令按需调用

30/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/11/2 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add HarunaTyan/dsh-rea-dispatcher
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么[目录]—
dsh 原生插件 · market
暂无时间戳·判据 →
装得上吗[实装验证]—
本站尚未做安装检查
暂无时间戳·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/04·判据 →
还在维护吗[仓库]✓
活跃:最近一次提交在 3 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →

可信度证据

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令读写/删除本地文件
查看扫描证据(共 13 处,展示前 13 条)
  • 读取本地文件
    lib/rea-client.js:68
    return existsSync(candidate)
  • 读取本地文件
    lib/rea-client.js:91
    const pkg = JSON.parse(await readFile(join(dirname(reaMjs), '..', 'package.json'), 'utf8'))
  • 执行外部命令来自配置/变量
    lib/rea-client.js:157
    const child = spawn(nodePath ?? process.execPath, [reaMjs, 'mcp'], {
  • 读取本地文件
    lib/rea-client.js:360
    const cached = JSON.parse(await readFile(cachePath, 'utf8'))
  • 写入本地文件
    lib/rea-client.js:384
    await mkdir(dirname(cachePath), { recursive: true })
  • 写入本地文件
    lib/rea-client.js:385
    await writeFile(staging, JSON.stringify({ reaVersion, fetchedAt, tools }), 'utf8')
  • 写入本地文件
    lib/rea-client.js:386
    await rename(staging, cachePath)
  • 删除本地文件
    lib/rea-client.js:391
    await unlink(staging).catch(() => {})
  • 读取本地文件
    lib/pure.js:115
    const names = (await readdir(dir)).filter((name) => name.endsWith('.txt'))
  • 读取本地文件
    lib/pure.js:121
    const info = await stat(join(dir, name))
  • 删除本地文件
    lib/pure.js:132
    await unlink(join(dir, entry.name)).catch(() => {})
  • 写入本地文件
    lib/pure.js:138
    await mkdir(dir, { recursive: true })
  • 写入本地文件
    lib/pure.js:142
    await writeFile(file, text, 'utf8')
扫描于 2026/11/4(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

社区实装还没有人打卡 · 装过的第一个就是你
依赖的 DSH / Cordis 模块
@deepseek-ai/dsh-tools@deepseek-ai/schemastery
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

README

由 DeepSeek 最新模型翻译生成
dsh-rea-dispatcher DeepSeek Harness 插件。把 REA 的 207 个工具折叠成 3 条命令,另有 6 个只读域入口。REA 是逆向 MCP 服务,npm 包 rea-agents,后端 Ghidra、Hopper、IDA。常驻约 5 KB,直挂约 757 KB。 体积 | 接入方式 | 工具数 | 进入上下文 | 折算 token | | 直接挂载 REA | 207 | 775,016 B | 约 19 万至 22 万 | | 本插件(默认) | 9 | 3,404 字符 / 5,322 B | 约 1.3 K | | 本插件(domainTools: false) | 3 | 1,481 字符 / 2,213 B | 可忽略 | 数字按 {name, description, parameters} 序列化后计算,字符数与 UTF-8 字节数分开给。 离线复算:node test/ab-surface.mjs(用 test/fixtures/ 里的目录快照,不需要装 REA);B 侧数字是宿主编译产物,装了宿主包才会打印。
展开完整文档(README 剩余 1 节)
dsh-rea-dispatcher

DeepSeek Harness 插件。把 REA 的 207 个工具折叠成 3 条命令,另有 6 个只读域入口。REA 是逆向 MCP 服务,npm 包 rea-agents,后端 Ghidra、Hopper、IDA。常驻约 5 KB,直挂约 757 KB。

体积

| 接入方式 | 工具数 | 进入上下文 | 折算 token |
| 直接挂载 REA | 207 | 775,016 B | 约 19 万至 22 万 |
| 本插件(默认) | 9 | 3,404 字符 / 5,322 B | 约 1.3 K |
| 本插件(domainTools: false) | 3 | 1,481 字符 / 2,213 B | 可忽略 |

数字按 {name, description, parameters} 序列化后计算,字符数与 UTF-8 字节数分开给。
离线复算:node test/ab-surface.mjs(用 test/fixtures/ 里的目录快照,不需要装 REA);B 侧数字是宿主编译产物,装了宿主包才会打印。

工具

| 工具 | 作用 |
| rea_tools | 列工具名与标题,按域分组,支持 filter |
| rea_help | 单个工具的必填项、已知陷阱、参数 schema |
| rea_call | 调用工具,参数原样透传 |
| rea_native rea_web rea_apk rea_mobile rea_firmware rea_general | 只读域清单,只列本域工具 |

域入口只列名字,不执行。执行一律走 rea_call。

安装

先自备依赖,插件不代装引擎。

| 依赖 | 用途 |
| DSH | 宿主 |
| Node.js 22 或 24 | 运行 REA 的 MCP 入口 |
| rea-agents | 提供 207 个逆向工具 |
| Ghidra 12.1.x 与 JDK 21 | 供需要引擎的工具使用 |

npm i -g rea-agents
dsh plugin --profile <profile> add github:HarunaTyan/dsh-rea-dispatcher

装好后在市场启用,或由 AI 侧调用 plugin_manager set_bundle dsh-rea-dispatcher enabled=true,无需重启。dsh --profile <profile> --dump-config 里出现 - id: rea-dispatcher 即生效。

引擎路径默认读 GHIDRA_INSTALL_DIR 与 JAVA_HOME。没配也能加载并列目录,只有用到引擎的工具会报 REA 自己的错。缺 rea-agents 时返回可直接执行的安装提示。

宿主版本区间 >=0.2.1-rc.1 <0.3.0-0;0.2.2-rc.x 这类后续预发布不在区间内,需要时发版扩区间。

使用

这些工具由会话里的 AI 调用,不需要手敲。

rea_tools filter=image
rea_native filter=procedure
rea_help name=inspect_native_load_image
rea_call name=inspect_native_load_image arguments={"path":"C:/target/app.exe"}

rea_help 开头就是必填项与高代价陷阱:

procedure_pseudo_code
必填:procedure ⚠️ 0x… 若不是函数入口会退化成 file offset;先 procedure_info 拿入口再调用

REA 的错误原样返回,只在首行标注来源。REA 会话不跨轮:上一轮 open_binary 成功,下一轮仍可能报 No app is open。插件默认自动重开并重试一次,输出里会标注;autoReopen: false 关掉。

返回超过 maxBytes 时截断,全文落盘并在尾部给出路径与行数,可用 ops_read_files 或 ops_grep 分段读。

配置

默认值都由环境派生,包内不含机器路径。覆盖写在 profile 的 cordis.patch.yml,entry id 是 rea-dispatcher。

- id: rea-dispatcher
config:
cwdAllow: ['D:/re-projects']
ghidraDir: "D:/tools/ghidra_12.1.4_PUBLIC"
javaHome: "D:/tools/JDK21"
callTimeoutMs: 600000
maxBytes: 40000

patch 里的 config 是整体替换,不是深合并;覆盖时要把用到的键一次写全。

| 键 | 作用 | 默认 |
| reaMjs | scripts/rea.mjs 路径 | 自动探测 |
| ghidraDir | 注入 GHIDRA_INSTALL_DIR | 同名环境变量 |
| javaHome | 注入 JAVA_HOME,并把其 bin 前置到 PATH | 同名环境变量 |
| cwdAllow | 会话目录白名单 | [],不限制 |
| maxBytes | 单次返回上限 | 20000 |
| autoReopen | 掉线自动重开一次 | true |
| spill | 超限时落盘全文 | true |
| domainTools | 是否注册 6 个域入口 | true |
| domainLimit | 域清单条数上限 | 40 |
| helpMaxChars | rea_help 返回上限 | 12000 |
| callTimeoutMs | 单次调用超时 | 300000 |
| listTimeoutMs | 握手与列目录超时 | 120000 |

边界

cwdAllow 只约束会话目录
- 空数组不限制。非空时按路径段比较,/re/proj2 不会被 /re/proj 放行,比较前折叠 . 与 ..,Windows 忽略大小写。
- 取不到会话目录时拒绝。
- 它不约束 rea_call 参数里的路径。要更硬的隔离,把 REA 子进程放进受限账户或沙箱。

适合与不适合

- 适合单点可验证的查询(伪代码、交叉引用、字符串、导入导出表)与逐步缩小范围的探索。
- 不适合长时间维持同一二进制状态的深挖,超时会丢子进程;也不适合全量枚举。

REA 侧限制

- Windows 上只吃 native PE 与 raw 6502。ELF 能 open_binary,深分析会被四个 provider 全拒,报 target_format_unsupported;打开成功不等于可分析。
- 不带符号。同目录 PDB 不会被导入,函数仍显示为 FUN_1400xxxxx,要符号得本地跑 analyzeHeadless。

排错

| 现象 | 处理 |
| 未找到 rea-agents 的 MCP 入口 | npm i -g rea-agents,或配 reaMjs / REA_MJS |
| 当前目录未授权 | 会话目录不在 cwdAllow 里,调整配置或在允许目录开会话 |
| target_format_unsupported | 目标格式不支持,见上面 REA 侧限制 |
| capability_unavailable | 缺外部工具,例如 tshark |

开发与反馈

测试脚本在仓库里,npm 包不含 test/。

git clone https://github.com/HarunaTyan/dsh-rea-dispatcher && cd dsh-rea-dispatcher
node test/resolver.mjs
node test/smoke.mjs
node test/ab-surface.mjs
node test/start-failure.mjs

问题提到 Issues,附 DSH 版本、rea-agents 版本与报错原文。个人维护,按优先级尽力修复。

许可

MIT。与 REA、Ghidra、DSH 等项目无隶属关系。
预览分享卡片长什么样 ↓HarunaTyan/dsh-rea-dispatcher
分享 · DeepSeek Harness Hub
HarunaTyan/dsh-rea-dispatcher

把两百多个逆向工具折叠成三条命令按需调用

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部