
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
방법론 및 프로세스에 대한 자세한 문서는 Wiki를 방문하십시오.
이 주제에 대한 아이디어는 토론 페이지에서 환영합니다.
| OS 계열 | 패키지 관리자 | 초기화 시스템 |
|---|
| Debian/Ubuntu | APT | Systemd, SysVinit |
| RHEL/CentOS | RPM | Systemd |
| Arch Linux | Pacman | Systemd |
| Alpine Linux | APK | OpenRC |
| Docker 컨테이너 | (모든) | Docker Entrypoint + 내부 Init |