Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
firmware-analysis-toolkit — 固件安全研究平台,结合二进制分析、污点追踪与仿真技术,覆盖物联网、边缘AI、移动设备及机器人领域。 | Kitploit
工具/GitHubGitHub/attify/firmware-analysis-toolkit
嵌入式系统安全物联网安全漏洞分析逆向工程二进制分析学习与教育固件分析
GitHubattify/firmware-analysis-toolkit

firmware-analysis-toolkit

固件安全研究平台,结合二进制分析、污点追踪与仿真技术,覆盖物联网、边缘AI、移动设备及机器人领域。

查看仓库
1.6k283484天前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

FAT — 固件分析工具包

FAT release 下载最新版本 · 更新日志 · 安装

固件分析工具包(Firmware Analysis Toolkit)是一款安全研究工具包,用于调查 IoT、物理 AI、移动设备与机器人领域的固件安全。它主要为 Attify 开展的 “Offensive IoT Exploitation” 培训而构建。

它基于真实的实战经验构建,聚焦于真正重要的固件安全调查中真正关键的内容。

FAT 的目标不仅是打造一款卓越的世界级前沿固件安全研究工具包,还要培养处于巅峰状态的专业人员和从业者——在特定使用方式下,该工具会成为认知上的超能力,同时对刚进入该领域的新手也足够易用。

部分功能包括:对未知固件进行分类、提取文件系统、映射与信任相关的代码、追踪污点传播,以及协调 QEMU 仿真。

FAT 可以分析什么

  • 未知二进制块和目录: 容器、压缩成员、高熵区域、MCU 信号以及候选固件文件
  • 固件镜像: 头部、更新封装、分区、引导加载程序以及镜像之间的差异
  • 提取出的 Linux 文件系统: 清单、启动意图、承载信任的二进制文件、加密材料以及字符串证据
  • ELF 二进制文件: 导入、导出、处理程序表、去符号代码汇聚点、反编译以及从源到汇聚点的污点分析
  • 裸机和 MCU 镜像: 向量表、内存映射、外设线索、闪存写入权限以及启动交接证据
  • 边缘 AI 产物: MAGIK/JZDL、TFLite、ONNX 和 Qualcomm DLC 文件,以及可见的推理运行时
  • Android 应用程序: APK 清单、发现线索、位置、能力链以及交接边界
  • 源代码仓库: 不变量查询、补丁指导以及邻近变体搜索

快速开始

从 Releases 下载二进制包,或使用 Rust 1.90 或更高版本构建最新的常规发布版:

git clone --branch v2.0.1 --depth 1 https://github.com/attify/firmware-analysis-toolkit.git
cd firmware-analysis-toolkit
cargo build --release --locked
cargo install --path crates/fat_cli --locked
python3 scripts/build-runtime-data-bundle.py --output ./dist/fat-data.zip
fat data install --archive ./dist/fat-data.zip
fat doctor

在 Arch Linux 或 Omarchy 上,请先查看 Arch 安装步骤,了解前置软件包和可选工具。

适用于受支持主机的 One-Shot 安装程序:

./scripts/install.sh --install-system-deps

有关安装程序选项和可选工具,请参阅 INSTALL.md。

快速命令参考

  • 帮助:fat -h
  • 识别固件:fat $firmware 或 fat identify --file $firmware
  • 新建项目:fat new $firmware
  • 提取文件系统:fat extract $firmware
  • 分析:fat analyze $firmware
  • 仿真:fat emulate --project $firmware

首次接触未知文件

fat ./firmware.bin
fat inspect update --file ./firmware.bin --rootfs ./rootfs --reference ./older.bin

fat ./firmware.bin 是 fat identify --file ./firmware.bin 的简写。 它会给出该文件身份和结构的紧凑概览。 添加 --details 可查看辅助表格。 对于原始 MCU 镜像,检查映射、启动、中断和硬件:

fat inspect mcu --file ./firmware.bin
fat inspect mcu --file ./firmware.bin --details

这两个命令都支持 --json,以输出完整的结构化分析报告。

从镜像到运行时

快速开始中的流水线,端到端如下:

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

Shell 脚本数据流

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

去符号二进制文件

静态查找汇聚点,然后为相同地址准备运行时钩子:

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

安全

  • 仿真会执行不受信任的厂商代码。
  • 在处理不受信任的镜像或将仿真服务暴露到网络之前,请先阅读 SECURITY.md。
  • 您有责任确保对您所处理的目标拥有授权。

详细指南

文档内容
INSTALL.md外部工具和可选组件设置
docs/commands.md完整命令参考,按任务分组
docs/capabilities.md图导出、字符串搜索、加密、边缘 AI、启动意图、重托管包
docs/epistemics.md如何解读 FAT 输出:结果能证明什么、不能证明什么
docs/architecture.md工作区 crate 和扩展点
DEVELOPMENT.md构建和测试工作流
CONTRIBUTING.md设置、PR 检查清单和贡献指南
RELEASING.md版本命名和维护者发布工作流

引用

如果您在研究、出版物或技术报告中使用 FAT,请通过 GitHub 上的 Cite this repository 选项进行引用。请注明所使用的 FAT 版本或提交,以便读者能够识别您结果背后的实现。引用元数据请参阅 CITATION.cff。

维护者

FAT 由 adi0x90 编写,他同时也是其当前维护者和主要贡献者。该项目由 Attify 维护。

许可证

FAT 2.0 根据 FSL-1.1-ALv2 提供源代码。更多详情请参阅 LICENSING.md 和 THIRD_PARTY_NOTICES.md。

下载工具