# cwe_checker 二进制漏洞模式检查工具

> Fraunhofer FKIE 开发的静态分析工具，在二进制可执行文件（主要是 Linux 和 Unix 的 ELF 文件）中查找符合通用缺陷枚举（CWE）漏洞类别的代码路径，例如缓冲区溢出、释放后使用与重复释放、空指针解引用、格式化字符串和整数溢出。它先由 Ghidra 把二进制反汇编为统一的中间表示，再在其上运行从简单启发式到基于抽象解释的数据流分析等各类检查，因此适用于 Ghidra 支持的 CPU 架构，包括 x86、ARM、MIPS 和 PowerPC。告警以文本或 JSON 输出，随附的 Ghidra 脚本可把告警标注在反汇编中，便于人工复核。

- 类型：工具
- 目标：二进制 · 固件
- 类别：原生分析工具
- 关联：基础工具
- 来源复核于：2026-10-19
- 收录于：2026-10-19
- 原始资源：<https://github.com/fkie-cad/cwe_checker>
- 一手来源：<https://github.com/fkie-cad/cwe_checker/blob/7288311bbf9d2d1111434f8c07617ce580b9c8c0/README.md>
- 目录页面：<https://awesomerea.org/zh/resources/cwe-checker/>
- 记录 JSON：<https://awesomerea.org/resources/cwe-checker/record.json>
- 英文版：[English](https://awesomerea.org/resources/cwe-checker/index.md)

## 使用条件与局限

- 审阅时最新稳定版为 v0.9，于 2024-08-20 以源码形式发布。GitHub 容器注册表上的预构建 Docker 镜像有 latest（master 分支）、stable 和 v0.9 三个标签，仅提供 x86 版本，但可在 ARM 机器上本地构建原生镜像。所审阅的 master 提交比 v0.9 晚 97 个提交；CHANGES.md 将其标为 0.10-dev，包括重写的 P-Code 提取器以及随 Ghidra 更新而增加的架构支持，而各 crate 清单仍标为 0.9.0，在线文档对应的也是稳定版。
- 本地构建需要 Rust 1.82+ 和 Ghidra 10.2+；未指定 GHIDRA_PATH 时，make all 会自动查找 Ghidra 安装位置。Docker 镜像基于 Ghidra 11.2.1 无界面基础镜像构建，另提供 Nix flake。各项检查可通过 src/config.json 调整。对 Linux 可加载内核模块的分析（使用单独配置运行部分检查）和对裸机二进制的分析（需要针对具体设备的配置，仓库附有 STM32F407VG 示例）均为实验性功能。
- 每次运行分析一个由使用者提供的二进制。README 提醒误报和漏报都在所难免，CWE-78 操作系统命令注入检查在标准运行中默认关闭，因此告警只是需要人工复核的代码路径，而不是已确认的漏洞。该工具也以插件形式集成在 FACT 中。
- 采用 LGPL-3.0 许可；README 中的声明允许使用第 3 版或任何更新版本。

## 一手来源

1. <https://github.com/fkie-cad/cwe_checker/blob/7288311bbf9d2d1111434f8c07617ce580b9c8c0/README.md>
2. <https://github.com/fkie-cad/cwe_checker/blob/7288311bbf9d2d1111434f8c07617ce580b9c8c0/README.md#L35-L97>
3. <https://github.com/fkie-cad/cwe_checker/blob/7288311bbf9d2d1111434f8c07617ce580b9c8c0/README.md#L105-L140>
4. <https://github.com/fkie-cad/cwe_checker/blob/7288311bbf9d2d1111434f8c07617ce580b9c8c0/CHANGES.md>
5. <https://github.com/fkie-cad/cwe_checker/blob/7288311bbf9d2d1111434f8c07617ce580b9c8c0/Dockerfile>
6. <https://github.com/fkie-cad/cwe_checker/blob/7288311bbf9d2d1111434f8c07617ce580b9c8c0/src/caller/Cargo.toml>
7. <https://github.com/fkie-cad/cwe_checker/blob/7288311bbf9d2d1111434f8c07617ce580b9c8c0/bare_metal/stm32f407vg.json>
8. <https://github.com/fkie-cad/cwe_checker/blob/7288311bbf9d2d1111434f8c07617ce580b9c8c0/LICENSE>
9. <https://github.com/fkie-cad/cwe_checker/releases/tag/v0.9>
10. <https://docs.cwe-checker.io/index.html>

## 同分区更多条目：原生二进制

- [FLARE-VM 恶意软件分析虚拟机安装工具](https://awesomerea.org/zh/resources/flare-vm/index.md) · 工具
- [B2R2 二进制分析框架](https://awesomerea.org/zh/resources/b2r2/index.md) · 工具
- [rz-ghidra Rizin 的 Ghidra 反编译器插件](https://awesomerea.org/zh/resources/rz-ghidra/index.md) · 工具
- [dewolf 研究型反编译器](https://awesomerea.org/zh/resources/dewolf/index.md) · 工具
- [decomp2dbg 反编译器-调试器符号同步工具](https://awesomerea.org/zh/resources/decomp2dbg/index.md) · 工具
- [E9Patch 静态二进制重写工具](https://awesomerea.org/zh/resources/e9patch/index.md) · 工具

## 关于此条目

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