KAWAHARA-souta / alma-sbom

AlmaLinux OS SBOM data management utility.
GNU General Public License v3.0
0 stars 0 forks source link

epoch=None のときに.nameの表記がおかしくなるかも? #1

Closed KAWAHARA-souta closed 5 months ago

KAWAHARA-souta commented 6 months ago

特定のパッケージとか,あとは特定の時期より前にビルドされたものとかでのみ起こるみたいな状況もありえるかも知れないけど. それからハッシュ値指定でしかチェックしていないのでそこも要確認 そもそも,'None'と表記すべきなのか,なにも表記しないべきなのかもぶっちゃけ微妙.

kernel-5.14.0-162.12.1.el9_1.x86_64.spdx.json

 14     "name": "kernel-None:5.14.0-162.12.1.el9_1",
.....
 20             "annotations": [
 21                 {
 22                     "annotationDate": "2024-01-16T05:14:51Z",
 23                     "annotationType": "OTHER",
 24                     "annotator": "Tool: alma-sbom 0.0.2",
 25                     "comment": "almalinux:package:epoch=None"
 26                 }, 
.....
138             "externalRefs": [
139                 {
140                     "referenceCategory": "SECURITY",
141                     "referenceLocator": "cpe:2.3:a:almalinux:kernel:None\\:5.14.0-162.12.1.el9_1:*:*:*:*:*:*:*",
142                     "referenceType": "cpe23Type"
143                 },
144                 {
145                     "referenceCategory": "PACKAGE_MANAGER",
146                     "referenceLocator": "pkg:rpm/almalinux/kernel@5.14.0-162.12.1.el9_1?arch=x86_64&epoch=None&upstream=ker    nel-5.14.0-162.12.1.el9_1.src.rpm",
147                     "referenceType": "purl"
148                 }
149             ],
150             "filesAnalyzed": false,
151             "name": "kernel",
152             "supplier": "Organization: AlmaLinux OS Foundation (cloud-infra@almalinux.org)",
153             "versionInfo": "None:5.14.0-162.12.1.el9_1"
154         }

ためしにやった以下のパッケージ(ハッシュ値指定)だと起こらない. osbuild-93-1.el9.alma.1_spdx.json

 14     "name": "osbuild-93-1.el9.alma.1",
.....
 20             "annotations": [
 21                 {
 22                     "annotationDate": "2023-12-21T06:15:34Z",
 23                     "annotationType": "OTHER",
 24                     "annotator": "Tool: alma-sbom 0.0.2",
 25                     "comment": "almalinux:package:epoch=None"
 26                 },
138             "externalRefs": [
139                 {
140                     "referenceCategory": "SECURITY",
141                     "referenceLocator": "cpe:2.3:a:almalinux:osbuild:93-1.el9.alma.1:*:*:*:*:*:*:*",
142                     "referenceType": "cpe23Type"
143                 },
144                 {
145                     "referenceCategory": "PACKAGE_MANAGER",
146                     "referenceLocator": "pkg:rpm/almalinux/osbuild@93-1.el9.alma.1?arch=noarch&upstream=osbuild-93-1.el9.al    ma.1.src.rpm",
147                     "referenceType": "purl"
148                 }
149             ],
150             "filesAnalyzed": false,
151             "name": "osbuild",
152             "supplier": "Organization: AlmaLinux OS Foundation (cloud-infra@almalinux.org)",
153             "versionInfo": "93-1.el9.alma.1"
154         }
KAWAHARA-souta commented 5 months ago

調査で分かったこと。

//! 問題が起こらないパッケージ //! 'epoch': None $ python3 get_nevra.py {'sbom_api_ver': '0.2', 'unsigned_hash': 'c6e81490023e33eddce7bf6cd6a149f95dff3543be4dc0de7c032c25fdd38e9e', 'build_id': 7408, 'build_host': 'x64-builder02.almalinux.org', 'build_arch': 'x86_64', 'built_by': 'soksanichenko soksanichenko@almalinux.org', 'alma_commit_sbom_hash': 'a35919e2be57c8bdf22cfc3dee574e83ecb1127e', 'source_type': 'git', 'git_url': 'https://git.almalinux.org/rpms/kernel.git', 'git_ref': 'changed/a8/kernel-4.18.0-477.27.1.el8_8', 'git_commit': 'a35919e2be57c8bdf22cfc3dee574e83ecb1127e', 'name': 'kernel', 'epoch': None, 'version': '4.18.0', 'release': '477.27.1.el8_8', 'arch': 'x86_64', 'sourcerpm': 'kernel-4.18.0-477.27.1.el8_8.src.rpm'}


 - ビルドシステムがデータをimuudbに格納する際に誤って文字列を格納していた可能性
 - 9月の某日を境にして、それ以前のパッケージでは問題が発生し、以後のパッケージでは問題が発生しないようだった
   - 2023/9/12にビルドされたパッケージ( https://build.almalinux.org/build/7326 )では発生する
   - 2023/9/21にビルドされたパッケージ( https://build.almalinux.org/build/7408 )では発生しない
 - この間にビルドシステム側で修正が行われた可能性が大きいが、その事実についてはまだ確認できていない
 - ワークアラウンドを追加するのが良いかも
   - 過去のバグらしい'api_ver'についてもワークアラウンドが入ったままなので受け入れてくれそう
KAWAHARA-souta commented 5 months ago

upstreamですでに修正済み