소프트웨어 자재 명세서
소프트웨어 자재 명세서(SBOM) 문서는 설치된 파일, 저작권, 라이선스, 버전, 소스 저장소 및 기타 Qt 설치에 대한 관련 정보에 대한 선언입니다. SBOM 문서는 Qt 사용자 및 기타 이해 당사자에게 컴포넌트 정보를 공유함으로써 공급망 관리를 용이하게 합니다. Qt의 SBOM 문서는 라이선스 준수 및 보안 취약성 관리에 특히 유용합니다.
Qt 6.8부터 Qt의 빌드 시스템은 다양한 플랫폼과 빌드 구성에 맞는 SBOM 문서를 생성할 수 있습니다. 빌드 시스템에서 Qt Online Installer 은 해당 Qt 버전의 설치 디렉터리에 있는 sbom
디렉터리에 SBOM 문서를 저장합니다. 예를 들어 Qt 6.8.2 Android arm64-v8a 설치의 경우 SBOM 문서는 에 있습니다:
<INSTALL_DIR>/6.8.2/android_arm64_v8a/sbom/
Qt 소스에서 SBOM 문서를 직접 생성하려면 -sbom
을 구성 옵션으로 설정합니다.
예를 들어 구성 단계에서
./configure -sbom
그러면 SBOM 문서 생성이 일반 Qt 설치의 일부가 됩니다:
ninja install cmake --install .
Qt 6.8에서 이 빌드 프로세스는 SPDX 형식에 지정된 대로 JSON 및 tag:value
형식의 SBOM 문서를 생성합니다.
Qt 빌드 절차에 대한 자세한 내용은 Qt 소스 빌드 및 Qt 구성 옵션을 참조하십시오.
Qt 개발자 및 유지 관리자를 위해 SBOM 위키에 SB OM 문서 생성에 대한 구체적인 정보가 있습니다.
SPDX 형식
SBOM 문서는 SPDX 2.3 형식입니다. 문서는 Qt 모듈에 대한 정보로 시작합니다. SPDX 패키지는 별도의 항목으로 이어집니다.
Qt 설치의 경우, SPDX 패키지는 a:
- Qt 모듈
- Qt 플러그인 - 예: 플랫폼 플러그인
- Qt 도구 - 예: moc
- Qt 애플리케이션 - 예를 들어 Qt Designer
- 서드 파티 컴포넌트 - Qt에서 사용되는 서드 파티 코드를 참조하십시오.
- 시스템 라이브러리 종속성 - Qt 구성 옵션
SPDX 패키지에는 일반적으로 최소한 다음이 포함됩니다:
- 패키지 이름, 버전, 공급업체 이름, 빌드 정보
- Qt 라이선스 귀속 - Qt 제품은 다른 상용 또는 오픈 소스 라이선스 하에 있을 수 있습니다. 예를 들어 한 패키지에 여러 개의 계약이 체결된 라이선스가 나열될 수 있습니다:
LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
라이선스 옵션에 대한 자세한 정보는 Qt 라이선싱을 참조하십시오.
- 저작권 고지 - SBOM 문서에는 Qt 소스 저작권과 타사 소스 또는 작성자의 저작권이 포함되어 있습니다.
- CPE(공통 플랫폼 열거) - 패키지 식별을 위한 명명 체계. Qt의 경우 일반적으로 SBOM CPE 형식을 사용합니다:
cpe:<cpe_version>:<part>:<vendor>:<product>:<version>:<update>:<edition>:<language>:<sw_edition>:<target_sw>:<target_hw>:<other>
예를 들어 Qt Network Authorization 패키지의 식별자는 다음과 같습니다:
cpe:2.3:a:qt:qtnetworkauth:6.8.0:*:*:*:*:*:*:*
자세한 내용은 CPE 사양 페이지를 참조하세요.
- PURL(패키지 URL) - CPE의 대안인 PURL은 다음 형식을 사용하는 식별자 체계입니다:
scheme:type/namespace/name@version?qualifiers#subpath
패키지의 PURL 예는 다음과 같습니다:
pkg:generic/TheQtCompany/qtnetworkauth@6.8.0
자세한 내용은 패키지 URL 페이지를 참조하세요.
- 종속성과 같은 패키지 간의 패키지 관계.
예를 들어 종속성 관계를 나열하려면
DEPENDS_ON
. 유효한 관계 유형 목록은 SPDX 2.3의 11항을 참조하세요.
타사 SPDX 패키지
타사 컴포넌트에 대한 SPDX 패키지에는 일반적으로 최소한 다음이 포함됩니다:
- 이름, 버전 및 설명
- 홈페이지 및 다운로드 위치
- Qt에서의 사용법
- 라이선스 및 저작권 정보
- 컴포넌트가 보안에 중요한지 여부 - 코드가 신뢰할 수 없는 코드를 처리할 수 있음
SBOM 예제
다음은 Qt Network Authorization 모듈에 대한 SBOM 문서의 예입니다. SBOM 파일명은 qtnetworkauth-6.8.0.spdx
이며 설치의 sbom
디렉터리에 있습니다. SBOM 문서에는 다음 예제에 나열되지 않은 다른 여러 패키지가 포함되어 있습니다.
SPDXVersion: SPDX-2.3 DataLicense: CC0-1.0 SPDXID: SPDXRef-DOCUMENT DocumentName: qtnetworkauth-6.8.0 DocumentNamespace: https://qt.io/spdxdocs/qtnetworkauth-6.8.0 Creator: Organization: TheQtCompany Creator: Tool: Qt Build System CreatorComment: <text>This SPDX document was created from CMake 3.27.7, using the qt build system from https://code.qt.io/cgit/qt/qtbase.git/tree/cmake/QtPublicSbomHelpers.cmake</text> Created: 2024-09-19T11:07:23Z ExternalDocumentRef: DocumentRef-qtbase https://qt.io/spdxdocs/qtbase-6.8.0 SHA1: 3dbc51259a07d458524a976da2e9607a76fab7e7 PackageName: NetworkAuth SPDXID: SPDXRef-Package-qtnetworkauth-qt-module-NetworkAuth PackageDownloadLocation: git://code.qt.io/qt/qtnetworkauth.git PackageVersion: 6.8.0 PackageSupplier: Organization: TheQtCompany PackageLicenseConcluded: LicenseRef-Qt-Commercial OR GPL-3.0-only PackageLicenseDeclared: LicenseRef-Qt-Commercial OR GPL-3.0-only ExternalRef: PACKAGE-MANAGER purl pkg:github/qt/qtnetworkauth?library_name=NetworkAuth#src/oauth ExternalRef: PACKAGE-MANAGER purl pkg:generic/TheQtCompany/qtnetworkauth-NetworkAuth?vcs_url=https://code.qt.io/qt/qtnetworkauth.git&library_name=NetworkAuth#src/oauth FilesAnalyzed: true PackageCopyrightText: <text>Copyright (C) 2024 The Qt Company Ltd.</text> PrimaryPackagePurpose: LIBRARY ExternalRef: SECURITY cpe23Type cpe:2.3:a:qt:qtnetworkauth:6.8.0:*:*:*:*:*:*:* ExternalRef: SECURITY cpe23Type cpe:2.3:a:qt:qt:6.8.0:*:*:*:*:*:*:* Relationship: SPDXRef-Package-qtnetworkauth-qt-module-NetworkAuth DEPENDS_ON DocumentRef-qtbase:SPDXRef-Package-qtbase-qt-module-Core Relationship: SPDXRef-Package-qtnetworkauth-qt-module-NetworkAuth DEPENDS_ON DocumentRef-qtbase:SPDXRef-Package-qtbase-qt-module-PlatformModuleInternal Relationship: SPDXRef-Package-qtnetworkauth-qt-module-NetworkAuth DEPENDS_ON DocumentRef-qtbase:SPDXRef-Package-qtbase-qt-module-Gui Relationship: SPDXRef-Package-qtnetworkauth-qt-module-NetworkAuth DEPENDS_ON DocumentRef-qtbase:SPDXRef-Package-qtbase-qt-module-Network Relationship: SPDXRef-Package-qtnetworkauth CONTAINS SPDXRef-Package-qtnetworkauth-qt-module-NetworkAuth
관련 주제
- SPDX 2.3
- Qt 위키 - SBOM - Qt 소스에서 SBOM 문서 생성하기
- Qt에서 사용되는 타사 코드
© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.