@@ -345,7 +345,7 @@ func toPackage(component cdx.Component) (bool, ftypes.TargetType, *ftypes.Packag
345
345
pkg := p .Package ()
346
346
// Trivy's marshall loses case-sensitivity in PURL used in SBOM for packages (Go, Npm, PyPI),
347
347
// so we have to use an original package name
348
- pkg .Name = getPackageName (p .Type , component )
348
+ pkg .Name = getPackageName (p .Type , pkg . Name , component )
349
349
pkg .Ref = component .BOMRef
350
350
351
351
for _ , license := range lo .FromPtr (component .Licenses ) {
@@ -407,10 +407,15 @@ func toTrivyCdxComponent(component cdx.Component) ftypes.Component {
407
407
}
408
408
}
409
409
410
- func getPackageName (typ string , component cdx.Component ) string {
411
- // Jar uses `Group` field for `GroupID`
412
- if typ == packageurl .TypeMaven && component .Group != "" {
413
- return fmt .Sprintf ("%s:%s" , component .Group , component .Name )
410
+ func getPackageName (typ , pkgNameFromPurl string , component cdx.Component ) string {
411
+ if typ == packageurl .TypeMaven {
412
+ // Jar uses `Group` field for `GroupID`
413
+ if component .Group != "" {
414
+ return fmt .Sprintf ("%s:%s" , component .Group , component .Name )
415
+ } else {
416
+ // use name derived from purl if `Group` doesn't exist
417
+ return pkgNameFromPurl
418
+ }
414
419
}
415
420
return component .Name
416
421
}
0 commit comments