undertaker
variability-aware tool for static code analysis
Install
- All systems
-
curl cmd.cat/undertaker.sh
- Debian
-
apt-get install undertaker
- Ubuntu
-
apt-get install undertaker
- Kali Linux
-
apt-get install undertaker
- Windows (WSL2)
-
sudo apt-get update
sudo apt-get install undertaker
- Raspbian
-
apt-get install undertaker
- Dockerfile
- dockerfile.run/undertaker
undertaker
variability-aware tool for static code analysis
The "undertaker" is a tool suite for static source code analysis for checking C preprocessor directives. Also included are "golem", "vampyr" and "undertaker-tailor". It can check their structure against different configuration models to find "dead" blocks that can never be selected and "undead" blocks that can never be deselected. The included "golem" tool is able to infer variability constraints from Kbuild-like build systems, such as found in Linux, busybox and coreboot. Its results greatly improves the model that undertaker uses for the analysis. The tool "vampyr" is a conditional-compilation aware driver. It uses the "undertaker" tool to calculate a set of configurations and calls a backend-scanner on each of them. Supported scanners include: "gcc", "sparse", and "clang". The tool "undertaker-tailor" calculates a kernel configuration based on a profile, which is traced with Linux ftrace mechanism. The resulting kernel exhibits a much smaller attack surface and results in a significant more secure kernel.