
Инструмент для обратного проектирования и анализа баз данных RPM и APT с целью вывода списка всех пакетов вместе с исполняемыми файлами, службами, версиями и CVE.
Startup-SBOM — это универсальная утилита, предназначенная для предоставления внутреннего представления о том, какие пакеты выполняются при запуске Linux-системы или Docker-контейнера.
Анализируя служебные файлы, скрипты инициализации и точки входа контейнеров, инструмент сопоставляет каждый загрузочный процесс с его исходным пакетом, обеспечивая чёткое представление о реальном выполнении системы.
--docker.Необходимые пакеты перечислены в файле requirements.txt и могут быть установлены с помощью 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
Подробную документацию о методологии и процессе можно найти в Wiki.
Идеи по этой теме приветствуются на странице обсуждений.
| Аргумент | Описание |
|---|
--analysis-mode | static или chroot. По умолчанию — static. |
--static-type | info (База данных пакетов) или service (Активные службы). По умолчанию — info. |
--volume-path | Путь к смонтированной файловой системе. По умолчанию — /mnt. |
--docker | ID или имя Docker-контейнера для анализа. |
--save-file | Путь для сохранения вывода (JSON/CycloneDX). |
--info-graphic | Генерация визуальных графиков для анализа CHROOT. По умолчанию — True. |
--pkg-mgr | Явное указание менеджера пакетов (apt, rpm, pacman, apk). |
--cve-analysis | Включить сканирование уязвимостей CVE. |
| Семейство ОС | Менеджер пакетов | Система инициализации |
|---|
| Debian/Ubuntu | APT | Systemd, SysVinit |
| RHEL/CentOS | RPM | Systemd |
| Arch Linux | Pacman | Systemd |
| Alpine Linux | APK | OpenRC |
| Docker Containers | (Any) | Docker Entrypoint + Internal Init |