简报

调研成果

Craft Anything 的洁净室复刻边界:能重建客户端外观,换不出服务端业务

Craft Anything(storytold/craft-anything,纯 Rust,MIT OR Apache-2.0,2026-11-06 观测 16,028 stars)把「取证 → 交给本机 coding agent 重建 → 与原版比对收敛」串成闭环,默认走洁净室模式、只在 Deep 模式放开逆向工具链。对本次补充要求的结论:它没有「复刻服务器端」的能力层——Study 只从客户端可见痕迹(截图、可见文本、测量布局、网络录制、抓包、SQLite 文件)取证,Build 产物是 app/ 下的新客户端项目,Check 是三档屏宽页面相似度;官方文档与 301 个引擎工具清单都没有服务端实现或协议服务建模类工具。故它能做「外观与可观察行为级复刻 + agent 自行编写替代后端」,不是「获取并复刻原系统后端业务能力」。项目仍为早期 alpha。

生成
2026-11-06 15:54
首次公开
2026-11-06 15:54
本版公开
2026-11-06 15:54 · v1
来源
开源技术雷达
目录 · 9 节
  1. 问题与结论
  2. 方案与权衡
  3. 不确定性与验证
  4. 最小验证实验
  5. 可复用项目
  6. 其他参考项目
  7. 相关资料
  8. 建议继续研究方向
  9. 原始阅读依据

问题与结论

Craft Anything 的技术思路是什么?

把复刻拆成四段流水线,最难的一段外置。Study 用 301 个引擎工具对目标取证,产出带置信度、覆盖与局限的证据记录(各屏宽页面捕获、可见文本、测量布局与配色字体、展开的菜单与对话框、运行画面、安装包结构,Deep 下还有函数、伪 C、反汇编、调用图、字符串)。Build 不自己生成代码,把证据交给用户本机已登录的 coding agent(默认 Claude Code,运行用户自己的 claude 并用其登录),由它在指定语言/框架/引擎里新建项目,落在 app/。Check 与原版比对:网站按三档屏宽算相似度,游戏走自测,应用比对多次运行。Ready 打开或试玩并继续提改动,循环收敛。整套引擎同时是 CLI 与 MCP。取向是证据优先:结论必须挂证据、未知登记为 open question。

1234

适用场景与价值在哪里?

价值在「先理解再动手」:做产品前摸清竞品交互与信息架构;把老旧桌面或网页系统重建到可维护新栈;游戏玩法级复刻并自测;对固件、抓包、SQLite 成品做取证式理解;把理解过程交 agent 批量跑。它稀缺的不是能生成代码(那是 coding agent 本职),而是把取证、四类证据管理(evidence/finding/hypothesis/unknown)与相似度回归串成可复现链路,让理解成为可检查产物。若需求是功能等价迁移、复用对方后端与数据、或要求可审计的法律级洁净室结论,则不适用。

234

主要局限有哪些?

一是成熟度2026-10-31 创建、五天三版、301 open issues、HN 仅一条评论,安装、列表与性能问题仍在收敛。二是能力面:工具清单无服务端实现或协议服务建模,只有观察类(网络录制、抓包、SQLite、本地 API 边界)与逆向类工具。三是验收口径:Check 以相似度为核心,看起来像不等于行为对,README 自己把应用与游戏行为检查列为部分完成。四是隔离假象:Clean room 是工具闸门,不做操作系统隔离,agent 仍以用户身份行动。五是依赖:构建需本机已登录 coding agent,账号协议与费用归用户。六是成本:性能开销在 HN 与 issue 两侧都被点名。

23478

若目标是 B/S 或 C/S 架构软件,Craft Anything 对「复刻服务器端功能」如何解释?

它把服务端排除在取证对象之外,只把客户端可见部分变成证据,再由 agent 重建客户端项目。其一,Clean room 证据全是客户端痕迹(页面截图、可见文本、测量布局与配色、展开菜单、应用窗口画面);Deep 增加的也只是本地程序内部(反汇编、伪 C、调用图)与网站 JS,仍止步客户端。其二,工具清单里与服务端沾边的只有观察工具:web_recording_show(网络录制)、packets_*(抓包字段)、db_sqlite_show(SQLite)、native_api_show(本地 API 边界),能旁证客户端在跟什么说话、报文形状,但不产生服务端实现。其三,Build 产物是 app/ 下新项目,Check 与原版页面或运行画面比对,对象天然是客户端。故对 B/S、C/S 的复刻实际是:依观察到的接口形状与页面行为,由 coding agent 自行写一套看起来接近的前端,必要时自写一个能应答的简化后端;原服务端只是被观察的黑盒。官方文档无替代说法,也无工具承诺还原服务端逻辑。

