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

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

- 类型：工具
- 目标：固件
- 类别：固件工具
- 关联：基础工具
- 来源复核于：2026-10-20
- 收录于：2026-11-02
- 原始资源：<https://github.com/binarly-io/fwhunt-scan>
- 一手来源：<https://github.com/binarly-io/fwhunt-scan/blob/6fc7115959e4825199882f5b397a0d7c34cbbfd1/README.md>
- 目录页面：<https://awesomerea.org/zh/resources/fwhunt-scan/>
- 记录 JSON：<https://awesomerea.org/resources/fwhunt-scan/record.json>
- 英文版：[English](https://awesomerea.org/resources/fwhunt-scan/index.md)

## 使用条件与局限

- 仓库没有 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 镜像上从源码构建该版本。以内存数据块代替文件路径传入的方式仅支持 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。

## 一手来源

1. <https://github.com/binarly-io/fwhunt-scan/blob/6fc7115959e4825199882f5b397a0d7c34cbbfd1/README.md>
2. <https://github.com/binarly-io/fwhunt-scan/blob/6fc7115959e4825199882f5b397a0d7c34cbbfd1/fwhunt_scan_analyzer.py>
3. <https://github.com/binarly-io/fwhunt-scan/blob/6fc7115959e4825199882f5b397a0d7c34cbbfd1/fwhunt_scan/uefi_analyzer.py#L781-L820>
4. <https://github.com/binarly-io/fwhunt-scan/blob/6fc7115959e4825199882f5b397a0d7c34cbbfd1/fwhunt_scan/uefi_scanner.py>
5. <https://github.com/binarly-io/fwhunt-scan/blob/6fc7115959e4825199882f5b397a0d7c34cbbfd1/requirements.txt>
6. <https://github.com/binarly-io/fwhunt-scan/blob/6fc7115959e4825199882f5b397a0d7c34cbbfd1/setup.py>
7. <https://github.com/binarly-io/fwhunt-scan/blob/6fc7115959e4825199882f5b397a0d7c34cbbfd1/Dockerfile>
8. <https://github.com/binarly-io/fwhunt-scan/blob/6fc7115959e4825199882f5b397a0d7c34cbbfd1/.github/workflows/ci.yml>
9. <https://github.com/binarly-io/fwhunt-scan/blob/6fc7115959e4825199882f5b397a0d7c34cbbfd1/fwhunt_scan/test_internal.py>
10. <https://github.com/binarly-io/fwhunt-scan/blob/6fc7115959e4825199882f5b397a0d7c34cbbfd1/LICENSE>
11. <https://pypi.org/project/fwhunt-scan/2.3.8/>
12. <https://github.com/binarly-io/fwhunt/blob/a2e3be630e407a49c8076178c712bcf6cccda1bf/README.md>

## 同分区更多条目：固件与硬件

- [sniffROM 串行闪存被动嗅探重建工具](https://awesomerea.org/zh/resources/sniffrom/index.md) · 工具
- [Pawn Intel 平台 BIOS 固件提取工具](https://awesomerea.org/zh/resources/google-pawn/index.md) · 工具
- [EMBArk EMBA 固件扫描 Web 平台](https://awesomerea.org/zh/resources/embark/index.md) · 工具
- [IDAPython Embedded Toolkit 嵌入式固件分析脚本集](https://awesomerea.org/zh/resources/idapython-embedded-toolkit/index.md) · 工具
- [fiano UEFI 固件解析与修改工具集](https://awesomerea.org/zh/resources/fiano/index.md) · 工具
- [Pyrrha 固件测绘工具](https://awesomerea.org/zh/resources/pyrrha/index.md) · 工具

## 关于此条目

说明已依据一手来源复核。
原创说明采用 MIT 许可；外部项目、论文与素材保留各自的权利和许可。
