Tool
Firmware Analysis Toolkit (FAT)
Attify's firmware security toolkit, rewritten for version 2 as a Rust command-line tool built around per-image projects. It classifies unknown blobs and firmware images, extracts filesystems, inventories startup scripts, credential strings and crypto material, triages ELF binaries with radare2-based decompilation and source-to-sink taint, and inspects bare-metal MCU images, BMC flash, Edge AI model files and Android APKs. Projects can then go through preflight checks and QEMU emulation on native, FirmAE, Firmadyne or EMUX backends.
Requirements & limits
- Latest release at review: v2.0.1, published 2026-09-26, with archives for macOS (Apple Silicon and Intel), Linux x86-64 (glibc 2.35+) and ARM64 (glibc 2.39+) and Windows x86-64, plus a separate runtime-data bundle. The reviewed master commit adds unreleased BMC inspection, native JFFS2 recovery, hash-pinned BMC emulation profiles and Redfish session and process debugging. Version 2 is a rewrite; the FAT 1.x setup.sh and fat.py workflow belongs to the older release.
- Source builds need Rust 1.91+ and Python 3; the installer can add system packages and builds pinned binwalk-ng 4.0.0 and Sasquatch. The Windows build covers native analysis commands only, and workflows that need Linux filesystem semantics or Unix tools run under WSL. Optional workflows need radare2 with r2ghidra, Ghidra, Joern, angr, QEMU, GDB, tmux or Docker, and FirmAE, Firmadyne and EMUX backends are configured separately; fat doctor reports what is missing.
- Users supply the firmware images, extracted filesystems, binaries or APKs to analyze. The third-party notices state that the source tree and release bundles contain no firmware images, kernel or U-Boot binaries, proprietary model files or extracted device filesystems. BMC emulation profiles require an exact input SHA-256 for a named OpenBMC or ASUS BMC image, and the README warns that emulation executes untrusted vendor code.
- docs/epistemics.md treats results as bounded observations: startup intent does not prove reachability, Edge AI hits do not show that a model executes, shell taint is deliberately unsound and reports weak candidates, and an emulation validator proves only what it checked in that run. Test fixtures are synthetic, including Cortex-M images built from in-repo C sources with arm-none-eabi-gcc; a prebuilt MIPS PID-1 trampoline ships with its assembly source. DEVELOPMENT.md documents local cargo tests, while the GitHub workflows build and smoke-test release archives.
- FAT 2.0 is source available under FSL-1.1-ALv2, which GitHub reports as NOASSERTION: use, modification and redistribution are permitted except a commercial Competing Use, and each version also becomes available under Apache-2.0 two years after Attify first makes it available. FAT 1.x history stays MIT, the optional QEMU hook plugin source is GPL-2.0-or-later, and third-party dependencies and external assets keep their own terms. Users must be authorized to analyze their targets; the reviewed sources state no REA use, and nothing was installed or run.
About this entry
- Type
- Tool
- Category
- Firmware tools
- Relationship
- Foundation tool
- Targets
- Binary · Firmware
Sources reviewed
The description was reviewed against primary sources. This does not establish runtime testing, security auditing or verified compatibility.
Primary sources
- README.md GitHub · attify/firmware-analysis-toolkit · Revision 54dd1a2
- INSTALL.md GitHub · attify/firmware-analysis-toolkit · Revision 54dd1a2
- CHANGELOG.md GitHub · attify/firmware-analysis-toolkit · Revision 54dd1a2
- docs/epistemics.md GitHub · attify/firmware-analysis-toolkit · Revision 54dd1a2
- docs/bmc-emulation.md GitHub · attify/firmware-analysis-toolkit · Revision 54dd1a2
- tests/fixtures/mcu/init-table/Makefile GitHub · attify/firmware-analysis-toolkit · Revision 54dd1a2
- scripts/fat-init-trampoline-mipsel.S GitHub · attify/firmware-analysis-toolkit · Revision 54dd1a2
- DEVELOPMENT.md GitHub · attify/firmware-analysis-toolkit · Revision 54dd1a2
- LICENSE GitHub · attify/firmware-analysis-toolkit · Revision 54dd1a2
- LICENSING.md GitHub · attify/firmware-analysis-toolkit · Revision 54dd1a2
- THIRD_PARTY_NOTICES.md GitHub · attify/firmware-analysis-toolkit · Revision 54dd1a2
- https://github.com/attify/firmware-analysis-toolkit/releases/tag/v2.0.1
More in Firmware and hardware
- ThinkPad IMX471: recovering camera tuning for Linux · Case study
- MXQ PRO RK3229: an Android firmware investigation and Linux repurposing · Case study
- iCSee LocalMod: a stock-firmware camera control extension · Case study
- flipper-telink: replacement firmware for Tuya Zigbee remotes · Case study
- Supermodel: initial Real3D Pro-1000 image-generator emulation · Case study
- OpenDMCUFirm: a reimplemented Wii U DMCU display firmware · Case study