工具
FAT 固件分析工具包
Attify 的固件安全研究工具包,第 2 版改写为以单个镜像项目为中心的 Rust 命令行工具。它可识别未知数据块和固件镜像、提取文件系统,梳理启动脚本、凭据字符串和密码学材料,借助基于 radare2 的反编译与源到汇的污点分析初筛 ELF 二进制,还能检查裸机 MCU 镜像、BMC 闪存、边缘 AI 模型文件和 Android APK。之后可对项目做运行前检查,并通过原生、FirmAE、Firmadyne 或 EMUX 后端进行 QEMU 仿真。
使用条件与局限
- 审阅时最新版本为 v2.0.1,发布于 2026-09-26,提供 macOS(Apple Silicon 与 Intel)、Linux x86-64(需 glibc 2.35+)与 ARM64(需 glibc 2.39+)以及 Windows x86-64 压缩包,另有单独的运行时数据包。所审阅的 master 提交加入了尚未发布的 BMC 检查、原生 JFFS2 恢复、以哈希固定的 BMC 仿真配置,以及 Redfish 会话和进程调试。第 2 版是重写版本;FAT 1.x 的 setup.sh 和 fat.py 流程仅适用于旧版。
- 从源码构建需要 Rust 1.91+ 和 Python 3;安装脚本可安装系统软件包,并构建固定版本的 binwalk-ng 4.0.0 和 Sasquatch。Windows 版只支持原生分析命令,依赖 Linux 文件系统语义或 Unix 工具的流程需在 WSL 中运行。可选流程需要 radare2 与 r2ghidra、Ghidra、Joern、angr、QEMU、GDB、tmux 或 Docker;FirmAE、Firmadyne 和 EMUX 后端需另行配置,fat doctor 会报告缺少的组件。
- 待分析的固件镜像、已提取文件系统、二进制或 APK 由使用者自备。第三方声明称,源码树和发布包均不含固件镜像、内核或 U-Boot 二进制、专有模型文件或已提取的设备文件系统。BMC 仿真配置要求输入与指定 OpenBMC 或 ASUS BMC 镜像的 SHA-256 完全一致;README 提醒,仿真会执行不可信的厂商代码。
- docs/epistemics.md 将结果视为有边界的观察:启动意图不能证明可达性,边缘 AI 命中不能说明模型会实际执行,shell 污点分析有意不追求可靠性、只报告弱候选,仿真验证器也只证明它在该次运行中检查过的内容。测试夹具为合成数据,包括用 arm-none-eabi-gcc 从仓库内 C 源码构建的 Cortex-M 镜像;仓库还附带一个预构建的 MIPS PID-1 跳板程序及其汇编源码。DEVELOPMENT.md 说明了本地运行的 cargo 测试,GitHub 工作流则用于构建发布包并做冒烟测试。
- FAT 2.0 以 FSL-1.1-ALv2 源码可得方式发布,GitHub 将其识别为 NOASSERTION:除商业性的竞争用途外,允许使用、修改和再分发,且每个版本在 Attify 首次提供两年后也可按 Apache-2.0 使用。FAT 1.x 历史仍为 MIT,可选的 QEMU hook 插件源码采用 GPL-2.0-or-later,第三方依赖和外部资源保留各自条款。使用者需获得分析目标的授权;所审来源未提及 REA 的使用,本次未安装或运行任何程序。
关于此条目
- 类型
- 工具
- 类别
- 固件工具
- 关联
- 基础工具
- 目标
- 二进制 · 固件
来源复核于
说明已依据一手来源复核;这不代表已运行验证、经过安全审计或确认兼容。
一手来源
- README.md GitHub · attify/firmware-analysis-toolkit · 修订 54dd1a2
- INSTALL.md GitHub · attify/firmware-analysis-toolkit · 修订 54dd1a2
- CHANGELOG.md GitHub · attify/firmware-analysis-toolkit · 修订 54dd1a2
- docs/epistemics.md GitHub · attify/firmware-analysis-toolkit · 修订 54dd1a2
- docs/bmc-emulation.md GitHub · attify/firmware-analysis-toolkit · 修订 54dd1a2
- tests/fixtures/mcu/init-table/Makefile GitHub · attify/firmware-analysis-toolkit · 修订 54dd1a2
- scripts/fat-init-trampoline-mipsel.S GitHub · attify/firmware-analysis-toolkit · 修订 54dd1a2
- DEVELOPMENT.md GitHub · attify/firmware-analysis-toolkit · 修订 54dd1a2
- LICENSE GitHub · attify/firmware-analysis-toolkit · 修订 54dd1a2
- LICENSING.md GitHub · attify/firmware-analysis-toolkit · 修订 54dd1a2
- THIRD_PARTY_NOTICES.md GitHub · attify/firmware-analysis-toolkit · 修订 54dd1a2
- https://github.com/attify/firmware-analysis-toolkit/releases/tag/v2.0.1