1234

它是否具备复刻服务器后端业务的能力?

不具备。①无通道:工具最多读到客户端与网络流量,服务端进程、源码、配置、数据模型不在取证范围,无工具声称重建服务端。②语义不可观测:业务规则、算法、权限判定、事务与并发语义、风控在服务端内部执行,外部只见输入输出,无法从现象反推规则。③验收失真:Check 是客户端相似度与画面比对,替代后端行为偏离也可能通过,通过校验不能作为后端正确证据。④能力上限:它可做前端外观复刻加 agent 猜写支撑演示的后端,但与复刻对方后端业务差一个量级——后者需服务端事实、接口契约完整覆盖与错误分支差分验证。补充:目标自有且能合法取得服务端信息时 Deep 有意义,但真正还原靠你手上的代码与文档,不是这个工具。

12348

方案与权衡

只复刻外观,后端自己写最小实现

严格 Clean room:只把页面结构、布局、配色与主流程交互当目标,产物是新前端;后端另写最小接口,形状参考网络录制与抓包观察,不对齐对方业务规则。

优势合规风险最低、落地最快、产物自有,对原型与教学复刻足够,也最能发挥取证与相似度回归的强项。

代价与约束只能得到外观与几条主流程相似,动态数据、权限分支、错误处理都要自设计;一旦业务依赖对方后端行为差异立现;相似度分数易造成已复刻完成的错觉。

34

Deep 模式做本地化逆向,产出接口契约草案再人工重建

仅对自有或书面授权的目标开 Deep,用反汇编/反编译、JS 读取与网络录制产出接口清单、字段与错误码草案,交后端团队按草案实现并用契约测试对齐。

优势能拿到比报文更细的结构信息,草案质量高于纯黑盒猜测;把不可靠的自动重建换成可评审人工实现,责任边界清楚。

代价与约束Deep 逆向在多地受法律限制且多被商业条款禁止;结论仍是线索需大量核实;成本周期显著上升,且与自动化闭环基本脱钩。

34

把取证结果当契约测试输入,做黑盒差分验证

不追求复刻实现,用网络录制、抓包字段与页面状态捕获建立差分用例:同一输入比较自建实现与原系统的可观察输出(响应形状、错误码、页面状态),以一致率为验收。

优势绕开能否反推业务规则的难题,用行为证据定义验收;指标可复算可审计。

代价与约束需能合法访问原系统测试环境与账号,覆盖度受用例设计限制;未触达分支仍是盲区;加密或强鉴权协议下观察本身受限。

48

不确定性与验证

Clean room 与 Deep 在真实目标上的保真度差异多大?

决定把它当取证工具还是重建工具;Clean room 相似度高时易被误读为功能可用。

在受控站点与应用上用两种模式重建同一目标,比较相似度与人工功能清单通过率。

对需要登录态与服务端动态数据的 B/S 目标能否完成可用取证?

决定它在真实业务系统而非静态站点上的适用性。

用带登录与个人化数据的自有系统,检查 capture/ 与 investigation.cany/ 是否记录登录后状态。

Deep 逆向工具链在不同司法辖区的合规边界如何?

决定该模式能否用于商业项目,越界风险是法律责任。

梳理软件条款、著作权与商业秘密规则及规避技术措施规定,形成书面判断后再启用。

301 open issues 与五天三版的节奏下输出是否稳定可复现?

影响能否纳入工程流程,版本漂移会让证据难以复核。

固定 v0.4.0 在同一目标重复运行三次,比较证据条目与相似度分数一致性。

最小验证实验

同一自建 B/S 目标的双模式最小对照

搭一个三页面、含一处登录与一处列表分页的自建站点;Clean room 跑完整四步记录相似度、待修项与 evidence 条数;隔离环境切 Deep 再跑;对两次产物按同一份功能清单(登录、分页、错误提示、空状态)打分并比较取证范围。

