关于 Fathom
Fathom 是面向逆向工程的 Rust MCP 服务,不依赖特定提供方,可分析原生二进制文件、应用、程序集、捕获数据、字节码和进程行为。其结果会区分观察事实、推导结论,以及未检查或无法确认的内容。
主要功能
- 01原生二进制分析
- 02JavaScript 与 Electron 分析
- 03.NET 程序集元数据检查
- 04进程捕获与 HAR 读取
- 05EVM 选择器检查
- 06结果附带证据说明
适用场景
- 01分析原生二进制文件
- 02检查 JavaScript 或 Electron 应用
- 03检查 .NET 程序集
- 04审查进程捕获数据或网页 HAR 文件
MCP 相关
Fathom 通过 MCP stdio 和可流式 HTTP 传输暴露逆向工程能力。结果包含证据说明,标示观察内容、推导结果、未检查范围及提供方能力限制。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
fathom
REA(Reverse Engineer Anything)的 Rust 移植版:一个与提供方无关的 MCP 服务,用于逆向工程——涵盖原生二进制文件、JavaScript/Electron 应用、.NET 程序集、Web 捕获数据、EVM 字节码和进程行为——每项结果都是一个证据包,说明观察到了什么、推导出了什么、未检查什么,以及提供方无法确认什么。
设计规范见 SPEC.md:根据上游公开契约整理的能力清单、各项能力的 Rust 实现策略、证据与错误模型、确定性且默认拒绝的策略引擎,以及分阶段计划。设计源自 morluto/rea(MIT),已在 NOTICE 中注明;未使用任何上游代码。
为什么要用 Rust 移植
上游 REA 是通过 npm 分发的 TypeScript/Node 项目。此移植版旨在采用 Rust 优先、版本固定且可审计的供应链,遵循项目长期方向(SPEC §1)。
组成
fathom-core— 配置、错误契约、证据模型、策略、工具注册表、隔离、受限进程。fathom-mcp— MCP stdio + 可流式传输的 HTTP 传输。fathom-a2a— 已签名的 A2A Agent 卡片(JCS + Ed25519)。fathom-native— Ghidra 无头提供方 + 二进制布局(goblin)。fathom-js— JavaScript/Electron 静态分析(oxc)+ ASAR。fathom-managed— .NET PE/CLI 元数据(手动实现 ECMA-335)。fathom-observe— 进程捕获、HAR 读取、EVM 选择器。fathom-cli—fathom二进制文件(serve、card、doctor、单次分析)。
构建
nix build # or: nix develop, then cargo build --workspace
cargo test --workspace
许可证
本项目采用 Apache License, Version 2.0 许可。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。