20个问题Q&A
-
Q:rea-agents v6.7.0 包含 v6.6.0 吗? A:包含。v6.6 仅打 tag,没有发布到 npm,v6.7 打包纳入其全部变更。 -
Q:Kuna 是什么? A:外部静态分析 provider,提供伪代码、汇编、调用图、xref、字符串检索,由调用方自行安装。 -
Q:Kuna 支持 Windows PE 吗? A:当前验证版本仅 Linux 可用;Windows、PE、通用 Mach-O 不支持。 -
Q:新版本 Ghidra 新增什么目标? A:Windows x64 主机上分析 Windows ARMNT/Thumb2、ARM64 PE/DLL;支持 m68k 原始大端固件镜像。 -
Q:APK 多 Locale 新参数是什么? A:CLI --locales、MCPlocales,单次解码多个资源语言表,原有单 locale 接口保留。 -
Q:JADX 超时怎么配置? A:环境变量 REA_JADX_OPERATION_TIMEOUT_MS统一设置 APK 加载与 JADX 操作超时。 -
Q:本次最重大的破坏性变更是什么? A:Evidence / 快照身份模型重构,旧保存的证据文件不会自动迁移,必须全部重跑生成。 -
Q:Android version_code 接口有什么改动? A:由 JSON 数字改为十进制字符串;读取时用字符串或 BigInt 做数值对比。 -
Q:Claude Code 配置有什么限制? A:仅接受带 UTF-8 BOM 的标准 JSON;禁止注释、尾逗号;其他 MCP 客户端依旧支持 JSONC。 -
Q:重复 JSON 配置成员,新版本怎么处理? A:编辑时修改最后一个重复字段,行为对齐 MCP 客户端读取逻辑;防止删除操作意外激活被遮蔽重复配置。 -
Q:分析中途取消,已收集证据会丢吗? A:不会;保留已完成证据、取消原因、可重试清理任务,失败清理保留所有者用于重试。 -
Q:JS 分析有什么重要改进? A:修复 CommonJS、mts/cts 导入解析;数据流分析不再对 eval、复合赋值强行推断确定结果,保留未知效应。 -
Q:Electron 捕获做了哪些加固? A:捕获原生 IPC 监听器;捕获阶段阻止同步 shell 副作用;fuse 开关控制检查场景。 -
Q:Swift 符号地址为什么会 null? A:当底层 provider 无法给出地址时 reported_address为 null,代码必须做判空处理。 -
Q:binary_session 可用性状态有什么变化? A:会话结束阶段可用性可为 unknown,不能直接判定不可用,需要等待异步状态 API。 -
Q:Linux Hopper 支持有什么破坏变更? A:旧白名单版本不再直接放行;需要发布者签名证据;RPM 元数据不匹配直接拒绝。 -
Q:MCP 工具 Schema 改动影响什么? A:保留 tuple/array/bool/ 嵌套 JSON 约束;不再重写字面元数据;输出 Schema profile 纳入目录标识。 -
Q:TOML 解析修复了什么问题? A:支持 64 位有符号整数无舍入;支持超大文档;拒绝环境变量 NUL 字节。 -
Q:浏览器捕获并发行为变化? A:内容读取队列增加并发上限;调用方必须处理捕获限制、省略事实。 -
Q:Native UI 场景失败返回结构怎么改? A:不再返回带失败步骤的成功结果;返回类型化错误,失败详情放在 partial_observation字段。
项目:morluto/rea,MCP 安全分析智能体,v6.7.0 打包包含 v6.6.0(v6.6.0 仅打标签未发布到 npm),发布时间:2026-10-18
✨ 核心亮点(Highlights)
- 客户端配置
修改逻辑对齐 MCP 客户端的重复 JSON 成员语义,修复重复字段读写问题。 - 新增 Kuna 静态分析 Provider
可调用外部 Kuna 做反编译、伪代码、汇编、调用图、地址交叉引用、字符串检索;分析结果可缓存复用,减少重复分析开销。 - 多目标二进制分析扩展
-
Ghidra 支持 Windows ARM PE(ARMNT/Thumb2、ARM64 PE/DLL) -
支持原始大端 m68k raw 固件镜像分析 - APK 多语言资源批量查询
一次调用读取多 locale 资源表,CLI --locales/ MCPlocales参数支持批量,保留原有单 locale 接口。 - 分析会话稳定性增强
中断、取消、清理流程中,保留已收集证据、失败原因、可重试清理上下文,不会丢失已完成分析结果。
📌 主要变更(Changes)
1. Kuna 静态分析引擎集成
-
外部 Kuna 由调用方预先安装,支持函数列表、伪代码、汇编、调用关系、精确地址 xref、缓存字符串搜索 -
项目导出保留源码位置与摘要;重复查询复用已完成分析 -
当前验证环境:Linux + Kuna 1.833;Windows、PE、通用 Mach-O 暂不支持
2. JavaScript 分析增强
inspect_analysis_view支持分页查询 JS 应用路径、属性、模块引用,复用已有分析,带完整证据链 -
完善 CommonJS 导出、 Object.defineProperty、mts/cts导入、包解析逻辑,修复多种假阳性运行时依赖 -
数据流分析增强:捕获赋值前变量、解构、setter、eval、复合赋值,未知效应不再强行判定为确定结果 -
JS 源码独立语法解析,超大文件 / 跳过资源文件可上报真实容量与覆盖状态
3. 二进制 / APK / 移动平台分析
-
Ghidra:Windows x64 主机可分析 Windows ARM PE;新增 m68k raw 镜像分析(macOS arm64 验证,Linux 未验证,Windows 不支持 m68k) -
APK:新增 REA_JADX_OPERATION_TIMEOUT_MS环境变量,统一延长 JADX 加载超时;多 locale 资源表批量解码;中断场景保留已解码资源证据;恢复缺失 Java 源码时的原始字节码 -
ADB 观测:区分焦点缺失 / 未声明权限,快照传输校验,支持 user 0 卸载
4. 跨平台原生文件解析(macOS / Windows / 托管程序)
-
Apple plist / 键归档:精准保留 64 位整数、负零、非有限浮点数,区分解析失败类型 -
Mach-O:支持 arm64e.x1 切片,提取 bundle 组件、launchd 域;dylib 依赖排除自身 install name -
PE:资源读取限制在文件头声明范围内,NativeAOT 元数据读取加固 -
.NET 托管元数据:跨版本对比签名,按文件偏移上报元数据错误
5. 浏览器 & Electron 捕获
-
CDP 握手与命令增加超时边界,保留部分清理诊断信息 -
Electron:捕获原生 IPC 监听器,捕获阶段阻止同步 shell 副作用,支持 fuse 开关管控检查能力
6. 文档国际化
新增希腊语网站版本、马拉雅拉姆语文档;韩语排版与翻译修正,多站点 i18n 优化
🛠️ 修复(Fixes,重点)
- 客户端 JSON/JSONC 配置(#4952/#4957)
编辑重复 JSON 成员时修改最后一个重复项,与 MCP 客户端实际读取行为一致;setup/uninstall 禁止会重新激活被遮蔽重复项的删除操作,保护配置。 同时新增 Claude Code 配置严格校验:仅接受带 UTF-8 BOM 的纯 JSON,不允许注释 / 尾逗号。
- 会话取消与资源清理
分析被中断 / 清理失败时,保留已观测证据、精确取消原因;失败清理保留进程 / 文件所有者,支持重试;已回收资源从待清理列表移除但保留原始错误记录。 - Provider 启动流程
关闭前等待前置探测与就绪任务完成;保留 JVM 内存 / 超时类型错误;Ghidra 识别 Homebrew keg-only JDK,明确启动超时对应的配置项。 - 配置文件解析
TOML 支持有符号 64 位整数不丢失精度,支持超大 TOML;保留 JSONC 注释、Hermes YAML 文本;拒绝环境变量中的 NUL 字节。 - CLI 与 MCP 契约
支持 --flag=value参数格式;JSON 过滤保留数组下标;MCP 工具 Schema 约束保留元组 / 数组 / 布尔 / 嵌套 JSON,不再重写字面量元数据。 -
大量 JS 数据流、原生解析、Rizin/Cutter、崩溃转储、压缩包提取、Flutter 快照、Swift/Objective-C 元数据、证据链校验等底层稳定性与准确性修复。
⚠️ 破坏性变更 Breaking Changes(升级重点)
旧存储的证据 / 快照无法自动迁移,必须重新生成
- Evidence & 快照数据结构变更
身份承诺必须显式携带可空 relationship_coverage;制品清单需要范围覆盖与integrity_contradictions;移除旧coverage_status与文本推断覆盖度逻辑。旧保存文件不迁移。 -
浏览器捕获结果:使用者必须处理已解析捕获限制、事件族、省略事实;并发读取受并发上限控制。 -
Android inspect_adb_package.version_code:从 JSON 数字改为十进制字符串,读取需用字符串 / BigInt。 -
失败 Native UI 场景:返回带 partial_observation的类型化错误,不再返回包含失败步骤的成功结果。 -
二进制会话状态: binary_session候选可用性在最终化阶段可为 unknown,调用方需异步等待状态 API,不能直接当作不可用。 -
Swift 符号: swift_symbols.address可为 null,必须处理空地址场景。 -
Linux Hopper 准入:旧白名单版本需要发布者签名证据;RPM 元数据不匹配直接拒绝,需要更新 HOPPER_LAUNCHER_PATH。

