File tree Expand file tree Collapse file tree 4 files changed +18
-0
lines changed
Expand file tree Collapse file tree 4 files changed +18
-0
lines changed Original file line number Diff line number Diff line change @@ -155,6 +155,7 @@ type VulnerabilityItem struct {
155155 Pkg string `json:"package"`
156156 Version string `json:"version"`
157157 Status string `json:"status,omitempty"`
158+ PURL string `json:"purl,omitempty"`
158159 FixVersion string `json:"fix_version,omitempty"`
159160 Severity Severity `json:"severity"`
160161 Description string `json:"description"`
Original file line number Diff line number Diff line change @@ -71,6 +71,7 @@ func (t *transformer) transformVulnerabilities(source []trivy.Vulnerability) []h
7171 Pkg : v .PkgName ,
7272 Version : v .InstalledVersion ,
7373 Status : v .Status ,
74+ PURL : t .toPURL (v .PkgIdentifier ),
7475 FixVersion : v .FixedVersion ,
7576 Severity : t .toHarborSeverity (v .Severity ),
7677 Description : v .Description ,
@@ -111,6 +112,13 @@ func (t *transformer) toHarborLayer(tLayer *trivy.Layer) (hLayer *harbor.Layer)
111112 return
112113}
113114
115+ func (t * transformer ) toPURL (pkgIdentifier * trivy.PkgIdentifier ) string {
116+ if pkgIdentifier == nil {
117+ return ""
118+ }
119+ return pkgIdentifier .PURL
120+ }
121+
114122func (t * transformer ) toHarborSeverity (severity string ) harbor.Severity {
115123 harborSev , ok := trivyToHarborSeverityMap [severity ]
116124 if ! ok {
Original file line number Diff line number Diff line change @@ -43,6 +43,9 @@ func TestTransformer_Transform(t *testing.T) {
4343 {
4444 VulnerabilityID : "CVE-0000-0001" ,
4545 PkgName : "PKG-01" ,
46+ PkgIdentifier : & trivy.PkgIdentifier {
47+ PURL : "pkg:deb/debian/pkg-01@1.0.0?arch=amd64&distro=debian-12" ,
48+ },
4649 InstalledVersion : "PKG-01-VER" ,
4750 FixedVersion : "PKG-01-FIX-VER" ,
4851 Status : "fixed" ,
@@ -149,6 +152,7 @@ func TestTransformer_Transform(t *testing.T) {
149152 Pkg : "PKG-01" ,
150153 Version : "PKG-01-VER" ,
151154 Status : "fixed" ,
155+ PURL : "pkg:deb/debian/pkg-01@1.0.0?arch=amd64&distro=debian-12" ,
152156 FixVersion : "PKG-01-FIX-VER" ,
153157 Severity : harbor .SevCritical ,
154158 Description : "CVE-0000-0001.DESC" ,
Original file line number Diff line number Diff line change @@ -32,6 +32,10 @@ type Layer struct {
3232 DiffID string `json:"DiffID"`
3333}
3434
35+ type PkgIdentifier struct {
36+ PURL string `json:"PURL"`
37+ }
38+
3539type CVSSInfo struct {
3640 V2Vector string `json:"V2Vector,omitempty"`
3741 V3Vector string `json:"V3Vector,omitempty"`
@@ -47,6 +51,7 @@ type Report struct {
4751type Vulnerability struct {
4852 VulnerabilityID string `json:"VulnerabilityID"`
4953 PkgName string `json:"PkgName"`
54+ PkgIdentifier * PkgIdentifier `json:"PkgIdentifier"`
5055 InstalledVersion string `json:"InstalledVersion"`
5156 Status string `json:"Status"`
5257 FixedVersion string `json:"FixedVersion"`
You can’t perform that action at this time.
0 commit comments