
Firmware-Sicherheitsforschungsplattform, die Binäranalyse, Taint-Tracing und Emulation über IoT, Edge-KI, mobile Geräte und Robotik hinweg kombiniert.
Firmware Analysis Toolkit ist ein Sicherheitsforschungs-Toolkit zur Untersuchung der Firmware-Sicherheit für IoT, Physical AI, Mobile Devices & Robotik. Es wurde in erster Linie für das „Offensive IoT Exploitation“-Training von Attify entwickelt.
Es basiert auf realer praktischer Felderfahrung darüber, was bei echten Firmware-Sicherheitsuntersuchungen wirklich zählt.
FATs Ziel ist es nicht nur, ein außergewöhnliches, weltklasse und hochmodernes Toolkit für die Firmware-Sicherheitsforschung zu entwickeln, sondern auch Fachleute und Praktiker auszubilden, die auf ihrem Höhepunkt arbeiten – wo das Tool bei bestimmter Nutzung zu einer kognitiven Superkraft wird, während es für Neueinsteiger in diesem Bereich dennoch einfach genug zu bedienen ist.
Zu den Funktionen gehören die Klassifizierung unbekannter Firmware, das Extrahieren von Dateisystemen, das Kartieren vertrauensrelevanter Codebereiche, die Taint-Verfolgung sowie die Koordination von QEMU-Emulationen.
Repository klonen, mit Rust 1.90 oder neuer bauen und installieren:
git clone https://github.com/attify/firmware-analysis-toolkit.git
cd firmware-analysis-toolkit
cargo build --release --locked
cargo install --path crates/fat_cli --locked
fat doctor
Einmal-Installer:
./scripts/install.sh --install-system-deps
Weitere Anpassungsmöglichkeiten beim Installationsprozess finden Sie in INSTALL.md.
fat -hfat $firmware oder fat identify --file $firmwarefat new $firmwarefat extract $firmwarefat analyze $firmwarefat emulate --project $firmwarefat ./firmware.bin
fat inspect update --file ./firmware.bin --rootfs ./rootfs --reference ./older.bin
Die Pipeline vom Schnellstart, Ende zu Ende:
fat new ./firmware.bin
fat extract .fat-projects/firmware
fat analyze .fat-projects/firmware
fat preflight .fat-projects/firmware
fat emulate --project .fat-projects/firmware
fat r2-triage --file ./usr/sbin/httpd --json
fat taint --file ./www/cgi-bin/diag.cgi --summary
fat taint-query --file ./www/cgi-bin/diag.cgi
fat taint-cross --rootfs ./rootfs
fat taint-cross --rootfs ./rootfs --source-profile ./my-target-models.yaml --state-profile ./my-target-state.yaml
fat taint --lang shell --file ./app/init/wifi.sh --summary
fat taint --lang shell --rootfs ./extracted-rootfs --json
fat taint --lang shell --rootfs ./extracted-rootfs --source-profile ./my-target-shell.yaml --severity high
Sinks statisch finden und anschließend Laufzeit-Hooks für dieselben Adressen vorbereiten:
fat r2-triage --file ./usr/sbin/httpd --json
fat sink-discovery --file ./usr/sbin/httpd --json > sinks.json
fat handler-table --file ./usr/sbin/httpd --json > handlers.json
fat taint --file ./usr/sbin/httpd --sink-candidates sinks.json --json > taint.json
fat instrument-hooks --from-sinks sinks.json --output hooks.yaml
fat emulate --project .fat-projects/firmware --instrument hooks.yaml
fat tree --rootfs ./rootfs --profile inventory --summary --json
fat search --rootfs ./rootfs --profile credentials -I --context 2
fat startup-map --rootfs ./rootfs --profile cloud-tls
fat crypto-census --rootfs ./rootfs
fat trust-map --rootfs ./rootfs
fat invariant query \
--fixture tests/fixtures/query/source/invariant-permission \
--rule 'Every privileged override method must call enforcePermission()'
fat patch check --help
fat verify --help
FAT wurde von adi0x90 verfasst, der auch der aktuelle Maintainer und Hauptbeitragende ist. Das Projekt wird unter Attify gepflegt.
FAT 2.0 ist als Quellcode unter FSL-1.1-ALv2 verfügbar. Weitere Details finden Sie in LICENSING.md und THIRD_PARTY_NOTICES.md.
| Dokument | Was ist darin enthalten? |
|---|
| INSTALL.md | Externe Tools und optionale Komponenteneinrichtung |
| docs/commands.md | Vollständige Befehlsreferenz, nach Aufgabe gruppiert |
| docs/capabilities.md | Graph-Export, String-Suche, Krypto, Edge AI, Startabsicht, Rehosting-Pakete |
| docs/epistemics.md | So lesen Sie FAT-Ausgaben: was Ergebnisse beweisen und was nicht |
| docs/architecture.md | Workspace-Crates und Erweiterungspunkte |
| DEVELOPMENT.md | Build- und Test-Workflow |
| CONTRIBUTING.md | Einrichtung, PR-Checkliste und Beitragsleitfaden |