@kirkchinese/dsh-rea 0.0.0-stage → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +50 -2
- package/cordis.patch.yml +59 -0
- package/families.yml +43 -0
- package/locale/en.json +1 -0
- package/locale/zh.json +1 -0
- package/package.json +39 -3
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 kirkchinese
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -1,3 +1,51 @@
|
|
|
1
|
-
#
|
|
1
|
+
# @kirkchinese/dsh-rea
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
通过[能力目录](../capability-catalog)在 DeepSeek Harness 中按需使用 [REA](https://github.com/morluto/rea):人工整理的 14 个能力族覆盖 REA 6.7.0 的全部 207 个工具,REA 只在模型真正调用时启动。
|
|
4
|
+
|
|
5
|
+
> **过渡方案。** 以下任一上游改进落地后,本包将弃用:REA 在 `tools/list` 中声明工具族(能力目录会直接采用),或 DSH 的 DeepSeek 适配器支持延迟工具与 `tool_reference`。提案草稿见仓库 `docs/upstream/`。
|
|
6
|
+
|
|
7
|
+
## 安装
|
|
8
|
+
|
|
9
|
+
需要先安装能力目录,并让 `rea` 在 PATH 上:
|
|
10
|
+
|
|
11
|
+
```sh
|
|
12
|
+
npm install -g rea-agents
|
|
13
|
+
dsh plugin --profile web add @kirkchinese/dsh-capability-catalog
|
|
14
|
+
dsh plugin --profile web add @kirkchinese/dsh-rea
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
想一次装好用整合包 [`@kirkchinese/dsh-re-kit`](../re-kit),两者二选一。
|
|
18
|
+
|
|
19
|
+
本包插入一行 `capability-catalog-rea`,不改动能力目录主行的配置。要改命令(例如改用 `npx -y rea-agents@6.7.0 mcp`)或关掉 REA,在 profile 的 `cordis.patch.yml` 中覆盖这一行:
|
|
20
|
+
|
|
21
|
+
```yaml
|
|
22
|
+
- id: capability-catalog-rea
|
|
23
|
+
config:
|
|
24
|
+
name: rea
|
|
25
|
+
enabled: false
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
覆盖会替换整个 `config`,`families` 需要的话请一并写上。
|
|
29
|
+
|
|
30
|
+
## 能力族
|
|
31
|
+
|
|
32
|
+
| 族 | 内容 | 工具数 |
|
|
33
|
+
| --- | --- | --- |
|
|
34
|
+
| session | 打开/关闭目标、提供方绑定、导航上下文 | 8 |
|
|
35
|
+
| native-code | 函数、伪代码、汇编、调用图与引用 | 28 |
|
|
36
|
+
| native-navigation | 地址、字节、字符串、名称、段、注释与书签 | 22 |
|
|
37
|
+
| native-formats | Mach-O/PE/ELF、签名、Go/Rust/Swift/ObjC 元数据、objdump、rizin | 20 |
|
|
38
|
+
| javascript-electron | JS/Electron 应用、bundle、source map、IPC 与运行时 | 17 |
|
|
39
|
+
| web-browser | 浏览器页面、网络抓包、截图、WebMCP | 14 |
|
|
40
|
+
| android | APK、类、方法、资源(JADX、Apktool、JEB) | 12 |
|
|
41
|
+
| adb-device | adb 设备:包、文件、日志、屏幕与应用控制 | 24 |
|
|
42
|
+
| managed-dotnet | .NET 程序集与重建 | 7 |
|
|
43
|
+
| apple-bundles | plist、keyed archive、asset catalog、Interface Builder | 6 |
|
|
44
|
+
| artifacts | 归档、包、固件、SQLite、分析视图 | 7 |
|
|
45
|
+
| runtime-debug | Frida、GDB、rizin 调试、进程与原生 UI 捕获、崩溃记录 | 26 |
|
|
46
|
+
| captures-signals | pcap 与逻辑信号 | 6 |
|
|
47
|
+
| evidence | Evidence 包、残留未知项与重建验证 | 10 |
|
|
48
|
+
|
|
49
|
+
规则在 [`families.yml`](families.yml);`cordis.patch.yml` 由仓库的 `scripts/sync-patches.mjs` 生成。
|
|
50
|
+
|
|
51
|
+
REA 自带的工作流 skill(`rea setup --skill --yes` 安装到 `~/.agents/skills`)照常可用,其中的工具名对应能力目录 id `mcp:rea/<name>`。
|
package/cordis.patch.yml
ADDED
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# Generated by scripts/sync-patches.mjs from packages/rea/families.yml; edit that file instead.
|
|
2
|
+
# REA through the capability catalog. Deprecated once REA ships tool groups upstream or the
|
|
3
|
+
# Harness DeepSeek adapter supports deferred tools; see packages/rea/README.md.
|
|
4
|
+
- insert:
|
|
5
|
+
- id: capability-catalog-rea
|
|
6
|
+
name: '@kirkchinese/dsh-capability-catalog/server'
|
|
7
|
+
config:
|
|
8
|
+
name: rea
|
|
9
|
+
title: REA reverse engineering
|
|
10
|
+
description: >-
|
|
11
|
+
Reverse engineering of native binaries, JavaScript/Electron and web apps, Android, .NET,
|
|
12
|
+
Apple bundles, firmware and runtime behavior, with evidence for every finding. For workflow
|
|
13
|
+
guidance load the skill reverse-engineer-anything when it is available; tool names in it map
|
|
14
|
+
to ids mcp:rea/<name>.
|
|
15
|
+
command: rea
|
|
16
|
+
args: [mcp]
|
|
17
|
+
families:
|
|
18
|
+
- name: session
|
|
19
|
+
description: 'open/close a target, provider binding, readiness and navigation context'
|
|
20
|
+
match: [open_binary, close_binary, binary_session, binary_overview, get_navigation_context, list_documents, current_document, list_architectures]
|
|
21
|
+
- name: native-code
|
|
22
|
+
description: 'functions, pseudocode, assembly, call graph and references in native binaries (Hopper/Ghidra/IDA)'
|
|
23
|
+
match: [procedure_*, list_procedures, search_procedures, current_procedure, resolve_containing_procedure, analyze_function, batch_decompile, read_function_instructions, get_call_graph, build_call_path, trace_call_path, xrefs, find_xrefs_to_name, resolve_native_call_targets, trace_native_values, compare_functions, inspect_native_*, inspect_address_context]
|
|
24
|
+
- name: native-navigation
|
|
25
|
+
description: 'addresses, bytes, strings, names, segments, comments and bookmarks'
|
|
26
|
+
match: ['*address*', goto_address, next_address, prev_address, read_bytes, search_bytes, list_strings, search_strings, list_names, list_segments, '*comment*', '*bookmark*', annotate_native_function]
|
|
27
|
+
- name: native-formats
|
|
28
|
+
description: 'Mach-O, PE, ELF layout, signatures, Go/Rust/Swift/ObjC metadata, objdump and rizin'
|
|
29
|
+
match: [inspect_macho, inspect_pe_resources, inspect_binary_layout, inspect_signature, inspect_go_binary, inspect_rust_binary, '*swift*', get_objc_*, inspect_native_dispatch_metadata, inspect_with_objdump, execute_rizin_command, cutter_command, list_cutter_sessions, trace_dylib_resolution, inspect_dart_aot, identify_flutter_build, inspect_wasm_artifact, compare_wasm_interfaces, inspect_evm_interface]
|
|
30
|
+
- name: javascript-electron
|
|
31
|
+
description: 'JavaScript/Electron apps, bundles, source maps, IPC and runtime tracing'
|
|
32
|
+
match: ['*javascript*', analyze_web_bundle, recover_javascript_sources, compare_source_to_bundle, compare_bundles, '*electron*', trace_application_feature, trace_feature, compare_application_versions]
|
|
33
|
+
- name: web-browser
|
|
34
|
+
description: 'live pages through a Chrome-family browser, network captures, screenshots and WebMCP'
|
|
35
|
+
match: ['*web*', capture_browser_scenario, list_browser_targets]
|
|
36
|
+
- name: android
|
|
37
|
+
description: 'APKs, classes, methods, resources (JADX, Apktool, JEB) and app graphs'
|
|
38
|
+
match: ['*android*', inspect_apktool_client, '*jeb*']
|
|
39
|
+
- name: adb-device
|
|
40
|
+
description: 'attached Android devices over adb: packages, files, logs, screens and app control'
|
|
41
|
+
match: ['*adb*']
|
|
42
|
+
- name: managed-dotnet
|
|
43
|
+
description: '.NET assemblies, members, native boundaries and reconstruction'
|
|
44
|
+
match: ['*managed*']
|
|
45
|
+
- name: apple-bundles
|
|
46
|
+
description: 'plists, keyed archives, asset catalogs, Interface Builder and Apple/Harmony app graphs'
|
|
47
|
+
match: [inspect_plist, inspect_keyed_archive, inspect_asset_catalog, decode_interface_builder, project_apple_application_graph, project_harmony_application_graph]
|
|
48
|
+
- name: artifacts
|
|
49
|
+
description: 'archives, packages, firmware, SQLite and file-level comparisons'
|
|
50
|
+
match: [inspect_artifact, extract_artifact, compare_artifacts, inspect_firmware_regions, extract_firmware, inspect_sqlite_database, inspect_analysis_view]
|
|
51
|
+
- name: runtime-debug
|
|
52
|
+
description: 'Frida, GDB and rizin debugging, process and native UI capture, recorded crashes'
|
|
53
|
+
match: ['*frida*', '*gdb*', '*rizin_debug*', capture_process_scenario, compare_process_captures, observe_native_*, capture_native_ui_scenario, trace_native_ui_action, inspect_recorded_crash, correlate_static_and_runtime, find_changed_behavior]
|
|
54
|
+
- name: captures-signals
|
|
55
|
+
description: 'pcap/pcapng packets and recorded logic signals'
|
|
56
|
+
match: ['*pcap*', '*packet*', '*signal*']
|
|
57
|
+
- name: evidence
|
|
58
|
+
description: 'evidence bundles, residual unknowns and reconstruction verification'
|
|
59
|
+
match: ['*evidence*', '*unknown*', '*reconstruction*']
|
package/families.yml
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# Curated REA 6.7.0 families. Order matters: the first matching family wins.
|
|
2
|
+
- name: session
|
|
3
|
+
description: 'open/close a target, provider binding, readiness and navigation context'
|
|
4
|
+
match: [open_binary, close_binary, binary_session, binary_overview, get_navigation_context, list_documents, current_document, list_architectures]
|
|
5
|
+
- name: native-code
|
|
6
|
+
description: 'functions, pseudocode, assembly, call graph and references in native binaries (Hopper/Ghidra/IDA)'
|
|
7
|
+
match: [procedure_*, list_procedures, search_procedures, current_procedure, resolve_containing_procedure, analyze_function, batch_decompile, read_function_instructions, get_call_graph, build_call_path, trace_call_path, xrefs, find_xrefs_to_name, resolve_native_call_targets, trace_native_values, compare_functions, inspect_native_*, inspect_address_context]
|
|
8
|
+
- name: native-navigation
|
|
9
|
+
description: 'addresses, bytes, strings, names, segments, comments and bookmarks'
|
|
10
|
+
match: ['*address*', goto_address, next_address, prev_address, read_bytes, search_bytes, list_strings, search_strings, list_names, list_segments, '*comment*', '*bookmark*', annotate_native_function]
|
|
11
|
+
- name: native-formats
|
|
12
|
+
description: 'Mach-O, PE, ELF layout, signatures, Go/Rust/Swift/ObjC metadata, objdump and rizin'
|
|
13
|
+
match: [inspect_macho, inspect_pe_resources, inspect_binary_layout, inspect_signature, inspect_go_binary, inspect_rust_binary, '*swift*', get_objc_*, inspect_native_dispatch_metadata, inspect_with_objdump, execute_rizin_command, cutter_command, list_cutter_sessions, trace_dylib_resolution, inspect_dart_aot, identify_flutter_build, inspect_wasm_artifact, compare_wasm_interfaces, inspect_evm_interface]
|
|
14
|
+
- name: javascript-electron
|
|
15
|
+
description: 'JavaScript/Electron apps, bundles, source maps, IPC and runtime tracing'
|
|
16
|
+
match: ['*javascript*', analyze_web_bundle, recover_javascript_sources, compare_source_to_bundle, compare_bundles, '*electron*', trace_application_feature, trace_feature, compare_application_versions]
|
|
17
|
+
- name: web-browser
|
|
18
|
+
description: 'live pages through a Chrome-family browser, network captures, screenshots and WebMCP'
|
|
19
|
+
match: ['*web*', capture_browser_scenario, list_browser_targets]
|
|
20
|
+
- name: android
|
|
21
|
+
description: 'APKs, classes, methods, resources (JADX, Apktool, JEB) and app graphs'
|
|
22
|
+
match: ['*android*', inspect_apktool_client, '*jeb*']
|
|
23
|
+
- name: adb-device
|
|
24
|
+
description: 'attached Android devices over adb: packages, files, logs, screens and app control'
|
|
25
|
+
match: ['*adb*']
|
|
26
|
+
- name: managed-dotnet
|
|
27
|
+
description: '.NET assemblies, members, native boundaries and reconstruction'
|
|
28
|
+
match: ['*managed*']
|
|
29
|
+
- name: apple-bundles
|
|
30
|
+
description: 'plists, keyed archives, asset catalogs, Interface Builder and Apple/Harmony app graphs'
|
|
31
|
+
match: [inspect_plist, inspect_keyed_archive, inspect_asset_catalog, decode_interface_builder, project_apple_application_graph, project_harmony_application_graph]
|
|
32
|
+
- name: artifacts
|
|
33
|
+
description: 'archives, packages, firmware, SQLite and file-level comparisons'
|
|
34
|
+
match: [inspect_artifact, extract_artifact, compare_artifacts, inspect_firmware_regions, extract_firmware, inspect_sqlite_database, inspect_analysis_view]
|
|
35
|
+
- name: runtime-debug
|
|
36
|
+
description: 'Frida, GDB and rizin debugging, process and native UI capture, recorded crashes'
|
|
37
|
+
match: ['*frida*', '*gdb*', '*rizin_debug*', capture_process_scenario, compare_process_captures, observe_native_*, capture_native_ui_scenario, trace_native_ui_action, inspect_recorded_crash, correlate_static_and_runtime, find_changed_behavior]
|
|
38
|
+
- name: captures-signals
|
|
39
|
+
description: 'pcap/pcapng packets and recorded logic signals'
|
|
40
|
+
match: ['*pcap*', '*packet*', '*signal*']
|
|
41
|
+
- name: evidence
|
|
42
|
+
description: 'evidence bundles, residual unknowns and reconstruction verification'
|
|
43
|
+
match: ['*evidence*', '*unknown*', '*reconstruction*']
|
package/locale/en.json
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{ "meta": { "title": "REA (catalog)", "description": "REA reverse engineering served lazily through the capability catalog." } }
|
package/locale/zh.json
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{ "meta": { "title": "REA(能力目录)", "description": "通过能力目录按需提供 REA 逆向工程工具。" } }
|
package/package.json
CHANGED
|
@@ -1,6 +1,42 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kirkchinese/dsh-rea",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"
|
|
5
|
-
"
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "REA reverse engineering for DeepSeek Harness through the lazy capability catalog: curated tool families, on-demand server start, no 670 KB of schemas per request",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"deepseek-harness",
|
|
7
|
+
"dsh",
|
|
8
|
+
"dsh-plugin",
|
|
9
|
+
"rea",
|
|
10
|
+
"reverse-engineering",
|
|
11
|
+
"mcp"
|
|
12
|
+
],
|
|
13
|
+
"license": "MIT",
|
|
14
|
+
"author": "kirkchinese",
|
|
15
|
+
"type": "module",
|
|
16
|
+
"exports": {
|
|
17
|
+
"./cordis.patch.yml": "./cordis.patch.yml",
|
|
18
|
+
"./package.json": "./package.json",
|
|
19
|
+
"./locale/*.json": "./locale/*.json"
|
|
20
|
+
},
|
|
21
|
+
"files": [
|
|
22
|
+
"cordis.patch.yml",
|
|
23
|
+
"families.yml",
|
|
24
|
+
"locale/*.json",
|
|
25
|
+
"README.md",
|
|
26
|
+
"LICENSE"
|
|
27
|
+
],
|
|
28
|
+
"dsh": {
|
|
29
|
+
"bundle": {
|
|
30
|
+
"patch": "./cordis.patch.yml"
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
"dependencies": {
|
|
34
|
+
"@kirkchinese/dsh-capability-catalog": "^0.1.0"
|
|
35
|
+
},
|
|
36
|
+
"repository": {
|
|
37
|
+
"type": "git",
|
|
38
|
+
"url": "git+https://github.com/kirkchinese/dsh-capability-catalog.git",
|
|
39
|
+
"directory": "packages/rea"
|
|
40
|
+
},
|
|
41
|
+
"homepage": "https://github.com/kirkchinese/dsh-capability-catalog#readme"
|
|
6
42
|
}
|