
RPMおよびAPTデータベースをリバースエンジニアリングおよび検査して、すべてのパッケージと実行可能ファイル、サービス、バージョン、CVEを一覧表示するツール。
Startup-SBOMは、LinuxシステムまたはDockerコンテナの起動時にどのパッケージが実行されるかを内部から把握できるように設計された汎用ユーティリティです。
サービスのファイル、initスクリプト、コンテナのエントリポイントを分析することで、起動プロセスのすべてをその起点となるパッケージにマッピングし、実際のシステム実行の明確な視点を提供します。
--dockerを使用して実行中または停止中のコンテナを直接分析します。必要なパッケージはrequirements.txtファイルに記載されており、pipを使用してインストールできます。
pip3 install -r requirements.txt
| Argument | Description |
|---|
--analysis-mode | static または chroot。デフォルトは static。 |
--static-type | info (パッケージDB) または 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
| OSファミリー | パッケージマネージャ | 初期化システム |
|---|---|---|
| Debian/Ubuntu | APT | Systemd, SysVinit |
| RHEL/CentOS | RPM | Systemd |
| Arch Linux | Pacman | Systemd |
| Alpine Linux | APK | OpenRC |
| Dockerコンテナ | (Any) | Docker Entrypoint + Internal Init |
方法論とプロセスの詳細については、Wiki をご覧ください。
このトピックに関するアイデアは、ディスカッションページで歓迎します。