案例
Notes CSV 导出:作者报告的 REA 重建验收器检查
一篇中文文章把复刻 REA 自带 Notes 教学应用的 Python CSV 导出器故意改坏三个版本,展示简单的“导出再读回”测试能让三者全部通过,而以官方 JavaScript 格式化函数为参照、在 215 组固定输入上逐字节比较则能逐一识破。作者还通过 MCP 连接 REA 6.5.0,重新运行其 JavaScript 分析,并验证被改动的证据记录在导入时会被拒绝;这是对验收检查的研究,而非新的重建。
使用条件与局限
- 这篇 2026-10-16 的文章由 @superfang119 撰写,承接作者此前的实测:其中 Notes 应用 CSV 导出功能的 Python 复刻版据称在 215 组输入上与原版逐字节一致。本次环境为 Windows、Node 22.19.0 和 rea-agents 6.5.0,经由临时 stdio 客户端连接,服务端列出 207 个工具;JavaScript 分析返回 6 个文件、32 个节点和 45 条边。作者指出,这张静态图能定位导出路径,但不能说明完整的 Electron 应用已正常运行。
- 冻结的字节契约要求每个标题都加双引号、标题内部的双引号写成两个,行尾和文件末尾都使用 LF,输入限定为安全整数 id 和字符串标题。三个变异版本各只改一条规则:仅在需要时加引号、不转义内部引号、删去末尾 LF。单条笔记的读回测试让三者全部通过。以官方 JavaScript 格式化函数在 15 组固定边界输入和 200 组固定种子输入上的输出为参照,基线 215/215 一致,三个变异版本分别有 26、166 和 215 组不一致。
- 把一条证据中的字段从 6 改为 999 并保留其 evidence_id 后,同一个 REA 服务端以 evidence_integrity_mismatch 拒绝导入,会话证据保持不变;作者补充说,这能发现篡改,却不能证明解释正确。文章还引用了 TH08 项目的一次修复:比较器曾漏掉一个被写成 0.0 的 128.0 常量,作者未重新运行该项目。
- 分析与实现在同一个 Codex 上下文中完成,作者明确表示这不是洁净室隔离,文中的交接提示词只是建议,并非经过测试的流程。脚本、变异版本和输出均未公开,本目录无法重新运行;三个探针也不覆盖权限、写盘失败、并发或完整界面。分析对象是 REA 自带的教学示例,而非第三方产品。
关于此条目
- 类型
- 案例
- 类别
- REA 社区调查案例
- 关联
- 作者报告的混合工具流程
- 目标
- 应用
来源复核于
说明已依据一手来源复核;这不代表已运行验证、经过安全审计或确认兼容。