工具

IFDA IoT 固件深度分析工具

面向已解包 IoT 固件的静态分析流水线:对单个 ELF 或解包后的根文件系统,它用 Capstone 反汇编 x86、ARM/Thumb-2、AArch64 和 MIPS 二进制,恢复函数、调用图和漏洞缓解措施,并从危险函数调用、调用图污点路径、借助 cve-bin-tool 的 CVE 关联、内嵌密钥、脚本注入模式和文件系统加固检查中报告候选问题。报告以 JSON、Markdown 和 CycloneDX SBOM 输出。可选组件包括 Ghidra 无界面伪代码、基于 moria 的原始镜像解包,以及一个 Go 服务,提供任务队列、REST API、中英双语网页界面,并可由大模型智能体对已完成的扫描结果进行分诊。

目标
二进制 · 固件
类别
固件工具
关联
基础工具
来源复核于

使用条件与局限

  • 所审阅的 main 分支提交 90c11c2 日期为 2026-09-21,是项目自 2026-06-10 开始以来的第 29 次提交。CHANGELOG 称其为 v4.4,而最新标签是早五次提交的 V4.1,GitHub 上没有发布版本,pyproject.toml 仍声明为 2.0.0。README 称这是第一阶段,涵盖二进制逆向与漏洞发现;仿真或动态验证列为计划中的功能,尚未实现。
  • Python 3.10+ 核心需要 capstone、pyelftools、cryptography、Pillow 以及 README 称为必需的 cve-bin-tool:后者在本地维护 1 GB 以上的 CVE 数据库,首次使用需联网;缺少它时,CVE 关联会退回到一个小型人工整理的数据库并给出警告。可选组件包括 yara-python、用于生成伪代码的 Ghidra 无界面模式与 JDK 17+、用于 GPU 图表渲染的 CuPy、提供 REST API 和网页界面的 Go 1.22+ 服务,以及用 CMake 和 C++20 编译器构建、用于解包原始镜像的 moria 子模块。支持 Linux 和 macOS;Windows 只能通过 WSL2 使用。
  • 输入可以是单个 ELF、已解包的固件目录,或经服务的解包任务处理、由分析者选定文件系统区域的原始镜像。README 和需求文档限定只能分析操作者拥有或获授权评估的固件。仓库不含任何固件;测试会自行构建 x86_64、MIPS、ARM 和 AArch64 交叉编译样本,README 报告在安装交叉编译器和 Ghidra 的情况下 25 项通过、2 项跳过。
  • README 指出这种不依赖反编译的静态分析属于启发式方法:每项结果都带置信度,污点结果只是需要分析者验证的候选路径,并非已证实的漏洞利用。可选的 AI 分析会把已完成的扫描发送到用户配置的 OpenAI 兼容或 Anthropic 协议端点,API 密钥加密存储;模型通过工具调用读取结果证据、伪代码、init 脚本和服务信息。README 称这些功能是在 Claude 模型上测试的。
  • 采用 Apache-2.0 许可,于 2026-09-17 加入;cve-bin-tool(GPL-3.0)仅以子进程方式调用,moria 采用 MIT 许可。未提及使用 REA,本次审阅未运行任何内容。

关于此条目

说明已依据一手来源复核;这不代表已运行验证、经过安全审计或确认兼容。

报告条目过时 建议修正翻译

一手来源

  1. README.md GitHub · cn0xroot/IFDA · 修订 90c11c2
  2. CHANGELOG.md GitHub · cn0xroot/IFDA · 修订 90c11c2
  3. firmware-analysis-requirements.md GitHub · cn0xroot/IFDA · 修订 90c11c2
  4. ENVIRONMENT.md GitHub · cn0xroot/IFDA · 修订 90c11c2
  5. service/README.md GitHub · cn0xroot/IFDA · 修订 90c11c2
  6. pyproject.toml GitHub · cn0xroot/IFDA · 修订 90c11c2
  7. .gitmodules GitHub · cn0xroot/IFDA · 修订 90c11c2
  8. LICENSE GitHub · cn0xroot/IFDA · 修订 90c11c2

同分区更多条目:固件与硬件

固件与硬件分区全部 65 项资源