Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
54 changes: 27 additions & 27 deletions grype/presenter/explain/test-fixtures/chainguard-ruby-test.json
Original file line number Diff line number Diff line change
Expand Up @@ -104,21 +104,21 @@
"PSF-2.0"
],
"cpes": [
"cpe:2.3:a:ruby-lang:ruby-3.0:3.0.4-r1:*:*:*:*:*:*:*",
"cpe:2.3:a:ruby-lang:ruby_3.0:3.0.4-r1:*:*:*:*:*:*:*",
"cpe:2.3:a:ruby_lang:ruby-3.0:3.0.4-r1:*:*:*:*:*:*:*",
"cpe:2.3:a:ruby_lang:ruby_3.0:3.0.4-r1:*:*:*:*:*:*:*",
"cpe:2.3:a:ruby-3.0:ruby-3.0:3.0.4-r1:*:*:*:*:*:*:*",
"cpe:2.3:a:ruby-3.0:ruby_3.0:3.0.4-r1:*:*:*:*:*:*:*",
"cpe:2.3:a:ruby_3.0:ruby-3.0:3.0.4-r1:*:*:*:*:*:*:*",
"cpe:2.3:a:ruby_3.0:ruby_3.0:3.0.4-r1:*:*:*:*:*:*:*",
"cpe:2.3:a:ruby-lang:ruby:3.0.4-r1:*:*:*:*:*:*:*",
"cpe:2.3:a:ruby_lang:ruby:3.0.4-r1:*:*:*:*:*:*:*",
"cpe:2.3:a:ruby-3.0:ruby:3.0.4-r1:*:*:*:*:*:*:*",
"cpe:2.3:a:ruby:ruby-3.0:3.0.4-r1:*:*:*:*:*:*:*",
"cpe:2.3:a:ruby:ruby_3.0:3.0.4-r1:*:*:*:*:*:*:*",
"cpe:2.3:a:ruby_3.0:ruby:3.0.4-r1:*:*:*:*:*:*:*",
"cpe:2.3:a:ruby:ruby:3.0.4-r1:*:*:*:*:*:*:*"
{"cpe": "cpe:2.3:a:ruby-lang:ruby-3.0:3.0.4-r1:*:*:*:*:*:*:*", "source": "syft-generated"},
{"cpe": "cpe:2.3:a:ruby-lang:ruby_3.0:3.0.4-r1:*:*:*:*:*:*:*", "source": "syft-generated"},
{"cpe": "cpe:2.3:a:ruby_lang:ruby-3.0:3.0.4-r1:*:*:*:*:*:*:*", "source": "syft-generated"},
{"cpe": "cpe:2.3:a:ruby_lang:ruby_3.0:3.0.4-r1:*:*:*:*:*:*:*", "source": "syft-generated"},
{"cpe": "cpe:2.3:a:ruby-3.0:ruby-3.0:3.0.4-r1:*:*:*:*:*:*:*", "source": "syft-generated"},
{"cpe": "cpe:2.3:a:ruby-3.0:ruby_3.0:3.0.4-r1:*:*:*:*:*:*:*", "source": "syft-generated"},
{"cpe": "cpe:2.3:a:ruby_3.0:ruby-3.0:3.0.4-r1:*:*:*:*:*:*:*", "source": "syft-generated"},
{"cpe": "cpe:2.3:a:ruby_3.0:ruby_3.0:3.0.4-r1:*:*:*:*:*:*:*", "source": "syft-generated"},
{"cpe": "cpe:2.3:a:ruby-lang:ruby:3.0.4-r1:*:*:*:*:*:*:*", "source": "syft-generated"},
{"cpe": "cpe:2.3:a:ruby_lang:ruby:3.0.4-r1:*:*:*:*:*:*:*", "source": "syft-generated"},
{"cpe": "cpe:2.3:a:ruby-3.0:ruby:3.0.4-r1:*:*:*:*:*:*:*", "source": "syft-generated"},
{"cpe": "cpe:2.3:a:ruby:ruby-3.0:3.0.4-r1:*:*:*:*:*:*:*", "source": "syft-generated"},
{"cpe": "cpe:2.3:a:ruby:ruby_3.0:3.0.4-r1:*:*:*:*:*:*:*", "source": "syft-generated"},
{"cpe": "cpe:2.3:a:ruby_3.0:ruby:3.0.4-r1:*:*:*:*:*:*:*", "source": "syft-generated"},
{"cpe": "cpe:2.3:a:ruby:ruby:3.0.4-r1:*:*:*:*:*:*:*", "source": "syft-generated"}
],
"purl": "pkg:apk/wolfi/[email protected]?arch=aarch64&distro=wolfi-20221118",
"upstreams": [
Expand Down Expand Up @@ -200,12 +200,12 @@
"BSD-2-Clause"
],
"cpes": [
"cpe:2.3:a:akira-yamada:uri:0.10.1:*:*:*:*:*:*:*",
"cpe:2.3:a:akira_yamada:uri:0.10.1:*:*:*:*:*:*:*",
"cpe:2.3:a:ruby-lang:uri:0.10.1:*:*:*:*:*:*:*",
"cpe:2.3:a:ruby_lang:uri:0.10.1:*:*:*:*:*:*:*",
"cpe:2.3:a:ruby:uri:0.10.1:*:*:*:*:*:*:*",
"cpe:2.3:a:uri:uri:0.10.1:*:*:*:*:*:*:*"
{"cpe": "cpe:2.3:a:akira-yamada:uri:0.10.1:*:*:*:*:*:*:*", "source": "syft-generated"},
{"cpe": "cpe:2.3:a:akira_yamada:uri:0.10.1:*:*:*:*:*:*:*", "source": "syft-generated"},
{"cpe": "cpe:2.3:a:ruby-lang:uri:0.10.1:*:*:*:*:*:*:*", "source": "syft-generated"},
{"cpe": "cpe:2.3:a:ruby_lang:uri:0.10.1:*:*:*:*:*:*:*", "source": "syft-generated"},
{"cpe": "cpe:2.3:a:ruby:uri:0.10.1:*:*:*:*:*:*:*", "source": "syft-generated"},
{"cpe": "cpe:2.3:a:uri:uri:0.10.1:*:*:*:*:*:*:*", "source": "syft-generated"}
],
"purl": "pkg:gem/[email protected]",
"upstreams": []
Expand Down Expand Up @@ -291,12 +291,12 @@
"BSD-2-Clause"
],
"cpes": [
"cpe:2.3:a:akira-yamada:uri:0.10.1:*:*:*:*:*:*:*",
"cpe:2.3:a:akira_yamada:uri:0.10.1:*:*:*:*:*:*:*",
"cpe:2.3:a:ruby-lang:uri:0.10.1:*:*:*:*:*:*:*",
"cpe:2.3:a:ruby_lang:uri:0.10.1:*:*:*:*:*:*:*",
"cpe:2.3:a:ruby:uri:0.10.1:*:*:*:*:*:*:*",
"cpe:2.3:a:uri:uri:0.10.1:*:*:*:*:*:*:*"
{"cpe": "cpe:2.3:a:akira-yamada:uri:0.10.1:*:*:*:*:*:*:*", "source": "syft-generated"},
{"cpe": "cpe:2.3:a:akira_yamada:uri:0.10.1:*:*:*:*:*:*:*", "source": "syft-generated"},
{"cpe": "cpe:2.3:a:ruby-lang:uri:0.10.1:*:*:*:*:*:*:*", "source": "syft-generated"},
{"cpe": "cpe:2.3:a:ruby_lang:uri:0.10.1:*:*:*:*:*:*:*", "source": "syft-generated"},
{"cpe": "cpe:2.3:a:ruby:uri:0.10.1:*:*:*:*:*:*:*", "source": "syft-generated"},
{"cpe": "cpe:2.3:a:uri:uri:0.10.1:*:*:*:*:*:*:*", "source": "syft-generated"}
],
"purl": "pkg:gem/[email protected]",
"upstreams": []
Expand Down
4 changes: 2 additions & 2 deletions grype/presenter/explain/test-fixtures/ghsa-test.json
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,7 @@
"language": "java",
"licenses": [],
"cpes": [
"cpe:2.3:a:apache:httpclient:4.1.1:*:*:*:*:*:*:*"
{"cpe": "cpe:2.3:a:apache:httpclient:4.1.1:*:*:*:*:*:*:*", "source": "syft-generated"}
],
"purl": "pkg:maven/org.apache.httpcomponents/[email protected]",
"upstreams": [],
Expand Down Expand Up @@ -245,7 +245,7 @@
"language": "java",
"licenses": [],
"cpes": [
"cpe:2.3:a:apache:httpclient:4.1.1:*:*:*:*:*:*:*"
{"cpe": "cpe:2.3:a:apache:httpclient:4.1.1:*:*:*:*:*:*:*", "source": "syft-generated"}
],
"purl": "pkg:maven/org.apache.httpcomponents/[email protected]",
"upstreams": [],
Expand Down
80 changes: 40 additions & 40 deletions grype/presenter/explain/test-fixtures/keycloak-test.json
Original file line number Diff line number Diff line change
Expand Up @@ -94,8 +94,8 @@
"MPLv2.0"
],
"cpes": [
"cpe:2.3:a:redhat:nspr:4.34.0-17.el9_1:*:*:*:*:*:*:*",
"cpe:2.3:a:nspr:nspr:4.34.0-17.el9_1:*:*:*:*:*:*:*"
{"cpe": "cpe:2.3:a:redhat:nspr:4.34.0-17.el9_1:*:*:*:*:*:*:*", "source": "syft-generated"},
{"cpe": "cpe:2.3:a:nspr:nspr:4.34.0-17.el9_1:*:*:*:*:*:*:*", "source": "syft-generated"}
],
"purl": "pkg:rpm/rhel/[email protected]_1?arch=x86_64&upstream=nss-3.79.0-17.el9_1.src.rpm&distro=rhel-9.1",
"upstreams": [
Expand Down Expand Up @@ -206,8 +206,8 @@
"MPLv2.0"
],
"cpes": [
"cpe:2.3:a:redhat:nss:3.79.0-17.el9_1:*:*:*:*:*:*:*",
"cpe:2.3:a:nss:nss:3.79.0-17.el9_1:*:*:*:*:*:*:*"
{"cpe":" cpe:2.3:a:redhat:nss:3.79.0-17.el9_1:*:*:*:*:*:*:*", "source": "syft-generated"},
{"cpe": "cpe:2.3:a:nss:nss:3.79.0-17.el9_1:*:*:*:*:*:*:*", "source": "syft-generated"}
],
"purl": "pkg:rpm/rhel/[email protected]_1?arch=x86_64&upstream=nss-3.79.0-17.el9_1.src.rpm&distro=rhel-9.1",
"upstreams": [],
Expand Down Expand Up @@ -313,14 +313,14 @@
"MPLv2.0"
],
"cpes": [
"cpe:2.3:a:nss-softokn:nss-softokn:3.79.0-17.el9_1:*:*:*:*:*:*:*",
"cpe:2.3:a:nss-softokn:nss_softokn:3.79.0-17.el9_1:*:*:*:*:*:*:*",
"cpe:2.3:a:nss_softokn:nss-softokn:3.79.0-17.el9_1:*:*:*:*:*:*:*",
"cpe:2.3:a:nss_softokn:nss_softokn:3.79.0-17.el9_1:*:*:*:*:*:*:*",
"cpe:2.3:a:redhat:nss-softokn:3.79.0-17.el9_1:*:*:*:*:*:*:*",
"cpe:2.3:a:redhat:nss_softokn:3.79.0-17.el9_1:*:*:*:*:*:*:*",
"cpe:2.3:a:nss:nss-softokn:3.79.0-17.el9_1:*:*:*:*:*:*:*",
"cpe:2.3:a:nss:nss_softokn:3.79.0-17.el9_1:*:*:*:*:*:*:*"
{"cpe":"cpe:2.3:a:nss-softokn:nss-softokn:3.79.0-17.el9_1:*:*:*:*:*:*:*", "source": "syft-generated"},
{"cpe":"cpe:2.3:a:nss-softokn:nss_softokn:3.79.0-17.el9_1:*:*:*:*:*:*:*","source": "syft-generated"},
{"cpe":"cpe:2.3:a:nss_softokn:nss-softokn:3.79.0-17.el9_1:*:*:*:*:*:*:*","source": "syft-generated"},
{"cpe":"cpe:2.3:a:nss_softokn:nss_softokn:3.79.0-17.el9_1:*:*:*:*:*:*:*","source": "syft-generated"},
{"cpe":"cpe:2.3:a:redhat:nss-softokn:3.79.0-17.el9_1:*:*:*:*:*:*:*","source": "syft-generated"},
{"cpe":"cpe:2.3:a:redhat:nss_softokn:3.79.0-17.el9_1:*:*:*:*:*:*:*","source": "syft-generated"},
{"cpe":"cpe:2.3:a:nss:nss-softokn:3.79.0-17.el9_1:*:*:*:*:*:*:*","source": "syft-generated"},
{"cpe":"cpe:2.3:a:nss:nss_softokn:3.79.0-17.el9_1:*:*:*:*:*:*:*","source": "syft-generated"}
],
"purl": "pkg:rpm/rhel/[email protected]_1?arch=x86_64&upstream=nss-3.79.0-17.el9_1.src.rpm&distro=rhel-9.1",
"upstreams": [
Expand Down Expand Up @@ -431,18 +431,18 @@
"MPLv2.0"
],
"cpes": [
"cpe:2.3:a:nss-softokn-freebl:nss-softokn-freebl:3.79.0-17.el9_1:*:*:*:*:*:*:*",
"cpe:2.3:a:nss-softokn-freebl:nss_softokn_freebl:3.79.0-17.el9_1:*:*:*:*:*:*:*",
"cpe:2.3:a:nss_softokn_freebl:nss-softokn-freebl:3.79.0-17.el9_1:*:*:*:*:*:*:*",
"cpe:2.3:a:nss_softokn_freebl:nss_softokn_freebl:3.79.0-17.el9_1:*:*:*:*:*:*:*",
"cpe:2.3:a:nss-softokn:nss-softokn-freebl:3.79.0-17.el9_1:*:*:*:*:*:*:*",
"cpe:2.3:a:nss-softokn:nss_softokn_freebl:3.79.0-17.el9_1:*:*:*:*:*:*:*",
"cpe:2.3:a:nss_softokn:nss-softokn-freebl:3.79.0-17.el9_1:*:*:*:*:*:*:*",
"cpe:2.3:a:nss_softokn:nss_softokn_freebl:3.79.0-17.el9_1:*:*:*:*:*:*:*",
"cpe:2.3:a:redhat:nss-softokn-freebl:3.79.0-17.el9_1:*:*:*:*:*:*:*",
"cpe:2.3:a:redhat:nss_softokn_freebl:3.79.0-17.el9_1:*:*:*:*:*:*:*",
"cpe:2.3:a:nss:nss-softokn-freebl:3.79.0-17.el9_1:*:*:*:*:*:*:*",
"cpe:2.3:a:nss:nss_softokn_freebl:3.79.0-17.el9_1:*:*:*:*:*:*:*"
{"cpe":"cpe:2.3:a:nss-softokn-freebl:nss-softokn-freebl:3.79.0-17.el9_1:*:*:*:*:*:*:*", "source": "syft-generated"},
{"cpe":"cpe:2.3:a:nss-softokn-freebl:nss_softokn_freebl:3.79.0-17.el9_1:*:*:*:*:*:*:*","source": "syft-generated"},
{"cpe":"cpe:2.3:a:nss_softokn_freebl:nss-softokn-freebl:3.79.0-17.el9_1:*:*:*:*:*:*:*","source": "syft-generated"},
{"cpe":"cpe:2.3:a:nss_softokn_freebl:nss_softokn_freebl:3.79.0-17.el9_1:*:*:*:*:*:*:*","source": "syft-generated"},
{"cpe":"cpe:2.3:a:nss-softokn:nss-softokn-freebl:3.79.0-17.el9_1:*:*:*:*:*:*:*","source": "syft-generated"},
{"cpe":"cpe:2.3:a:nss-softokn:nss_softokn_freebl:3.79.0-17.el9_1:*:*:*:*:*:*:*","source": "syft-generated"},
{"cpe":"cpe:2.3:a:nss_softokn:nss-softokn-freebl:3.79.0-17.el9_1:*:*:*:*:*:*:*","source": "syft-generated"},
{"cpe":"cpe:2.3:a:nss_softokn:nss_softokn_freebl:3.79.0-17.el9_1:*:*:*:*:*:*:*","source": "syft-generated"},
{"cpe":"cpe:2.3:a:redhat:nss-softokn-freebl:3.79.0-17.el9_1:*:*:*:*:*:*:*","source": "syft-generated"},
{"cpe":"cpe:2.3:a:redhat:nss_softokn_freebl:3.79.0-17.el9_1:*:*:*:*:*:*:*","source": "syft-generated"},
{"cpe":"cpe:2.3:a:nss:nss-softokn-freebl:3.79.0-17.el9_1:*:*:*:*:*:*:*","source": "syft-generated"},
{"cpe":"cpe:2.3:a:nss:nss_softokn_freebl:3.79.0-17.el9_1:*:*:*:*:*:*:*","source": "syft-generated"}
],
"purl": "pkg:rpm/rhel/[email protected]_1?arch=x86_64&upstream=nss-3.79.0-17.el9_1.src.rpm&distro=rhel-9.1",
"upstreams": [
Expand Down Expand Up @@ -553,14 +553,14 @@
"MPLv2.0"
],
"cpes": [
"cpe:2.3:a:nss-sysinit:nss-sysinit:3.79.0-17.el9_1:*:*:*:*:*:*:*",
"cpe:2.3:a:nss-sysinit:nss_sysinit:3.79.0-17.el9_1:*:*:*:*:*:*:*",
"cpe:2.3:a:nss_sysinit:nss-sysinit:3.79.0-17.el9_1:*:*:*:*:*:*:*",
"cpe:2.3:a:nss_sysinit:nss_sysinit:3.79.0-17.el9_1:*:*:*:*:*:*:*",
"cpe:2.3:a:redhat:nss-sysinit:3.79.0-17.el9_1:*:*:*:*:*:*:*",
"cpe:2.3:a:redhat:nss_sysinit:3.79.0-17.el9_1:*:*:*:*:*:*:*",
"cpe:2.3:a:nss:nss-sysinit:3.79.0-17.el9_1:*:*:*:*:*:*:*",
"cpe:2.3:a:nss:nss_sysinit:3.79.0-17.el9_1:*:*:*:*:*:*:*"
{"cpe":"cpe:2.3:a:nss-sysinit:nss-sysinit:3.79.0-17.el9_1:*:*:*:*:*:*:*", "source": "syft-generated"},
{"cpe":"cpe:2.3:a:nss-sysinit:nss_sysinit:3.79.0-17.el9_1:*:*:*:*:*:*:*","source": "syft-generated"},
{"cpe":"cpe:2.3:a:nss_sysinit:nss-sysinit:3.79.0-17.el9_1:*:*:*:*:*:*:*","source": "syft-generated"},
{"cpe":"cpe:2.3:a:nss_sysinit:nss_sysinit:3.79.0-17.el9_1:*:*:*:*:*:*:*","source": "syft-generated"},
{"cpe":"cpe:2.3:a:redhat:nss-sysinit:3.79.0-17.el9_1:*:*:*:*:*:*:*","source": "syft-generated"},
{"cpe":"cpe:2.3:a:redhat:nss_sysinit:3.79.0-17.el9_1:*:*:*:*:*:*:*","source": "syft-generated"},
{"cpe":"cpe:2.3:a:nss:nss-sysinit:3.79.0-17.el9_1:*:*:*:*:*:*:*","source": "syft-generated"},
{"cpe":"cpe:2.3:a:nss:nss_sysinit:3.79.0-17.el9_1:*:*:*:*:*:*:*","source": "syft-generated"}
],
"purl": "pkg:rpm/rhel/[email protected]_1?arch=x86_64&upstream=nss-3.79.0-17.el9_1.src.rpm&distro=rhel-9.1",
"upstreams": [
Expand Down Expand Up @@ -671,14 +671,14 @@
"MPLv2.0"
],
"cpes": [
"cpe:2.3:a:nss-util:nss-util:3.79.0-17.el9_1:*:*:*:*:*:*:*",
"cpe:2.3:a:nss-util:nss_util:3.79.0-17.el9_1:*:*:*:*:*:*:*",
"cpe:2.3:a:nss_util:nss-util:3.79.0-17.el9_1:*:*:*:*:*:*:*",
"cpe:2.3:a:nss_util:nss_util:3.79.0-17.el9_1:*:*:*:*:*:*:*",
"cpe:2.3:a:redhat:nss-util:3.79.0-17.el9_1:*:*:*:*:*:*:*",
"cpe:2.3:a:redhat:nss_util:3.79.0-17.el9_1:*:*:*:*:*:*:*",
"cpe:2.3:a:nss:nss-util:3.79.0-17.el9_1:*:*:*:*:*:*:*",
"cpe:2.3:a:nss:nss_util:3.79.0-17.el9_1:*:*:*:*:*:*:*"
{"cpe": "cpe:2.3:a:nss-util:nss-util:3.79.0-17.el9_1:*:*:*:*:*:*:*","source": "syft-generated"},
{"cpe": "cpe:2.3:a:nss-util:nss_util:3.79.0-17.el9_1:*:*:*:*:*:*:*","source": "syft-generated"},
{"cpe": "cpe:2.3:a:nss_util:nss-util:3.79.0-17.el9_1:*:*:*:*:*:*:*","source": "syft-generated"},
{"cpe": "cpe:2.3:a:nss_util:nss_util:3.79.0-17.el9_1:*:*:*:*:*:*:*","source": "syft-generated"},
{"cpe": "cpe:2.3:a:redhat:nss-util:3.79.0-17.el9_1:*:*:*:*:*:*:*","source": "syft-generated"},
{"cpe": "cpe:2.3:a:redhat:nss_util:3.79.0-17.el9_1:*:*:*:*:*:*:*","source": "syft-generated"},
{"cpe": "cpe:2.3:a:nss:nss-util:3.79.0-17.el9_1:*:*:*:*:*:*:*","source": "syft-generated"},
{"cpe": "cpe:2.3:a:nss:nss_util:3.79.0-17.el9_1:*:*:*:*:*:*:*","source": "syft-generated"}
],
"purl": "pkg:rpm/rhel/[email protected]_1?arch=x86_64&upstream=nss-3.79.0-17.el9_1.src.rpm&distro=rhel-9.1",
"upstreams": [
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,10 @@
"language": "",
"licenses": [],
"cpes": [
"cpe:2.3:a:anchore\\:oss:anchore\\/engine:0.9.2:*:*:en:*:*:*:*"
{
"cpe": "cpe:2.3:a:anchore\\:oss:anchore\\/engine:0.9.2:*:*:en:*:*:*:*",
"source": ""
}
],
"purl": "",
"upstreams": [],
Expand Down Expand Up @@ -150,7 +153,10 @@
"MIT"
],
"cpes": [
"cpe:2.3:a:anchore:engine:2.2.2:*:*:en:*:*:*:*"
{
"cpe": "cpe:2.3:a:anchore:engine:2.2.2:*:*:en:*:*:*:*",
"source": ""
}
],
"purl": "pkg:deb/[email protected]",
"upstreams": []
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,10 @@
"language": "",
"licenses": [],
"cpes": [
"cpe:2.3:a:anchore\\:oss:anchore\\/engine:0.9.2:*:*:en:*:*:*:*"
{
"cpe": "cpe:2.3:a:anchore\\:oss:anchore\\/engine:0.9.2:*:*:en:*:*:*:*",
"source": ""
}
],
"purl": "",
"upstreams": [],
Expand Down Expand Up @@ -150,7 +153,10 @@
"MIT"
],
"cpes": [
"cpe:2.3:a:anchore:engine:2.2.2:*:*:en:*:*:*:*"
{
"cpe": "cpe:2.3:a:anchore:engine:2.2.2:*:*:en:*:*:*:*",
"source": ""
}
],
"purl": "pkg:deb/[email protected]",
"upstreams": []
Expand Down
11 changes: 8 additions & 3 deletions grype/presenter/models/package.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,11 @@ import (
syftPkg "github.com/anchore/syft/syft/pkg"
)

