vulhunt-re/vulhunt
GitHub: vulhunt-re/vulhunt
VulHunt 是由 Binarly 开发的二进制与 UEFI 固件漏洞检测框架,通过可扩展的规则引擎帮助研究人员识别软件和固件中的安全漏洞。
Stars: 1 | Forks: 0
# VulHunt 社区版
VulHunt 是由 Binarly 研究团队开发的漏洞搜寻框架。它旨在帮助安全研究人员和从业者识别软件二进制文件和 UEFI 固件中的漏洞。VulHunt 构建于 Binarly 的二进制分析和检查系统 (BIAS) 之上,该系统为分析和理解二进制文件提供了强大而灵活的环境。VulHunt 与 Binarly 透明度平台 (BTP) 的功能集成,可实现大规模的漏洞管理、搜寻和分类功能。
VulHunt 社区版是 BTP 内 VulHunt 引擎的免费开源版本,旨在促进社区开发的规则包和集成。
## 构建 (使用 cargo-make)
### 前置条件
```
cargo install cargo-make
```
### 构建
```
cargo make --profile
build
```
包含 Binary Ninja 支持:
```
cargo make --profile build --features=bndb
```
### 安装
```
cargo make --profile install
```
包含 Binary Ninja 支持:
```
cargo make --profile install --features=bndb
```
## 构建 (不使用 cargo-make)
### 前置条件
```
git submodule update --init
```
安装带有必要补丁的 LuaJIT:
```
git clone https://github.com/LuaJIT/LuaJIT.git -b v2.1
cd LuaJIT
git apply /path/to/vulhunt-ce/patches/luajit-vulhunt.patch
```
对于 macOS:
```
export MACOSX_DEPLOYMENT_TARGET=$(sw_vers -productVersion)
```
对于 macOS 和 Linux:
```
make BUILDMODE='static'
export LUA_LIB=/path/to/LuaJIT/src/
export LUA_LIB_NAME=luajit
export LUA_LINK=static
```
对于 Windows:
```
cd src
msvcbuild.bat BUILDMODE='static'
set LUA_LIB=C:\path\to\LuaJIT\src\
set LUA_LIB_NAME=lua51
set LUA_LINK=static
```
### 构建
```
cargo build --release
```
包含 Binary Ninja 支持:
```
cargo build --release --features=bndb
```
### 打包
前置条件:
```
cargo install cargo-make
```
为当前平台构建包:
```
cargo make prepare-package --features=...
```
## 用法
### 扫描二进制文件
```
vulhunt-ce scan -o 标签:BIAS, Binary Ninja, Fuzzing, LuaJIT, Rust, UEFI 固件, VulHunt, 二进制分析, 云安全监控, 云安全运维, 云资产清单, 可视化界面, 固件安全, 多包管理, 时序数据库, 社区版, 网络流量审计, 逆向工程, 静态分析