undertaker

variability-aware tool for static code analysis

Install

All systems
curl cmd.cat/undertaker.sh
Debian Debian
apt-get install undertaker
Ubuntu
apt-get install undertaker
image/svg+xml Kali Linux
apt-get install undertaker
Windows (WSL2)
sudo apt-get update sudo apt-get install undertaker
Raspbian
apt-get install 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.