type CPE struct {
CPE string `json:"cpe"`
Source string `json:"source"`
}

// Package is meant to be only the fields that are needed when displaying a single pkg.Package object for the JSON presenter.
type Package struct {
ID string `json:"id"`
Expand All @@ -16,7 +21,7 @@ type Package struct {
Locations file.Locations `json:"locations"`
Language syftPkg.Language `json:"language"`
Licenses []string `json:"licenses"`
CPEs []string `json:"cpes"`
CPEs []CPE `json:"cpes"`
PURL string `json:"purl"`
Upstreams []UpstreamPackage `json:"upstreams"`
MetadataType string `json:"metadataType,omitempty"`
Expand All @@ -29,10 +34,10 @@ type UpstreamPackage struct {
}

func newPackage(p pkg.Package) Package {
var cpes = make([]string, 0)
var cpes = make([]CPE, 0)
for _, c := range p.CPEs {
// use .String() to ensure proper escaping
cpes = append(cpes, c.Attributes.String())
cpes = append(cpes, CPE{c.Attributes.String(), c.Source.String()})
}

licenses := p.Licenses
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@ Identified distro as centos version 8.0.
Vulnerability: CVE-1999-0001
Severity: Low
Package: package-1 version 1.1.1 (rpm)
CPEs: ["cpe:2.3:a:anchore\\:oss:anchore\\/engine:0.9.2:*:*:en:*:*:*:*"]
CPEs: [{"cpe":"cpe:2.3:a:anchore\\:oss:anchore\\/engine:0.9.2:*:*:en:*:*:*:*","source":""}]
Matched by: dpkg-matcher
Vulnerability: CVE-1999-0002
Severity: Critical
Package: package-2 version 2.2.2 (deb)
CPEs: ["cpe:2.3:a:anchore:engine:2.2.2:*:*:en:*:*:*:*"]
CPEs: [{"cpe":"cpe:2.3:a:anchore:engine:2.2.2:*:*:en:*:*:*:*","source":""}]
Matched by: dpkg-matcher

Loading