
A tool to reverse engineer and inspect the RPM and APT databases to list all the packages along with executables, service, versions and CVE.
Startup-SBOM is a universal utility designed to provide an insider view of which packages are executed during the startup of a Linux system or within a Docker container.
By analyzing service files, init scripts, and container entrypoints, the tool maps every booting process to its originating package, providing a clear perspective on actual system execution.
--docker.The packages needed are mentioned in the requirements.txt file and can be installed using pip:
pip3 install -r requirements.txt
python3 main.py --docker my-container --cve-analysis --save-file sbom.json
python3 main.py --volume-path /mnt/target_root --static-type service --save-file output.json
python3 main.py --analysis-mode chroot --volume-path /mnt/target_root --info-graphic True
For detailed documentation on the methodology and process, please visit the Wiki.
Ideas regarding this topic are welcome in the discussions page.
| Argument | Description |
|---|
--analysis-mode | static or chroot. Default is static. |
--static-type | info (Package DB) or service (Active Services). Default is info. |
--volume-path | Path to a mounted filesystem. Default is /mnt. |
--docker | Docker Container ID or Name to analyze. |
--save-file | Path to save output (JSON/CycloneDX). |
--info-graphic | Generate visual plots for CHROOT analysis. Default is True. |
--pkg-mgr | Explicitly specify package manager (apt, rpm, pacman, apk). |
--cve-analysis | Enable CVE vulnerability scanning. |
| OS Family | Package Manager | Init System |
|---|
| Debian/Ubuntu | APT | Systemd, SysVinit |
| RHEL/CentOS | RPM | Systemd |
| Arch Linux | Pacman | Systemd |
| Alpine Linux | APK | OpenRC |
| Docker Containers | (Any) | Docker Entrypoint + Internal Init |