成功标准两次都能产出可打开的 app/ 项目;Clean room 外观项通过率高但动态数据项明显不足且差异能被证据解释;三次重复结论方向一致。

接口契约草案的可用性检验

对自建 C/S 客户端开网络录制与抓包导出接口清单;只依清单让不看源码的工程实现一版后端;用差分用例比对响应形状、错误码与关键状态迁移;统计一致率并标注靠猜测填补的字段。

成功标准给出量化一致率(如形状层≥90%、错误码层≥70%),并列出必须靠业务知识才能填的字段;一致率低则证明从观察推服务端存在上限。

可复用项目

Craft Anything

纯 Rust 的洁净室复刻引擎:把目标(网站、桌面/手机应用、游戏、文件、抓包与数据库)当研究对象,用内置取证工具弄清它做了什么,再由本机 co…

推荐理由以取证与理解工具定位试用:先在自有或授权目标跑 Clean room 看证据质量;确有内部机制需求且合法时再开 Deep,并把反…

16,028MIT OR Apache-2.0

其他参考项目

暂无符合条件的项目,不为凑数重复推荐。

相关资料

洁净室复刻的真实边界:工具闸门不等于法律抗辩,客户端可见性推不出服务端语义

洁净室指重建者不接触原实现内部,只依可见行为与文档独立实现。Craft Anything 把它做成工具闸门:默认拒绝窥视内部,仅允截图、可见文本、测量布局、展开菜单、经允许的窗口画面;读代码与网站 JS 须显式切 Deep。三个易误读点:闸门由软件自声明,README 明说不是操作系统沙箱、不隔离电脑,agent 仍以用户身份行动;严格遵守流程也不等于法律抗辩,还要过许可与服务条款(多数禁止逆向与自动化访问)、著作权、商业秘密与规避技术措施规定;可见性决定语义上限——B/S 系统的业务规则、算法、数据模型、权限、事务与风控都在服务端执行,抓包只见报文形状,Deep 读客户端 JS 也读不到服务端进程。可复用结论:把等价性分层为外观、可观察行为、契约、语义四层,前三层可被工具部分验证,语义层须服务端事实或黑盒差分才可能逼近。

研究价值提供评估复刻类/逆向类工具的分层判据,并明确洁净室流程与法律授权是两件事、工具闸门不等于隔离,可用于选型与合规评审。

234

建议继续研究方向

1)先在自己或授权目标上跑 Clean room,看 investigation.cany/ 的证据是否足以支撑判断。2)确需内部机制且合法时再开 Deep,把反编译结果当线索核实。3)需要后端时,把网络录制与抓包观察当契约草案,另用契约测试验证。4)不要用于他人系统的功能等价迁移、规避检测或绕过授权访问。

复刻等价性的度量:从像素相似度到接口契约测试

对比像素/布局相似度、行为回放差分与接口契约测试三条路径,给出可复现的等价性度量设计与阈值选择方法。

Check 以相似度为核心,看起来像推不出功能等价;该问题可用小型自建站点做可控实验。

界面取证路径的取舍:无障碍树与视觉测量在重建保真度上的差异

对比无障碍树语义取证与截图加布局测量的视觉取证,分析结构还原、状态覆盖、跨平台一致性与成本差异机制。

agent-desktop 与 Clean room 代表两条相反取证路线,直接决定重建产物能否承载交互语义。

私有 C/S 协议的可观测边界:加密与鉴权如何阻断黑盒重建

分析仅有客户端与网络流量时哪些后端语义可被推断、哪些被加密与鉴权结构性阻断,给出判定清单。

本次结论依赖能力面缺失与不可观测性,缺一份系统化边界清单。

原始阅读依据

  1. 1GitHub 仓库根页:storytold/craft-anything
  2. 2GitHub 仓库元数据 API
  3. 3Craft Anything README(main)
  4. 4Craft Anything 工具清单
  5. 5Craft Anything LICENSE-MIT
  6. 6Craft Anything 发布记录(最近三版)
  7. 7Hacker News 讨论:Craft Anything
  8. 8Craft Anything 最新 open issues(12 条)