
cwe_checker是一套用于检测常见漏洞类别的静态分析工具套件,可识别危险函数使用、简单整数溢出等漏洞类型,这些漏洞在形式上被称为Common Weakness Enumerations(CWEs)。其主要目标是帮助分析师快速发现易受***的代码路径。
该工具主要针对Linux和Unix系统中常见的ELF二进制文件,基于Ghidra将二进制文件反汇编为统一的中间表示(IR),并在该IR上实现自定义分析。因此,它可运行于Ghidra支持反汇编的所有CPU架构,是固件分析的重要工具。
使用Docker镜像
最简单的方式是从https://hub.docker.com/r/fkiecad/cwe_checker%E6%8B%89%E5%8F%96%E6%9C%80%E6%96%B0%E9%95%9C%E5%83%8F%EF%BC%9A
docker pull fkiecad/cwe_checker:latest:基于当前master分支构建的镜像docker pull fkiecad/cwe_checker:stable:基于最新稳定发布版本构建的镜像如需本地构建镜像,执行:
bashdocker build -t cwe_checker .
本地安装
本地构建和安装需先安装以下依赖:
编译并安装:
bashmake all GHIDRA_PATH=/path/to/ghidra_folder # 替换为实际Ghidra安装路径
cwe_checker以二进制文件为输入,通过静态分析运行多项检查,输出发现的CWE警告列表。
Docker方式运行
bashdocker run --rm -v /PATH/TO/BINARY:/input fkiecad/cwe_checker /input
(将/PATH/TO/BINARY替换为本地二进制文件的实际路径)
本地安装后运行
bashcwe_checker BINARY # BINARY为目标二进制文件路径
配置与参数
src/config.json配置。修改后需使用--config=src/config.json指定配置文件--help查看所有可用参数裸机二进制支持
cwe_checker提供实验性裸机二进制分析支持,需通过--bare-metal-config指定配置文件。示例配置文件位于bare_metal/stm32f407vg.json(针对STM32F407VG MCU测试)。
目前已实现以下分析检查(部分分析可能仅部分实现,由于静态分析的局限性,可能存在误报和漏报):
cwe_checker提供Ghidra脚本,可解析分析结果并在反汇编器中注释发现的CWE。脚本位于ghidra_plugin/cwe_checker_ghidra_plugin.py,使用说明包含在文件中。
cwe_checker可作为插件集成到https://github.com/fkie-cad/FACT_core%EF%BC%88%E5%9B%BA%E4%BB%B6%E5%88%86%E6%9E%90%E5%92%8C%E6%AF%94%E8%BE%83%E5%B7%A5%E5%85%B7%EF%BC%89%E3%80%82
Copyright (C) 2018 - Fraunhofer FKIE (***) This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <[***]>.
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务