Startup-SBOM 是一个通用工具,旨在提供 Linux 系统或 Docker 容器启动时执行了哪些软件包的内部分析视图。
通过分析服务文件、初始化脚本和容器入口点,该工具将每个启动进程映射到其来源软件包,从而清晰展示系统的实际执行情况。
--docker 直接分析运行中或已停止的容器。所需依赖列在 requirements.txt 文件中,可以使用 pip 安装:
pip3 install -r requirements.txt
| 参数 | 描述 |
|---|---|
--analysis-mode | static 或 chroot。默认为 static。 |
--static-type | info(包数据库)或 service(活动服务)。默认为 info。 |
--volume-path | 已挂载文件系统的路径。默认为 /mnt。 |
--docker | 要分析的 Docker 容器 ID 或名称。 |
--save-file | 保存输出(JSON/CycloneDX)的路径。 |
--info-graphic | 为 CHROOT 分析生成可视化图表。默认为 True。 |
--pkg-mgr | 显式指定包管理器(apt、rpm、pacman、apk)。 |
--cve-analysis | 启用 CVE 漏洞扫描。 |
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。
欢迎在讨论页面分享与此主题相关的想法。
| 操作系统家族 | 包管理器 | 初始化系统 |
|---|
| Debian/Ubuntu | APT | Systemd、SysVinit |
| RHEL/CentOS | RPM | Systemd |
| Arch Linux | Pacman | Systemd |
| Alpine Linux | APK | OpenRC |
| Docker 容器 | (任意) | Docker 入口点 + 内部初始化 |