Bug 53822 - некорректный purl в отчетах trivy
Summary: некорректный purl в отчетах trivy
Status: NEW
Alias: None
Product: Альт Сервер
Classification: Distributions
Component: Ошибки работы (show other bugs)
Version: 10.4
Hardware: x86 Linux
: P5 normal
Assignee: Evgeny Sinelnikov
QA Contact: qa-p8@altlinux.org
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-04-11 17:47 MSK by Егор
Modified: 2025-04-11 17:47 MSK (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Егор 2025-04-11 17:47:43 MSK
пакет trivy@0.58.0-alt1.x86_64

При формировании отчета в форматах cyclonedx, json указывается некорректный purl.
Воспроизводится только в altlinux.

формат purl в соответствии с purl-spec (https://github.com/package-url/purl-spec):

scheme:type/namespace/name@version?qualifiers#subpath

формат purl для rpm пакетов в соответствии с purl-spec:
pkg:rpm/namespace/name@version?arch={}?distro={}[?epoch={}]

ожидаемый формат purl в alt spserver 10:
pkg:rpm/alt/name@version?arch={}?distro={}[?epoch={}]
pkg:rpm/alt/bash@4.4.23-alt1?arch=noarch?distro={}[?epoch={}]

фактический формат purl в alt spserver 10:
pkg:alt/name@version?arch={}[&epoch={}]
pkg:alt/bash@4.4.23-alt1?arch=noarch

Вероятнее всего, нужно проверить наличие следующих конструкций:

pkg/fanal/types/const.go:
const(
    ...
    Alt  OSType = "alt"
    ...
)
...
var (
    ...
    OSTypes = []OSType{
        Alt
        ...
    }
    ...
)

pkg/purl/purl.go:
func purlType(...) string {
    ...
    case ftypes.RedHat, ftypes.CentOS, ..., {здесь добавить ftypes.Alt}:
        return packageurl.TypeRPM
    ...
}