工具

FwHunt 社区版 UEFI 固件规则扫描器

Binarly 推出的 Python 扫描器,用 FwHunt 规则检查 UEFI 固件模块;FwHunt 是针对已知 UEFI 固件漏洞的 YAML 检测规则格式,规则本身存放在独立的 fwhunt 仓库中。其基于 rizin 的分析器可报告 PE 或 TE 模块的 Boot、Runtime 与 PEI 服务调用、协议、PPI、GUID、NVRAM 变量和 SMI 处理程序,规则将这些信息与代码模式、字符串和十六进制串组合匹配。命令行工具可分析或扫描单个模块,也可从整个固件镜像中提取模块后逐一扫描,相同的类也能作为 Python 库调用。

使用条件与局限

  • 仓库没有 GitHub 发布版本或标签。所审阅的 master 提交日期为 2025-05-02,也是审阅时的最新提交,位于 setup.py 升至 2.3.8 之后,该版本于同日上传至 PyPI;另有一个 release 分支向 GHCR 发布以提交号为标签的 Docker 镜像。
  • 需要 Python 3(README 称在 3.6 及以上版本测试,CI 在 3.9 至 3.13 上运行),以及 click、rzpipe 0.4.0、PyYAML 和 uefi_firmware,并需安装 rizin。README 指定 rizin v0.6.2,Dockerfile 在 python:3.11 镜像上从源码构建该版本;未核实与更新的 rizin 版本是否兼容。以内存数据块代替文件路径传入的方式仅支持 Linux。
  • 输入为使用者已有的 UEFI 模块或固件镜像,以及 FwHunt 规则文件;仓库不附带任何规则,README 示例中的 rules/ 和 test/fw.bin 路径也不在本仓库中。scan-firmware 将目标为 firmware 的规则用于整个镜像,模块规则则只用于其 volume_guids 所指固件卷中的模块,除非使用 --force 将其用于所有模块;extract 命令把找到的全部模块写入一个目录。
  • 唯一的测试只检查 GUID 表查找,CI 在 flake8 语法检查后运行它。扫描结果按规则及其变体报告已知模式是否命中,输出为检测到或未检测到威胁;未命中并不说明模块不存在其他漏洞。
  • 采用 GPL-3.0:setup.py 声明 GPL-3.0,源码文件头为 GPL-3.0+;独立的 fwhunt 规则仓库采用 CC0-1.0。所审来源未提及 REA 的使用,本收录未安装该扫描器,也未分析任何固件。

关于此条目

类型
工具
类别
固件工具
关联
基础工具
目标
固件

来源复核于

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

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

一手来源

  1. README.md GitHub · binarly-io/fwhunt-scan · 修订 6fc7115
  2. fwhunt_scan_analyzer.py GitHub · binarly-io/fwhunt-scan · 修订 6fc7115
  3. fwhunt_scan/uefi_analyzer.py#L781-L820 GitHub · binarly-io/fwhunt-scan · 修订 6fc7115
  4. fwhunt_scan/uefi_scanner.py GitHub · binarly-io/fwhunt-scan · 修订 6fc7115
  5. requirements.txt GitHub · binarly-io/fwhunt-scan · 修订 6fc7115
  6. setup.py GitHub · binarly-io/fwhunt-scan · 修订 6fc7115
  7. Dockerfile GitHub · binarly-io/fwhunt-scan · 修订 6fc7115
  8. .github/workflows/ci.yml GitHub · binarly-io/fwhunt-scan · 修订 6fc7115
  9. fwhunt_scan/test_internal.py GitHub · binarly-io/fwhunt-scan · 修订 6fc7115
  10. LICENSE GitHub · binarly-io/fwhunt-scan · 修订 6fc7115
  11. https://pypi.org/project/fwhunt-scan/2.3.8/
  12. README.md GitHub · binarly-io/fwhunt · 修订 a2e3be6

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

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